当前位置: 首页 > news >正文

day062-监控告警方式与Grafana优雅展示

文章目录

  • 0. 老男孩思想-马太效应
  • 1. API监控
  • 2. zabbix的API接口
    • 2.1 生成zabbix的api token
    • 2.2 访问格式
    • 2.3 前端添加web监测
  • 3. 监控告警方式
    • 3.1 云监控-邮件告警
      • 3.1.1 邮箱开启授权码
      • 3.1.2 zabbix前端配置
      • 3.1.3 消息模板
      • 3.1.4 配置邮箱收件人信息
      • 3.1.5 配置触发器
    • 3.2 企业微信告警
      • 3.2.1 创建企业微信
      • 3.2.2 添加群机器人
      • 3.2.3 发送告警信息
      • 3.2.4 zabbix发送告警
  • 4. 优雅展示-Grafana
    • 4.1 部署grafana
    • 4.2 配置数据源-zabbix
    • 4.3 编辑仪表盘面板
      • 4.3.1 编辑Host name面板
      • 4.3.2 编辑CPU面板
      • 4.3.3 编辑System load(系统负载)面板
    • 4.4 保存仪表盘配置
  • 5. 踩坑记录-granfana仪表盘:Failed to upgrade legacy queries
  • 6. 思维导图

0. 老男孩思想-马太效应

“凡有的,还要加给他,叫他有余;凡没有的,连他所有的也要夺去。”

强者愈强,弱者愈弱

在这里插入图片描述

1. API监控

  • 以舔狗日记接口为例
#Linux curl命令curl -X POST \-H "Content-Type:application/x-www-form-urlencoded" \-d "key=045a8a29190663ed52c2ee82f22d739d" \"https://apis.tianapi.com/tiangou/index" 
####################################################
[root@web01.oldboy.cn ~]#  curl -X POST  -H "Content-Type:application/x-www-form-urlencoded"  -d key=045a8a29190663ed52c2ee82f22d739d"  "https://apis.tianapi.com/tiangou/index" 
{"code":200,
"msg":"success",
"result":{"content":"你好像从来没有主动说过爱我,我搜索了一下关键字“爱”。在我们的聊天记录里,你只说过一次:爱奇艺会员借我一下。"}
}

在这里插入图片描述

在这里插入图片描述

2. zabbix的API接口

  • [10.0.0.63](http://10.0.0.63/api_jsonrpc.php)

在这里插入图片描述

2.1 生成zabbix的api token

在这里插入图片描述

在这里插入图片描述

2.2 访问格式

curl -X POST -H "Content-Type: application/json-rpc" -d '
{"jsonrpc": "2.0","method": "host.get","params": {"output": ["hostid","host"],"selectInterfaces": ["interfaceid","ip"]},"id": 2,"auth": "fa6d59fc107117e42ba01ec0b2b5a6efc952a5bfa105c2ccb14052d587553ec6" # 此处写api token
}'  http://10.0.0.63/api_jsonrpc.php

2.3 前端添加web监测

在这里插入图片描述

3. 监控告警方式

报警方式方案企业应用场景
发邮件企业邮箱企业邮箱
企业微信机器人使用企业微信,添加机器人
OA(办公自动化)系统钉钉、飞书……
短信、电话阿里云服务
第三方告警平台onealert‘睿象云-智能运维管理平台-智能运维系统-自动化运维性能监控平台’
云监控告警

3.1 云监控-邮件告警

3.1.1 邮箱开启授权码

在这里插入图片描述

3.1.2 zabbix前端配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.1.3 消息模板

两个 报警媒介的模板:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}--------------------------------------------------------------------恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

3.1.4 配置邮箱收件人信息

在这里插入图片描述

3.1.5 配置触发器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 企业微信告警

