Prometheus+Grafana多方位监控

发布于:2024-04-30 ⋅ 阅读:(40) ⋅ 点赞:(0)

Prometheus+Grafana多方位监控

契机

基础

docker安装

#grafana安装+挂载data
mkdir /x/grafana-storage
chmod 777  /x/grafana-storage
docker run -d \
-p 3000:3000 \
--name=grafana \
-v /x/grafana-storage:/var/lib/grafana \
grafana/grafana

#promethes安装+挂载yml
mkdir /x/prometheus
#配置文件在下面
vim /x/prometheus/prometheus.yml
docker run  -d \
-p 9090:9090 \
--privileged=true \
--restart always \
--name=prometheus \
-v /x/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  \
prom/prometheus

#进入grafana
http://localhost:3000
默认密码:admin admin
#修改ui和语言
#导入数据源prometheus

prometheus.yml最终配置

#全局配置
global:
  scrape_interval: 15s
  evaluation_interval: 15s

#抓取配置
scrape_configs:

  #nginx监控
  - job_name: 'nginx'
    metrics_path: '/metrics' 
    static_configs:
      - targets: ['localhost:9113']

  #es监控
  - job_name: "es"
    metrics_path: "/metrics"
    static_configs:
      - targets: [ "localhost:9111" ]

	#rabbitmq监控
  - job_name: "rabbitmq"
    metrics_path: "/metrics"
    static_configs:
      - targets: [ "localhost:15692" ]

  #ECS监控
  - job_name: node
    static_configs:
      - targets: [ 
      'localhost:9091',
      'localhost1:9091',
      'localhost2:9091']
  
  #Java程序监控
  - job_name: service
    metrics_path: "/actuator/prometheus"
    static_configs:

      - targets: ["localhost:8090"]
        labels:
          application: applciation1

      - targets: ["localhost:9999"]
        labels:
          application: applciation2

ECS监控

安装

如果选用的火山云的服务器直接参考,如果不是火山云需要参考文档安装

https://www.volcengine.com/docs/6731/1195154
https://www.volcengine.com/docs/6408/69457

#查看监控状态
systemctl status cloud-monitor-agent
#查看9091端口监听
ss -naltp | grep 9091
#返回如下信息时,表示监控组件工作正常,9091 端口已开启。
LISTEN     0      128       [::]:9091                  [::]:*                   users:(("cloud-monitor-a",pid=1661,fd=3))
#老火山服务器升级组件
sed -i 's/Prometheus: false/Prometheus: true/' /usr/local/cloud-monitor-agent/config.yaml && systemctl restart cloud-monitor-agent
#查看端口是否正常访问
curl 127.0.0.1:9091/metrics

监控配置

#抓取配置
scrape_configs:

  #ECS监控
  - job_name: node
    static_configs:
      - targets: [ 
      'localhost:9091',
      'localhost1:9091',
      'localhost2:9091']
  

监控大盘

https://www.volcengine.com/docs/6731/1195154
拉到最下面就有一个监控大盘

效果演示

请添加图片描述

Nginx监控

安装


#查看nginx是否安装stub模块
nginx -V 2>&1 | grep -o with-http_stub_status_module

#没安装的话需要参考其他教程安装

#修改nginx.conf
server {
         listen 9088; 
         listen [::]:9088; 
         server_name localhost; 
         location = /stub_status { 
         stub_status;
        }
}

#nginx配置刷新
nginx -t
nginx -s reload

#校验
curl http://localhost:9088/stub_status

#安装exporter
mkdir -p /home/prometheus_exporter/{nginx,es}
cd /home/prometheus_exporter/nginx
#这里要根据系统版本选择
wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v1.1.0/nginx-prometheus-exporter_1.1.0_linux_amd64.tar.gz
tar -xvf nginx-prometheus-exporter_1.1.0_linux_amd64.tar.gz
nohup /home/prometheus_exporter/nginx/nginx-prometheus-exporter -nginx.scrape-uri=http://localhost:9088/stub_status >> /dev/null 2>&1 &

监控配置

#抓取配置
scrape_configs:

  #nginx监控
  - job_name: 'nginx'
    metrics_path: '/metrics' 
    static_configs:
      - targets: ['localhost:9113']
  

监控大盘

登陆grafana新建看板导入

https://grafana.com/grafana/dashboards/11199-nginx/

效果演示

请添加图片描述

ElasticSearch监控

安装

#安装exporter
cd /home/prometheus_exporter/es
#这里要根据系统来选择
wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.7.0/elasticsearch_exporter-1.7.0.linux-amd64.tar.gz
tar -xvf elasticsearch_exporter-1.7.0.linux-amd64.tar.gz
nohup /home/prometheus_exporter/es/elasticsearch_exporter-1.7.0.linux-amd64/elasticsearch_exporter  --web.listen-address :9111 --es.uri http://user:psw@localhost:9200 >> /dev/null 2>&1 &

监控配置

#抓取配置
scrape_configs:

  #es监控
  - job_name: "es"
    metrics_path: "/metrics"
    static_configs:
      - targets: [ "localhost:9111" ]
  

监控大盘

登陆grafana新建看板导入

https://grafana.com/grafana/dashboards/14191-elasticsearch-overview/

效果演示

请添加图片描述

RabbitMQ监控

安装

#主要就会是暴露15692
docker run -d \
--privileged \
-p 5672:5672 -p 15672:15672 -p 15692:15692 \
--name rabbitmq \
--restart=always \
-v /home/docker/rabbitmq/data:/var/lib/rabbitmq \
rabbitmq:3.9.0-management

#进入容器,启用插件
rabbitmq-plugins enable rabbitmq_prometheus

监控配置

#抓取配置
scrape_configs:

  #mq监控
  - job_name: "rabbitmq"
    metrics_path: "/metrics"
    static_configs:
      - targets: [ "localhost:15692" ]

监控大盘

登陆grafana新建看板导入

https://grafana.com/grafana/dashboards/10991-rabbitmq-overview/

效果演示

请添加图片描述

Redis监控

安装

#在grafana管理页面
#连接#数据源
#添加redis数据源即可
#无需监控配置

监控大盘

登陆grafana新建看板导入

https://grafana.com/grafana/dashboards/11835-redis-dashboard-for-prometheus-redis-exporter-helm-stable-redis-ha/

效果演示

请添加图片描述

Java应用监控

安装

#pom导入
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

#yml配置
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS

监控配置

#抓取配置
scrape_configs:

  #Java程序监控
  - job_name: service
    metrics_path: "/actuator/prometheus"
    static_configs:

      - targets: ["localhost:8090"]
        labels:
          application: applciation1

      - targets: ["localhost:9999"]
        labels:
          application: applciation2

监控大盘

登陆grafana新建看板导入

https://grafana.com/grafana/dashboards/4701-jvm-micrometer/

https://grafana.com/grafana/dashboards/12900-springboot-apm-dashboard/

效果演示

请添加图片描述

请添加图片描述

写到最后

欢迎访问:https://bothsavage.github.io
请添加图片描述