1021 docker prometheus监控体系
jmeter plugin监控的信息很少,只有cpu、内存、网络IO,但这些是不够的。例如对于分析mysql数据库的慢查询、最大连接数等更加细密度的信息。
服务端稳定测试的三个前提:
1.应用级别的自动化测试。针对整个系统进行评测,而不是单独某一个模块,自动化用例要覆盖系统业务场景的80%以上。自动化遍历深度不够,不能覆盖80%以上的业务场景。而且自动化遍历是在一个设备上执行的,其并发数量只有1,而稳定性测试要在一定的压力之下进行的。
2.高可用、灾难恢复的部署架构。 K8S做部署。
3.线上级别的监控体系。 在对整个系统做评测,而且是长时间的,运行时间以周为单位。要对系统进行全方位的测试。仅监控机器的物理性能指标是远远不够的,要从白盒、黑盒、从各个方面去监控不同的指标。在测试报告中详细记录,让研发人员和架构师分析系统瓶颈出现在什么地方。
目前最主流的监控体系之一。生态很丰富,有各种各样的插件可以使用。比如监控mysql的性能指标。
K8S团队已经发布了以普罗米修斯进行监控的版本,可以监控所有K8S中的性能指标,如容器的状态、服务的状态、节点的状态、名称空间的状态。
1.启动普罗米修斯
填写策略、规则。
查看启动的容器和端口号,填入到job_name。
查看IP地址:
global:#抓取策略,15秒抓取1次
scrape_interval: 15s
evaluation_interval: 15s
alerting:#发送邮箱报警
alertmanagers:
- static_configs:
- targets:
- localhost:9093
rule_files:
- rules/*.rules
scrape_configs:#监控应用explore的ip port
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.63.143:9090']
- job_name: 'node_exporter'
static_configs:
- targets: ['192.168.63.143:9100']
- job_name: 'mysql'
static_configs:
- targets: ['192.168.63.143:9104']
docker run --name prometheus -d -p 9090:9090 -v `pwd`/prometheus.yml:/etc/prometheus/prometheus.yml -v `pwd`/rules/:/etc/prometheus/ prom/prometheus --config.file=/etc/prometheus/prometheus.yml
使用浏览器打开127.0.0.1:9090可以访问prometheus,打开target可以查看当前监控的应用
点击URL可以查看监控数据
3
如果发现mysql和node连接失败,需要分别启动explore
1.1.启动MYSQLD-EXEPORTER连接数据库,并将端口修改为9104
docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:123456.@(192.168.63.143:3306)/mysql" prom/mysqld-exporter
1.2.NODE-EXPORTER
需求:监控Linux各种各样的指标,CPU、内存、磁盘IO。
普罗米修斯官方提供了node exporter,mac下载darwin,直接运行即可。下载好node exporter的包后,运行:
./node_exporter
node和mysql都已经连接成功。
2.访问和使用prometheus
graph中输入表达式即可,默认是Console模式,点击Graph可以切换到图形模式。
console模式
Graph模式
node_boot_time:系统启动时间
node_cpu:系统CPU使用量
node_disk_*:磁盘IO
node_filesystem_*:文件系统用量
node_load1:1分钟系统负载 node_load5 5分钟 node_load15 15分钟
node_memeory_*:内存使用量
node_network_*:网络带宽
node_time:当前系统时间
go_*:node exporter中go相关指标
process_*:node exporter自身进程相关运行指标
3.启用GRAFANA
每次通过输入表达式过于麻烦,使用grafana可以将一些表达式存储起来,直接查看结果
docker run --name grafana -d -p 8000:3000 grafana/grafana
http://127.0.0.1:8000,默认用户名/密码:admin/admin,修改密码即可进入grafana。
add data source,填入name,类型为prometheus,填入prometheus容器的地址
添加一个panel
点击修改
general修改名字,metrics填写语句
返回面板即可
4.使用开源共享的模版
开源的共享的mysql监控的模版
添加-import,复制下载的mysql_rev1.json内容
普罗米修斯中文教程:https://github.com/yunlzheng/prometheus-book
1021 docker prometheus监控体系的更多相关文章
- 使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库
一.背景 在平时开发过程当中需要针对 MySQL 数据库进行监控,这里我们可以使用 Grafana 和 Prometheus 来实现监控功能.Grafana 是一款功能强大的仪表盘面板,支持多种数据源 ...
- Prometheus 监控Docker服务器及Granfanna可视化
Prometheus 监控Docker服务器及Granfanna可视化 cAdvisor(Container Advisor)用于收集正在运行的容器资源使用和性能信息. 使用Prometheus监控c ...
- 使用docker方式构建prometheus监控的学习
一.背景:近期学习部署prometheus监控系统,经研究发现prometheus提供docker运行模式.根据我的经验,能够使用docker模式构建系统一定多快好省. 二.环境: 1.centos7 ...
- Prometheus监控Docker Swarm集群(一)
Prometheus监控Docker Swarm集群(一) cAdvisor简介 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advisor),它为 ...
- 使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql
使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql 一.docker部署prometheus监控系统 1.1 配置安装环境 1.1.1 安装promethe ...
- Prometheus监控学习笔记之Prometheus的Relabel,SD以及Federation功能
0x00 k8s 的监控设计 k8s 默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,具体可以看 这里 . 包括 k8s 自 ...
- 在Docker中监控Java应用程序的5个方法
译者注:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.通常情况下,监控的主要目的在于:减少宕机 ...
- Prometheus监控学习笔记之prometheus的federation机制
0x00 概述 有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目.也就是说整个监控系统不 ...
- Prometheus监控学习笔记之全面学习Prometheus
0x00 概述 Prometheus是继Kubernetes后第2个正式加入CNCF基金会的项目,容器和云原生领域事实的监控标准解决方案.在这次分享将从Prometheus的基础说起,学习和了解Pro ...
随机推荐
- UVa 10891 Sum游戏
https://vjudge.net/problem/UVA-10891 题意: 有一个长度为n的整数序列,两个游戏者A和B轮流取数,A先取.每次玩家只能从左端或者右端取任意数量个数,但不能两端都取. ...
- Android res目录结构
所有以drawable开头的文件夹都是用来放图片的 所有以values开头的文件夹都是用来放字符串的 layout 文件夹是用来放布局文件的 menu 文件夹是用来放菜单文件的.之所以有这么多 dra ...
- ResourceNotFound: rosbridge_server
Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking ...
- nginx.conf 配置详解
目录 pid user error_log worker_connections include http server nginx主配置文件中的内容 pid 主线程id的存储位置. # cat /u ...
- thinkphp3.2笔记(3)视图渲染 模板的赋值与显示 系统变量
一 视图 1 视图渲染 渲染模板输出最常用的是使用display方法,调用格式:display('[模板文件]'[,'字符编码'][,'输出类型'])模板文件的写法支持下面几种:用法 描述不带任何 ...
- php多站点配置以及Forbidden You don't have permission to access / on this server问题解决
php多站点配置以及Forbidden You don't have permission to access / on this server问题解决 一.总结 一句话总结:我的问题是php的版本问 ...
- MOBA游戏学会这些知识,你才算真的入门了!
<英魂之刃口袋版>是一个标准的MOBA游戏,MOBA指的是多人在线战术竞技游戏,游戏模式始于1998年<星际争霸>中的一张自定义地图,经过近20年的优化和调整逐渐演变成了我们现 ...
- appium+pytest+allure+jenkins 如何实现多台手机连接
使用appium可以实现app自动化测试,我们之前是连接一台手机去运行,如何同时连接多台手机呢?很多人可能想到的是多线程(threading).今天分享一种比多线程更简单的方法,虽然不是多台手机同时运 ...
- python语言的优缺点
python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂,初学者学Py ...
- SGU 140. Integer Sequences 线性同余,数论 难度:2
140. Integer Sequences time limit per test: 0.25 sec. memory limit per test: 4096 KB A sequence A is ...