• 二、Prometheus常用exporter安装详解


    一、node_exporter

    1.安装配置

    安装包:https://github.com/prometheus/node_exporter/releases

            Node-exporter 可以采集机器(物理机、虚拟机、云主机)的监控指标数据,能够采集到的指标包括cpu、内存、磁盘、网络、文件数等信息。

    1. ###下载node_exporter包
    2. [root@node ~]#wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
    3. [root@node ~]# tar xvf node_exporter-1.3.1.linux-amd64.tar.gz -C /home/
    4. [root@node ~]# mv /home/node_exporter-1.3.1.linux-amd64 /home/node_exporter
    5. ###创建node_exporter启动文件
    6. [root@node ~]# vi /usr/lib/systemd/system/node_exporter.service
    7. [Unit]
    8. Description=prometheus node_exporter
    9. [Service]
    10. Type=simple
    11. ExecStart=/home/node_exporter/node_exporter
    12. ExecReload=/bin/kill -HUP $MAINPID
    13. KillMode=process
    14. Restart=on-failure
    15. RestartSec=42s
    16. MemoryLimit=300M //内存最大占用300M
    17. CPUQuota=100% //最多占用一个CPU线程
    18. [Install]
    19. WantedBy=multi-user.target
    20. "/usr/lib/systemd/system/node_exporter.service" [New] 15L, 266C written
    21. ####重新加载启动文件目录,并设置开机自启
    22. [root@node ~]# systemctl daemon-reload
    23. [root@node ~]# systemctl start node_exporter
    24. [root@node ~]# systemctl enable node_exporter

    注意:被控节点防火墙需要放通9100端口

    2.节点添加

    1. [root@test node_exporter]# vi /home/prometheus/prometheus.yml 
    2.   - job_name: "node"
    3.     static_configs:
    4.       - targets: ["172.27.30.92:9100","172.27.30.85:9100"]
    5. [root@test node_exporter]# curl -X POST http://172.27.30.94:9090/-/reload

    3.状态查询

    登录Prometheus,在Targets下可查看已监听到的主机

    二、elasticsearch_exporter

    1.安装配置

    安装包:https://github.com/justwatchcom/elasticsearch_exporter/releases

            elasticsearch_exporter可用于 ElasticSearch 的各种指标的 Prometheus 导出器,由 Go 语言编写。导出器在每次抓取时从 ElasticSearch 集群中获取信息,因此抓取间隔太短会给 ES 主节点带来负载。

    1. ###下载elasticsearch包
    2. [root@node ~]#wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.3.0/elasticsearch_exporter-1.3.0.linux-386.tar.gz
    3. [root@node ~]# tar xvf elasticsearch_exporter-1.3.0.linux-386.tar.gz -C /usr/local/
    4. [root@node ~]# cd /usr/local/elasticsearch_exporter-1.3.0.linux-386/
    5. [root@node local]# mv elasticsearch_exporter-1.3.0.linux-386 elasticsearch_exporter
    6. ###创建elasticsearch_exporter启动文件
    7. [root@node ~]# vi /usr/lib/systemd/system/elasticsearch_exporter.service
    8. [[Unit]
    9. Description=prometheus elasticsearch
    10. [Service]
    11. Type=simple
    12. ExecStart=/usr/local/elasticsearch_exporter/elasticsearch_exporter --es.uri http://10.0.134.51:9200
    13. ExecReload=/bin/kill -HUP $MAINPID
    14. KillMode=process
    15. Restart=on-failure
    16. RestartSec=42s
    17. MemoryLimit=300M
    18. CPUQuota=100%
    19. [Install]
    20. WantedBy=multi-user.target
    21. ####重新加载启动文件目录,并设置开机自启
    22. [root@node ~]# systemctl daemon-reload
    23. [root@node ~]# systemctl start elasticsearch_exporter
    24. [root@node ~]# systemctl enable elasticsearch_exporter

    注意:被控节点防火墙需要放通9144端口,
                      "--es.uri http://elasticsearch集群或本机的IP:9200"必填

    2.节点添加

    1. [root@test node_exporter]# vi /home/prometheus/prometheus.yml 
    2.   - job_name: "elasticsearch"
    3.     static_configs:
    4.       - targets: ["172.27.30.92:9100","172.27.30.85:9100"]
    5.       
    6. [root@test node_exporter]# curl -XPORT http://172.27.30.94:9090/-/reload

    3.状态查询

    登录Prometheus,在Targets下可查看已监听到的主机

    三、redis_exporter

    1.安装配置

    安装包:https://github.com/oliver006/redis_exporter/releases

    1. ###下载redis包
    2. [root@node ~]# wget https://github.com/oliver006/redis_exporter/releases/download/v1.43.0/redis_exporter-v1.43.0.linux-amd64.tar.gz
    3. [root@node ~]# tar xvf redis_exporter-v1.43.0.linux-amd64.tar.gz -C /usr/local/
    4. [root@node ~]# cd /usr/local/redis_exporter-v1.43.0.linux-amd64/
    5. [root@node local]# mv redis_exporter-v1.43.0.linux-amd64 redis_exporter
    6. ###创建redis启动文件
    7. [root@node ~]# vi /usr/lib/systemd/system/redis_exporter.service
    8. [Unit]
    9. Description=prometheus redis_exporter
    10. [Service]
    11. Type=simple
    12. ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 127.0.0.1:9001 127.0.0.1:9000
    13. ExecReload=/bin/kill -HUP $MAINPID
    14. KillMode=process
    15. Restart=on-failure
    16. RestartSec=42s
    17. [Install]
    18. WantedBy=multi-user.target
    19. ####重新加载启动文件目录,并设置开机自启
    20. [root@node ~]# systemctl daemon-reload
    21. [root@node ~]# systemctl start redis_exporter
    22. [root@node ~]# systemctl enable redis_exporter

    注意:被控节点防火墙需要放通9121端口,
     手动运行:

    1. [root@node ~]#/usr/local/redis_exporter/redis_exporter -redis.addr 10.9.68.46:6381 -web.listen-address :3389
    2. #-redis.addr: 指定redis服务的ip地址和端口号
    3. #-web.listen-address: 指定当前redis-exporter启动使用的端口信息
    4. #-redis.password: redis服务若是有密码的话,可用此参数指定redis的密码

    2.节点添加

    1. [root@test node_exporter]# vi /home/prometheus/prometheus.yml 
    2.   - job_name: "rides"
    3.     static_configs:
    4.       - targets: ["172.27.30.92:9121","172.27.30.85:9121"]
    5.       
    6. [root@test node_exporter]# curl -XPORT http://172.27.30.94:9090/-/reload

    3.状态查询

    登录Prometheus,在Targets下可查看已监听到的主机
    http://172.27.30.94:9090/targets

    四、rabbitmq_exporter

    1.安装配置

    安装包:https://github.com/kbudde/rabbitmq_exporter/releases
    注意:安装包分两大版本,RC版本使用传统方式安装grafana Dashboards抓取参数不全
        rabbitmq_exporter_1.0.0-RCxx 版本安装包使用9419端口
        rabbitmq_exporter-x.xx.x版本使用9090端口

    1. ###下载rabbitmq_exporter包
    2. [root@node ~]# wget https://github.com/kbudde/rabbitmq_exporter/releases/download/0.29.0./rabbitmq_exporter-0.29.0.linux-amd64.tar.gz
    3. [root@node ~]# mkdir /usr/local/rabbitmq_exporter
    4. [root@node ~]# tar xvf rabbitmq_exporter-0.29.0.linux-amd64.tar.gz -C /usr/local/rabbitmq_exporter/
    5. [root@node ~]# cd /usr/local/rabbitmq_exporter
    6. ###创建rabbitmq_exporter启动文件
    7. [root@node ~]# vi /usr/lib/systemd/system/rabbitmq_exporter.service
    8. [Unit]
    9. Description=prometheus rabbitmq_exporter
    10. [Service]
    11. Type=simple
    12. DefaultEnvironment='RABBIT_USER=rabbitmq RABBIT_PASSWORD=yQqZVRDG OUTPUT_FORMAT=JSON PUBLISH_PORT=9090 RABBIT_URL=http://localhost:15672'
    13. ExecStart=/usr/local/rabbitmq_exporter/rabbitmq_exporter
    14. ExecReload=/bin/kill -HUP $MAINPID
    15. KillMode=process
    16. Restart=on-failure
    17. RestartSec=42s
    18. MemoryLimit=300M
    19. CPUQuota=100%
    20. [Install]
    21. WantedBy=multi-user.target
    22. ####重新加载启动文件目录,并设置开机自启
    23. [root@node ~]# systemctl daemon-reload
    24. [root@node ~]# systemctl start rabbitmq_exporter
    25. [root@node ~]# systemctl enable rabbitmq_exporter

    注意:被控节点防火墙需要放通9419端口

    2.节点添加

    1. [root@test node_exporter]# vi /home/prometheus/prometheus.yml 
    2.   - job_name: "rebbitmq"
    3.     static_configs:
    4.       - targets: ["172.27.30.92:9419","172.27.30.85:9419"]
    5. [root@test node_exporter]# curl -X POST http://172.27.30.94:9090/-/reload

    3.状态查询

    登录Prometheus,在Targets下可查看已监听到的主机
    http://172.27.30.94:9090/targets

    五、kafka_exporter

    1.安装配置

    安装包:https://github.com/danielqsj/kafka_exporter

    kafka集群监控,本示例使用docker-compose安装kafka_exporter,也可参考官方手册使用本地安装包部署安装

    1. [root@node3 ~]# vi /home/ssitg/core-service/docker-compose.yml
    2. version: '3.7'
    3.   kafka:
    4.     image: danielqsj/kafka-exporter:latest
    5.     volumes:
    6.       - /etc/localtime:/etc/localtime
    7.     command: --kafka.server=172.27.30.94:19099  --kafka.server=172.27.30.92:19098  --kafka.server=172.27.30.84:19097
    8.     network_mode: "host"
    9.     ports:
    10.       - "9308:9308"
    11.       
    12. [root@node3 ~]# cd /home/ssitg/core-service/    
    13.  [root@node3 core-service]# docker-compose up kafka

    注意:被控节点防火墙需要放通9308端口

    2.节点添加

    1. [root@test node_exporter]# vi /home/prometheus/prometheus.yml 
    2.   - job_name: "kafka"
    3.     static_configs:
    4.       - targets: ["172.27.30.94:9308","172.27.30.92:9308","172.27.30.84:9308"]
    5. [root@test node_exporter]# curl -X POST http://172.27.30.94:9090/-/reload

    3.状态查询

    登录Prometheus,在Targets下可查看已监听到的主机
    http://172.27.30.94:9090/targets

    六、Grafana Dashboard ID

    官网:Dashboards | Grafana Labs 

    1.常用Dashboard

    应用名称

    Dashboard ID

    备注

    Redis 

    11835

    Node

    12884

    Elasticsearch

    14191

    rabbitmq

    4371

    kafka

    7589

    blackbox

    13230

    域名证书到期监控

    2.查看已有Dashboard ID

    Dashboard settings——JSON Model,查看gnetId号

  • 相关阅读:
    远程访问及控制
    信息科技风险管理:合规管理、技术防控与数字化
    睿趣科技:新手抖音开店卖什么产品好
    java基于SpringBoot+vue的社区报修维修平台 elementui
    基于GoFrame+Vue+ElementUI搭建的博客管理系统
    MySQL:日志系统介绍 | 错误日志 | 查询日志 | 二进制日志:bin-log数据恢复实践 | 慢日志查询
    Numpy 逻辑函数和位处理函数
    避免项目延期,有效推进项目进度的4大关键方法
    matplotlib入门详细教程
    Kafka消息分区&producer拦截器&无消息丢失(八)
  • 原文地址:https://blog.csdn.net/yeqinghanwu/article/details/126369239