• prometheus + grafana + node_exporter 搭建监控服务


    背景:

            应用上线压力测试需要在测试过程中对 应用服务器,数据库 进行性能监控记录;

    步骤:

    一、被监控机器       

    1.   https://github.com/prometheus-community/windows_exporter/releases/tag/v0.19.0下载对应版本 node_exporter;

    2. 使用如下命令启动;

    1. // windows
    2. D://监控/windows_exporter.exe --log.format logger:eventlog?name=windows_exporter --telemetry.addr :9100
    3. // linux
    4. nohup ./node_exporter &
    5. // 查看端口占用情况
    6. ss -naltp | grep 9100

    3. 访问 9100 端口查看是否启动正常;

    二、监控机器

     ** 此处 prometheus 和 grafana 直接使用Docker部署, 关于更多Docker使用可参见其他帖子 

    1. 在监控机器上安装docker , 关于 windows 机器安装docker 问题可在此查看常见问题及解决办法;

    2. 创建 prometheus 配置文件, 在宿主机目录创建 prometheus.yml;

    1. global:
    2.   scrape_interval:     60s
    3.   evaluation_interval: 60s
    4.  
    5. scrape_configs:
    6.   - job_name: prometheus
    7.     static_configs:
    8.       - targets: ['localhost:9090']
    9.  
    10.   - job_name: local
    11.     static_configs:
    12.       - targets: ['192.168.0.187:9100']

    3. 使用如下命令获取镜像并启动 prometheus, windows 下注意路径;

    1. // windows
    2. docker run -d -p 9090:9090 -v D://监控/prometheus.yml:/etc/prometheus/prometheus.yml bitnami/prometheus
    3. // linux
    4. docker run -d -p 9090:9090 -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml bitnami/prometheus

    4. 访问9090端口检查启动是否成功

    5. 创建 grafana-storage  目录

    6. 使用如下命令获取镜像并启动 prometheus, windows 下注意路径;

    1. // windows
    2. docker run -d -p 3000:3000 --name=grafana -v D://监控/grafana-storage:/var/lib/grafana grafana/grafana
    3. // linux
    4. docker run -d -p 3000:3000 --name=grafana -v /data/grafana-storage:/var/lib/grafana grafana/grafana

    7. 访问3000端口检查启动是否成功

    8. admin /  admin  登录之后重新设置一个密码

    9. 如下图 配置数据源(填写prometheus 的url, 点击save & test )

     10. 导入仪表板, 这里推荐两个, 10467(windows) 、10262(linux)

            更多仪表板 在 https://grafana.com/grafana/dashboards/ 

    成果:

     

     

    常见问题:

    1. dashboard获取不到数据

           ==> 不同平台获取指标的语法不同, 尝试更换仪表板或自己研究制作图表;

           ==> 网络不通, 使用监控机器访问被监控机器的9100端口, 需要能够正常显示,否则检查网络及端口开放情况;

  • 相关阅读:
    让 Visual Studio 用上 ChatGPT
    IOS(刘海/留海/流海)屏幕判断
    三、python Django ORM操作数据库[命令、postgresql操作]
    Flink K8s Operator 如何提交flink SQL
    【1175. 质数排列】
    C语言绘图
    JS逆向实战20——某头条jsvm逆向
    python opencv 深度学习 指纹识别算法实现 计算机竞赛
    养老服务系统设计与实现-计算机毕业设计源码+LW文档
    【Javaweb 1】带你搞懂request,respond,servlet
  • 原文地址:https://blog.csdn.net/byc233518/article/details/126375977