zoukankan      html  css  js  c++  java
  • Docker 下 Prometheus + Grafana + Exporter 配置

    Prometheus架构图

    Prometheus安装

    安装位置:...
    安装环境:CentOS / docker

    Prometheus

    • 端口:9090
    • 存储目录:/apps/prom
    • 配置文件:/apps/prom/prometheus.yml
    • 作用:核心模块

    Node exporter

    • 端口:9100
    • 存储目录:(无)
    • 配置文件:(无)
    • 作用:收集系统信息的exporter

    Alert manager (暂未启用)

    • 端口:9093、9094
    • 存储目录:/apps/prom/alertmanager
    • 配置文件:/apps/prom/alertmanager/alertmanager.yml
    • 告警配置文件:/apps/prom/alert-rules.yml
    • 作用:告警

    prometheus-webhook-dingtalk(暂未启用)

    • 端口:8060
    • 存储目录:(无)
    • 配置文件:/apps/prom/dingconfig.yml
    • 作用:配合alertmanager,向钉钉发信

    JMeter-Prometheus-Plugin

    • 端口:9877 [内部80]
    • 存储目录:/apps/prom/jmeter
    • 配置文件:(无)
    • 作用:自带jmeter,从存储目录拿取测试文件进行测试,然后将结果反馈至9877端口,待由Prometheus接收

    Grafana

    • 端口:3000
    • 存储目录:/apps/prom/grafana
    • 配置文件:/apps/prom/grafana/grafana.ini
    • 作用:可视化Prometheus结果,内置报警模块,可发邮件、钉钉报警

    Jmeter 监控接口配置

    1. 编写jmeter测试文件
      1. 下载apache-jmeter,添加jmeter-prometheus-plugin库(https://search.maven.org/remotecontent?filepath=com/github/johrstrom/jmeter-prometheus-plugin/0.6.0/jmeter-prometheus-plugin-0.6.0.jar)到lib
      2. 使用jmeter-prometheus-plugin示例文件中的Prometheus Metrics声明监控的id和类型
      3. 写测试计划,配置线程永远循环,添加计时器。在后置处理器BeanShell或断言BeanShell中修改监控的id值
      4. 使用Prometheus Listener声明提交的监控的id
      5. 测试,访问 http://localhost:9270 查看运行结果。
    2. 在docker启动jmeter-prometheus-plugin
      1. docker pull germey/jmeter
      2. 由docker启动jmeter-prometheus-plugin,将外部特定端口(如9877)的映射为内部80端口,将外部存储jmx的目录映射为内部/app,为该container添加启动参数 *.jmx
    3. 为prometheus添加监控对象
      1. 修改prometheus.yml,添加被监控的ip和端口
    4. 在grafana中配置可视化及告警
      1. 配置告警channel,类型dingding,地址oapi,Disable Resolve Message表示当问题被处理后,不报告ok。TEST测试告警渠道是否OK
      2. 添加dashboard
      3. 添加panel
      4. metrics填写在第1步声明的监控的id,查看即时数据
      5. 添加alert - Evaluate every X for Y表示每过 X 开始持续 Y 审查一次数据,如果数据不符条件就告警 - Conditions 告警条件,可选函数,最近的数据值超过或低于或不在什么范围内。可多个条件 和 或

    注意事项

    1. 默认的jmeter不含json包,需要自行下载放入lib
    2. 多个测试可以用一个jmx文件
    3. Disable Resolve Message 不勾选时,grafana会在出错的时候发一次告警,恢复的时候发一次告警。并不会每次检查有问题都发。
  • 相关阅读:
    观察是快速成长的一个牛逼技能
    linux下使用lftp的小结(转)
    关于升级cocos2d-x网络库来支持ipv6、https,以及socket怎么支持ipv6
    cocos2dx支持arm64
    android studio 命令行编译cocos 3.15.1 安卓工程
    认识Android.mk和Application.mk
    mac os x下Android Studio3.0 配置本地 Gradle
    图片转成base64编码
    集成pbc
    6、SpringMVC:结果跳转方式 和 数据提交时的处理
  • 原文地址:https://www.cnblogs.com/pravez/p/14153378.html
Copyright © 2011-2022 走看看