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

posted on 2018-11-05 10:20  singleSpace  阅读(1153)  评论(2编辑  收藏  举报