3.2.1 创建企业微信

  • 创建企业邮箱:[腾讯企业邮箱](https://work.weixin.qq.com/mail/)
    • 不设置也行;
    • 需要有一个域名,并配置邮箱解析

在这里插入图片描述

在这里插入图片描述

  • 登录企业微信管理后台:[企业微信](https://work.weixin.qq.com/wework_admin/loginpage_wx)

在这里插入图片描述

3.2.2 添加群机器人

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • Webhook 地址 是一个由用户提供的 HTTP/HTTPS URL,用于接收外部系统(如GitHub、企业微信、支付平台等)通过 HTTP POST 请求 实时推送的事件通知(例如代码提交、订单支付、审批结果等)。它本质上是开发者自定义的一个 “回调接口”,用于实现系统间的自动化通信。
  • https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=3c1da462-093a-421c-a654-a8cd09d070bc

3.2.3 发送告警信息

  • 脚本: zbx_7.0-weixin-dingding.tar.gz 链接: https://pan.baidu.com/s/132dbrY1S8n06lMyMrg31SA?pwd=7wa9 提取码: 7wa9
[root@m03 /server/scripts/weixin_dingding]# ll
总用量 4
-rw-r--r-- 1 root root 2147  724 15:36 zbx_7.0-weixin-dingding.tar.gz
[root@m03 /server/scripts/weixin_dingding]# tar zxf zbx_7.0-weixin-dingding.tar.gz 
[root@m03 /server/scripts/weixin_dingding]# rm zbx_7.0-weixin-dingding.tar.gz 
文件,目录已经移动到回收站:/recyle/tmp.XEplkxQZOT
[root@m03 /server/scripts/weixin_dingding]# ll
总用量 16
-rwxr-xr-x 1 root root 1418  724 12:10 all-api-alert.py
-rw-r--r-- 1 root root 1703  724 11:49 docker-compose.yml
-rw-r--r-- 1 root root  620  724 12:06 Dockerfile-dingding-weixin
-rw-r--r-- 1 root root  901  724 11:45 sources.list
[root@m03 /server/scripts/weixin_dingding]# vim all-api-alert.py 

在这里插入图片描述

[root@m03 /server/scripts/weixin_dingding]# python3 all-api-alert.py "主题:网站挂了 内容:孙克旭搞的"
b'{"errcode":0,"errmsg":"ok"}'

在这里插入图片描述

3.2.4 zabbix发送告警

# 将脚本发到zabbix-server容器中
[root@m03 /app/tools/zbx]# docker-compose exec -u root -it zbx_server bash
root@0758c7bdd6fc:/var/lib/zabbix# grep -i '^alertscript' /etc/zabbix/zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts
# 需要将Python脚本放到该目录下
# 容器还需要Python3的环境,以及下载request模块
# 所以可以使用自定义镜像
  • 自定义镜像压缩包:zbx_7.0-weixin-dingding.tar.gz 链接: https://pan.baidu.com/s/1WY1w0hvNQOUlPJfPOeVfmQ?pwd=dru9 提取码: dru9
[root@m03 /app/tools/zbx_alert_weixin_dingding]# docker-compose build
[+] Building 198.2s (11/11) FINISHED                                                 docker:default=> [zbx_server internal] load build definition from Dockerfile-dingding-weixin                0.1s=> => transferring dockerfile: 675B                                                           0.0s=> [zbx_server internal] load metadata for docker.io/zabbix/zabbix-server-mysql:7.0.9-ubuntu  0.0s=> [zbx_server internal] load .dockerignore                                                   0.0s=> => transferring context: 2B                                                                0.0s=> [zbx_server 1/5] FROM docker.io/zabbix/zabbix-server-mysql:7.0.9-ubuntu                    0.1s=> [zbx_server internal] load build context                                                   0.0s=> => transferring context: 2.41kB                                                            0.0s=> [zbx_server 2/5] ADD all-api-alert.py  /usr/lib/zabbix/alertscripts/                       0.1s=> [zbx_server 3/5] ADD sources.list   /etc/apt/sources.list                                  0.0s=> [zbx_server 4/5] RUN     apt update     &&  apt install -y python3  python3-requests     195.7s=> [zbx_server 5/5] WORKDIR /var/lib/zabbix                                                   0.0s => [zbx_server] exporting to image                                                            1.8s => => exporting layers                                                                        1.7s => => writing image sha256:1d0473248a344a66f71b5807e7ebdbb5b391eddead55d432809e4eb25f9de98b   0.0s => => naming to docker.io/zabbix/zabbix-server-mysql:7.0.9-ubuntu-python                      0.0s => [zbx_server] resolving provenance for metadata file                                        0.0s
[root@m03 /app/tools/zbx_alert_weixin_dingding]# docker-compose up -d
[+] Running 4/4✔ Network zbx_alert_weixin_dingding_oldboy_zbx_net  Created                                   0.1s ✔ Container zbx_db                                  Started                                   0.9s ✔ Container zabbix-server-mysql-7.0                 St...                                     1.1s ✔ Container zabbix-web-nginx-mysql                  Sta...                                    1.6s 
[root@m03 /app/tools/zbx_alert_weixin_dingding]# docker-compose ps
NAME                      IMAGE                                            COMMAND                   SERVICE      CREATED         STATUS                            PORTS
zabbix-server-mysql-7.0   zabbix/zabbix-server-mysql:7.0.9-ubuntu-python   "/usr/bin/docker-ent…"   zbx_server   5 seconds ago   Up 3 seconds                      0.0.0.0:10051->10051/tcp, :::10051->10051/tcp
zabbix-web-nginx-mysql    zabbix/zabbix-web-nginx-mysql:7.0.9-ubuntu       "docker-entrypoint.sh"    zbx_web      4 seconds ago   Up 3 seconds (health: starting)   8443/tcp, 0.0.0.0:80->8080/tcp, [::]:80->8080/tcp
zbx_db                    mysql:8.0-debian                                 "docker-entrypoint.s…"   db           5 seconds ago   Up 3 seconds                      3306/tcp, 33060/tcp
  • 前端配置-告警媒介

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4. 优雅展示-Grafana

Grafana 是一款开源的 数据可视化与分析平台,主要用于监控、分析和展示时序数据(如服务器性能、应用指标、业务数据等)。它支持多种数据源(zabbix、Prometheus……),提供丰富的仪表盘(Dashboard)和图表功能,广泛应用于 DevOps、运维监控、IoT、业务分析 等领域。

  • 官网:https://grafana.com

4.1 部署grafana

  • 安装包:grafana-enterprise-10.4.17-1.x86_64.rpm 链接: https://pan.baidu.com/s/1S-7IYaYkTH3eHW7xB5rduA 提取码: rnf5
[root@m03 ~]# rpm -ivh grafana-enterprise-10.4.17-1.x86_64.rpm 
……
[root@m03 ~]# systemctl enable --now  grafana-server.service 
[root@m03 ~]# ss -lntup |grep gra
tcp     LISTEN   0        128                    *:3000                 *:*      users:(("grafana",pid=927,fd=16))   
  • granfana的前端页面端口是3000

在这里插入图片描述

在这里插入图片描述

4.2 配置数据源-zabbix

  • 安装zabbix插件,granfana默认 没有
[root@m03 ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
✔ Downloaded and extracted alexanderzobnin-zabbix-app v5.2.0 zip successfully to /var/lib/grafana/plugins/alexanderzobnin-zabbix-appPlease restart Grafana after installing or removing plugins. Refer to Grafana documentation for instructions if necessary.[root@m03 ~]# grafana-cli plugins ls
installed plugins:
alexanderzobnin-zabbix-app @ 5.2.0
[root@m03 ~]# systemctl restart grafana-server.service 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.3 编辑仪表盘面板

在这里插入图片描述

4.3.1 编辑Host name面板

  • 显示zabbix服务器主机名

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.3.2 编辑CPU面板

  • 可以对监控项名称使用正则,获取多个参数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.3.3 编辑System load(系统负载)面板

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.4 保存仪表盘配置

在这里插入图片描述

5. 踩坑记录-granfana仪表盘:Failed to upgrade legacy queries

在这里插入图片描述

在这里插入图片描述

6. 思维导图

https://kdocs.cn/join/gpuxq6r?f=101\r\n邀请你加入共享群「老男孩教育Linux运维99期-孙克旭」一起进行文档协作

http://www.lryc.cn/news/601525.html

相关文章:

  • 【Oracle】套接字异常(SocketException)背后隐藏的Oracle问题:ORA-03137深度排查与解决之道
  • EasyExcel使用(二:写出)
  • MySQL 8.0.42创建MGR集群
  • vue3报错:this.$refs.** undefined
  • nacos连接失败,启动失败常见问题
  • Vue 框架 学习笔记
  • 【笔记】Einstein关系式 D = ukBT 的推导与应用研究
  • GAN/cGAN中到底要不要注入噪声
  • 计算机网络:(十二)传输层(上)运输层协议概述
  • FPGA IP升级
  • Linux文件理解,基础IO理解
  • SCUDATA esProc SPL Enterprise Edition(大数据计算引擎) v20250605 中文免费版
  • Keepalive高可用集群的实验项目
  • 【Java系统接口幂等性解决实操】
  • DeepSeek实战--无头浏览器抓取技术
  • Java常用日志框架介绍
  • 五度标调法调域统计分析工具
  • 设计模式(五)创建型:原型模式详解
  • [spring6: Mvc-异步请求]-源码分析
  • 设计模式(三)创建型:抽象工厂模式详解
  • 微服务架构面试题
  • Flutter开发实战之测试驱动开发
  • linux根据pid获取服务目录
  • Gradio.NET 中文快速入门与用法说明
  • IIS发布.NET9 API 常见报错汇总
  • 从 .NET Framework 到 .NET 8:跨平台融合史诗与生态演进全景
  • 9-大语言模型—Transformer 核心:多头注意力的 10 步拆解与可视化理解
  • 电商项目_核心业务_数据归档
  • Java枚举类enum;记录类Record;密封类Sealed、permits
  • Java面试宝典:MySQL执行原理一