• grafana+prometheus+(采集节点)实现监控Linux服务器,JVM,Postgres


    grafana+prometheus实现监控Linux服务器,JVM,Postgres

    1.grafana
    去官网下载windos版本,这里使用的是grafana-enterprise-9.1.6.windows-amd64.zip
    在这里插入图片描述
    解压后双击直接运行
    在浏览器打开grafana的操作页面
    http://localhost:3000/
    默认账户密码admin,admin,第一次登录需要修改密码。

    2.prometheus
    去官网下载windos版本,这里使用的是prometheus-2.37.1.windows-amd64.zip
    在这里插入图片描述
    解压后双击直接运行
    在浏览器打开操作页面
    http://127.0.0.1:9090/

    3.监控Linux服务器
    节点github
    https://github.com/prometheus/node_exporter
    下载node_exporter-1.3.1.linux-amd64.tar.gz
    放到需要监控的linux服务器上解压,运行.\node_exporter
    修改prometheus的配置文件prometheus.yml
    新增如下配置

    scrape_configs:
      - job_name: "linux_192.168.30.38"
        metrics_path: '/metrics'
        static_configs:
          - targets: ["192.168.30.38:9100"]
    

    重启prometheus
    在这里插入图片描述
    显示连接成功
    在grafana操作页面创建数据源
    在这里插入图片描述
    在这里插入图片描述
    填写信息,显示保存成功
    在这里插入图片描述

    导入监控模板
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    已经导入过了。查看监控
    在这里插入图片描述

    4.监控JVM
    节点github
    https://github.com/prometheus/jmx_exporter
    下载采集节点,jmx_prometheus_javaagent-0.17.2.jar
    放到需要监控的java应用程序的服务器上
    配置参考页面
    https://grafana.com/grafana/dashboards/8563-jvm-dashboard/
    同一级目录新增配置文件
    jmx_exporter_config.yaml

    ---   
    lowercaseOutputLabelNames: true
    lowercaseOutputName: true
    whitelistObjectNames: ["java.lang:type=OperatingSystem"]
    blacklistObjectNames: []
    rules:
      - pattern: 'java.lang<>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'
        name: os_$1_bytes
        type: GAUGE
        attrNameSnakeCase: true
      - pattern: 'java.lang<>((?!process_cpu_time)\w+):'
        name: os_$1
        type: GAUGE
        attrNameSnakeCase: true
    

    修改java应用程序的启动命令

    java -javaagent:./jmx_prometheus_javaagent-0.17.2.jar=12345:config.yaml -jar yourJar.jar
    

    启动后修改prometheus的配置文件prometheus.yml
    新增节点配置,这里新增了两个

      - job_name: "jvm_sccmcc_service_192.168.30.38"
        metrics_path: '/metrics'
        static_configs:
          - targets: ["192.168.30.38:12345","192.168.30.38:12346"]
    

    重启prometheus
    在这里插入图片描述
    两个应用连接成功

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.监控Postgres数据库
    gihub页面
    https://github.com/prometheus-community/postgres_exporter
    下载采集节点程序
    postgres_exporter-0.12.0-rc.0.linux-amd64.tar.gz
    解压到监控的服务器上
    配置环境变量

    export DATA_SOURCE_NAME="postgresql://账号:密码@ip:port/postgres?sslmode=disable"
    

    执行

     nohup ./postgres_exporter &
    

    修改prometheus的配置文件prometheus.yml
    新增如下配置

      - job_name: "pg_sccmcc_service_192.168.30.31"
        metrics_path: '/metrics'
        static_configs:
          - targets: ["192.168.30.31:9187"]
    

    重启prometheus
    检查配置是否生效
    在这里插入图片描述
    导入监控模板
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    位操作在编程实践中的最佳应用
    《计算智能》课程报告--python
    openStack核心组件的工作流程
    Greenplum7一键安装
    sql题一(空位连续座位买票)
    Pytorch实用教程:nn.LSTM内部是如何实现的
    前端常用的CDN
    那些年白上了的线代课
    包含漏洞的str_replace函数绕过
    我是如何入门网络安全?有什么自学心得?
  • 原文地址:https://blog.csdn.net/qq_33517844/article/details/127040328