zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    原型设计
    案例分析
    编程作业
    《构建之法》阅读任务
    2021.3.11 准备工作随笔
    课程总结
    第十四周课程总结&实验报告(简单记事本的实现)
    第十三周课程总结
    第十二周
    第十一周课程总结
  • 原文地址:https://www.cnblogs.com/csj2018/p/9907686.html
Copyright © 2011-2022 走看看