企业级监控prometheus和grafana可视化技术

举报
tea_year 发表于 2024/09/06 23:18:31 2024/09/06
【摘要】 一、Grafana添加仪表盘1.1 模版文件仪表盘下载模板https://grafana.com/grafana/dashboards/Grafana是一个跨平台的开源度量分析和可是化的工具,可以通过该将采集的数据查询然后可视化的展示,并及时通知。1.2 手动模式 #rocess_start_time_seconds 是一个指标,用于记录进程启动时间的时间戳。该指标在 Prometheus ...

一、Grafana添加仪表盘

1.1 模版文件

仪表盘下载模板https://grafana.com/grafana/dashboards/

Grafana是一个跨平台的开源度量分析和可是化的工具,可以通过该将采集的数据查询然后可视化的展示,并及时通知。

1725525064705.png

1725524997303.png

1.2 手动模式

 #rocess_start_time_seconds 是一个指标,用于记录进程启动时间的时间戳。该指标在 Prometheus 中以 Unix 时间戳的形式存在,其单位是秒。Unix 时间戳是从1970年1月1日(UTC)开始所经过的秒数
 process_start_time_seconds
 time()-process_start_time_seconds
 (time()-process_start_time_seconds{job="db01",instance="192.168.3.51:9100"})
 ​
 node_boot_time_seconds 是一个指标,用于表示节点(计算机)自启动以来的秒数。这个指标通常在操作系统级别提供,例如在 Linux 系统中,可以通过 /proc/uptime 文件获取。

二、Pushgateway

2.1 简介

Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通过部署Pushgateway的方式解决问题。

①监控源通过Post方式,发送数据到Pushgateway,路径为/metrics。 ②Prometheus服务端设置任务,定时获取Pushgateway上面的监控指标。 ③Prometheus获取监控指标后,会根据告警规则进行计算,如果匹配将触发告警到Alertmanager;同时,Grafana可配置数据源调用Prometheus数据,做为数据展示

2.2 安装和部署

 #上传解压
 tar -xzf pushgateway-1.9.0.linux-amd64.tar.gz
 ​
 #2.创建长目录软连接和文件的软连接
 ln -s pushgateway-1.9.0.linux-amd64 pushgateway
 ​
 ln -s /app/tools/pushgateway/pushgateway /bin/
 #3.启动
 后台启动
 ​
 ​
 ​


 #自定义服务vim /usr/lib/systemd/system/pushgateway.service
 [Unit]
 Description=Prometheus Server
 After=network.target
 ​
 [Service]
 Type=simple
 ExecStart=/app/tools/pushgateway/pushgateway
 KillMode=process
 ​
 [Install]
 WantedBy=multi-user.target
 ​

2.3 编写脚本

 #自定有监控cpu核心总数
 lscpu |awk 'NR==4'|awk -F' ' '{print $NF}'
 ​
  echo "cpus 1" | \curl --data-binary @- http://pushgateway:9091/metrics/job/pushgateway/instance/192.168.3.6:9091
 ​
 #改造成脚本
 ​
 #!/bin/bash
 #desc:目标:
 ​
 #2.定义变量
 job=pushgateway
 ins=192.168.3.6
 cpus=`lscpu | awk 'NR==4'|awk -F' ' '{print $NF}'`
 #3.脚本
 echo "cpus $cpus" |\curl --data-binary @- http://$ins:9091/metrics/job/$job/instance/$ins
 ​
 ​
 #4.定时任务
 #定时任务
 * * * * * /server/scripts/gateway.sh &> /dev/null
 ​

image-20240905211635111.png


三、报警

3.1 安装

image-20240905213300336.png

 tar xzf alertmanager-0.27.0.linux-amd64.tar.gz  -C /app
 ln -s alertmanager-0.27.0.linux-amd64/ alertmanager
 ln -s /app/alertmanager/alertmanager /bin/
 #后台启动测试
 ​


3.2 第三方平台

image-20240905222200411.png


 #第三方的配置,修改alertManager.yml,对比一下
 receivers:
 - name: 'team-X-pager'
 webhook_configs:
 - url: 'http://api.aiops.com/alert/api/event/prometheus/b8c176817228473f96bbd0db435ab405' (保存当前应用,即可获取完整webhook地址信息)
             
 send_resolved: true

image-20240905224255740.png


image-20240905224409817.png


3.3 配置prometheus告警

开启报警

 # my global config
 global:
   scrape_interval: 15s 
   evaluation_interval: 15s 
 alerting:
   alertmanagers:
     - static_configs:
         - targets: ["192.168.3.62:9093"]
 rule_files:
   - "/app/prometheus/alert.yml"
 ​

配置rules文件

 groups:
   - name: alert_rules
     rules:
       - alert: CpuUsageAlertWarning
         expr: sum(avg(irate(node_cpu_seconds_total{mode!='idle'}[5m])) without (cpu)) by (instance) > 0.01
         for: 2m
         labels:
           level: warning
         annotations:
           summary: "Instance {{ $labels.instance }} CPU usage high"
 ​

image-20240906001657972.png


再去9093的报警服务查看

image-20240906002023939.png


在第三方平台查看告警信息

image-20240906002645128.png



四、grafana+zabbix

4.1安装

tar xzf grafana-9.3.6-alexanderzobnin-zabbix-app-v4.2.10.tar.gz 

mkdir -p /var/lib/grafana/plugins


 mv alexanderzobnin-zabbix-app/ /var/lib/grafana/plugins/
 
 systemctl restart grafana-server.service
 
 

4.2 激活zbx插件

配置zbx插件

image-20240906010716346.png


如果搜索不到zabbix表示没有安装对应的插件

image-20240906010751713.png


如果不成功,也可以通过提供的软件包解压或者grafana-cli plugins install alexanderzobnin-zabbix-app安装

在Zabbix插件上单击一下,进入如下界面

image-20240906011121269.png


image-20240906011209628.png


4.3配置grafana的数据源

grafana连接zabbix(添加数据源 datasource )

image-20240906011409999.png

image-20240906011452186.png

image-20240906011852001.png

image-20240906012251594.png

preview



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。