day62-可觀測性建設-全鏈路監控zabbix+grafana

🌟監控api接口

🔍監控zabbix-api接口

生成API tokens

命令行測試

curl -s -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": "api tokens"
}'  http://10.0.0.63/api_jsonrpc.php

web頁面添加web場景監測

🌟告警分類

報警方式(報警媒介類型)方案企業應用場景
發郵件企業郵箱企業郵箱,免費使用
企業微信-告警應用(機器人)機器人需要使用企業微信,免費
OA系統(釘釘,飛書…)機器人阿里云,免費
短信0.045/條左右(阿里云短信服務)
電話收費
第三方報警工具/平臺:onealert(省事)只需要配置onealert的平臺信息,免費使用(限制),收費htts://aiops.com/
云監控與告警

🌟郵件報警

📝全流程

  • 準備個人郵箱/企業郵箱
  • 開啟個人郵箱 smtp功能 獲取授權碼
  • 發件人:配置zabbix報警媒介類型
  • 收件人:配置 用戶 接受報警
  • 發件條件:配置觸發器(trigger)動作(條件判斷)

??準備個人郵箱(略)

📌添加報警媒介

🧩修改消息模板

兩個 報警媒介的模板:
故障{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}

??添加收件人

🍀添加觸發器動作

??郵件里查看告警信息

🌟企業微信告警

🧩企業微信告警腳本

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#desc: 調用企業微信群中機器人進行發送消息
#desc: 調用釘釘機器人進行發送消息
#desc: 調用各種OA系統的群機器人(webhook)方式 通用的#導入python 函數庫(包)
#request http請求(curl/wget命令)
import requests
import json
#sys 系統功能函數庫 
import sys# 機器人的webhook地址 群里添加群機器人后可以獲取 
#支持企業微信,釘釘,飛書.WEBHOOK_URL = "WEBHOOK地址"# HTTP請求頭部信息
HEADERS = {'Content-Type': 'application/json;charset=utf-8'
}# 定義發送消息的函數
def send_msg(text):#text變量就是要傳輸的數據.# 構建消息體texts = {"msgtype": "text","text": {"content": text}}# 發送HTTP POST請求response = requests.post(WEBHOOK_URL, json=texts, headers=HEADERS)# 打印響應內容(一般用于調試)print(response.content)# 如果該文件被直接執行,則從命令行接收一個參數并將其發送到機器人的webhook地址
if __name__ == '__main__':# $# -ne 2 if len(sys.argv) != 2:print("Usage: python3 all_app_webhook.py <text>")sys.exit(1)text = sys.argv[1]  # 獲取命令行參數 $1send_msg(text)  # 發送消息

🛠?準備阿里云的源文件

  • sources.list
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse# deb http://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse

📝編寫Dockerfile

FROM zabbix/zabbix-server-mysql:7.0.9-ubuntu
LABEL author=zhu desc=帶有python3環境的zbx_server鏡像,帶有webhook腳本USER root
ADD all-api-alert.py /usr/lib/zabbix/alertscripts/ADD sources.list /etc/apt/sources.list
RUN    apt update \&& apt install -y python3  python3-requests  # 安裝python request模塊(依賴)# pip3 install requests -i https://pypi.tuna.tsinghua.edu.cn/simpleEXPOSE 10051/TCPWORKDIR /var/lib/zabbix/ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]USER 1997CMD ["/usr/sbin/zabbix_server", "--foreground", "-c", "/etc/zabbix/zabbix_server.conf"]

📝編寫docker-compose

#version: "3.8"
services:db:image: mysql:8.0-debiancontainer_name: zbx_dbnetworks:- zbx_netrestart: alwaysvolumes:- ./zbx_db/:/var/lib/mysql/environment:MYSQL_ROOT_PASSWORD: "${ROOT_PASS}"MYSQL_DATABASE: "${ZBX_DB}"MYSQL_USER:     "${ZBX_USER}"MYSQL_PASSWORD: "${ZBX_PASS}"command:- --character-set-server=utf8- --collation-server=utf8_bin- --default-authentication-plugin=mysql_native_passwordzbx_server:image: zabbix/zabbix-server-mysql:7.0.9-ubuntu-pythonbuild:context: .dockerfile: Dockerfilecontainer_name: zabbix-server-mysql-7.0networks:- zbx_netrestart: alwaysports:- 10051:10051depends_on:- dbenvironment:DB_SERVER_HOST: "db"MYSQL_ROOT_PASSWORD: "${ROOT_PASS}"MYSQL_DATABASE: "${ZBX_DB}"MYSQL_USER:     "${ZBX_USER}"MYSQL_PASSWORD: "${ZBX_PASS}"ZBX_JAVAGATEWAY_ENABLE: trueZBX_JAVAGATEWAY: zbx_java_gatewayZBX_JAVAGATEWAYPORT: 10052zbx_web:image: zabbix/zabbix-web-nginx-mysql:7.0.9-ubuntucontainer_name: zabbix-web-nginx-mysqlnetworks:- zbx_netrestart: alwaysports:- 80:8080depends_on:- db- zbx_serverenvironment:ZBX_SERVER_HOST: "zbx_server"DB_SERVER_HOST: "db"MYSQL_ROOT_PASSWORD: "${ROOT_PASS}"MYSQL_DATABASE: "${ZBX_DB}"MYSQL_USER:     "${ZBX_USER}"MYSQL_PASSWORD: "${ZBX_PASS}"zbx_java_gateway:image: zabbix/zabbix-java-gateway:7.0.9-ubuntucontainer_name: zabbix-java-gateway-7.0networks:- zbx_netrestart: alwaysports:- 10052:10052depends_on:- zbx_servernetworks:  zbx_net:  driver: bridge  ipam:  config:  - subnet: 172.100.0.0/16  ip_range: 172.100.1.0/24  gateway: 172.100.1.1

??docker-compose生成鏡像

docker-compose build

🚀啟動鏡像

docker-compose up -d

🐹修改機器人webhook地址

[root@m03-zbx-server /app/tools/zbx-weixin-7.0]# docker-compose exec -it -uroot zbx_server /bin/bash
root@8064aca0fdeb:/var/lib/zabbix# apt install -y vim
root@8064aca0fdeb:/var/lib/zabbix# vim alertscripts/all-api-alert.py

💡命令行測試

python3 weixin-api-alert.py 測試

🌏web頁面添加報警媒介

💡修改消息模板

🛠?測試

??添加收件人

🍀添加觸發器動作

🌏企業微信群查看告警

🌟釘釘或其他OA系統

  • 釘釘,飛書,飛鴿…
  • 使用流程與企業微信WEBHOOK版本一致

📝使用流程

  • 群組里添加機器人,設置訪問IP(服務器,公司內網IP)
  • 使用腳本修改WEBHOOK地址
  • 使用流程與企業微信群機器人流程一致

🌟部署grafana

🚀安裝grafana軟件并啟動

rpm -ivh grafana-enterprise-10.4.17-1.x86_64.rpm
systemctl enable grafana-server.service --now

🌏瀏覽器登錄

http://10.0.0.63:3000/login
admin/admin

🌏修改語言為中文

🧩安裝插件

grafana-cli plugins list-remote | grep zabbix
grafana-cli plugins install alexanderzobnin-zabbix-app
systemctl restart grafana-server.service

🚀web頁面啟動插件

添加zabbix數據源

導入儀表盤

查看儀表盤

注意:儀表盤有些數據獲取不到,需要調試

儀表盤調試

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90425.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90425.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90425.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通過Deepseek找工作

推送的結果如下,對應的AI提示詞在底部: 計算機方向遠程工作職位匯總 整合全球遠程技術崗位 | 支持全地域遠程辦公 | 涵蓋開發、安全、云計算等方向 覆蓋方向:8+個技術領域 薪資范圍:10K-40K/月 工作模式:100%遠程 遠程技術職位列表 職位名稱 技能要求 經驗要求 薪資…

vscode文件顏色,只顯示自己更改的文件顏色、剛git下來的庫,vscode打開后,顯示所有文件都被修改了

問題&#xff1a;git新的庫&#xff0c;然后我用vscode打開&#xff0c;默認顯示所有的文件都更改了&#xff0c;但是我打開他們修改的對比&#xff0c;沒有顯示任何有被修改的地方&#xff0c;是怎么回事 linux/wsl下這么設置就可以了&#xff1a;git config core.autocrlf in…

基于ENMeval包的MaxEnt模型參數優化總結

MaxEnt模型參數優化1. MaxEnt模型優化&#xff1a;增加RM&#xff0c;降低模型過擬合風險&#xff0c;簡易模型&#xff0c;平滑響應曲線&#xff0c;增強模型可解釋性和轉移性&#xff08;生物入侵&#xff09;2. 默認參數&#xff1a;FCLQHP&#xff0c;RM12.1. 基于優化的 M…

Docker實踐:使用Docker部署blog輕量級博客系統

Docker實踐&#xff1a;使用Docker部署blog輕量級博客系統一、blog系統介紹1.1 blog介紹1.2 個人博客系統介紹1.3 個人博客使用場景二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker compose 版本四、…

專題:2025電商增長新勢力洞察報告:區域裂變、平臺壟斷與銀發平權|附260+報告PDF、原數據表匯總下載

原文鏈接&#xff1a;https://tecdat.cn/?p43416 當茂名果農對著鏡頭用方言喊出“荔枝現摘現發”&#xff0c;2小時賣出83萬元&#xff1b;當65歲的上海阿姨通過“子女代付”買到人生第一臺智能冰箱——2025年的電商戰場&#xff0c;正在上演三重革命&#xff1a;新興市場的增…

數字化轉型-AI落地金字塔法則

前言 人工智能必須要跟傳統產業結合&#xff0c;融入傳統產業&#xff0c;才能落地&#xff0c;才能產生巨大的倍增個幾何級效果&#xff01;&#xff01; AI不應該停留在工具層面&#xff0c;AI不僅僅是工具&#xff0c;不僅僅是硬件和軟件&#xff0c;而是軟硬結合。人工智能…

SQL Server 字段類型選型指南:什么數據用什么字段

目錄 一、數值型數據 二、日期與時間數據 三、字符串與文本數據 四、布爾值與狀態碼 五、二進制與文件數據 六、唯一標識符&#xff08;GUID&#xff09; 七、枚舉與代碼表設計 八、存儲優化小結 九、總結 在數據庫設計中&#xff0c;字段類型&#xff08;數據類型&am…

酷暑來襲,科技如何讓城市清涼又潔凈?

烈日下的身影&#xff0c;不該被“炙烤”的擔當又是一年盛夏&#xff0c;城市的血管在高溫下脈動&#xff0c;柏油馬路仿佛要融化&#xff0c;空氣中彌漫著灼熱的氣息。此刻&#xff0c;你是否曾留意過那些身影&#xff1f;在烈日下&#xff0c;他們依舊堅守崗位&#xff0c;用…

傳統框架與減震樓蓋框架地震動力響應分析與有限元模擬

傳統框架與減震樓蓋框架地震動力響應分析與有限元模擬 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 摘要 本文針對傳統鋼框架和減震樓蓋鋼框架兩種結構體系,建立了水平地震作用下的動力學模型,推…

Java集合去重

? 方式一&#xff1a;TreeSet Comparator最優雅的一種&#xff0c;適用于對象中某個字段唯一的去重&#xff08;如 partyAId&#xff09;List<PartyACompanyVO> result contractDOS.stream().map(contract -> {PartyACompanyVO vo new PartyACompanyVO();vo.setPa…

Qt字符串處理與正則表達式應用

一、Qt字符串處理基礎 在Qt應用程序開發中&#xff0c;字符串處理是一項常見且重要的任務。Qt提供了強大而靈活的字符串處理功能&#xff0c;能夠滿足各種復雜的文本處理需求。 1.1 QString類概述 QString是Qt中處理字符串的核心類&#xff0c;它基于Unicode編碼&#xff0c…

qt5靜態版本對應的pcre編譯

下載 https://sourceforge.net/projects/pcre/files/pcre/8.45/ 不同版本qt對應不同pcre 編譯 啟動vs2013的開發人員命令&#xff0c;可以找到cl程序 nmake環境設置到系統path中 cd C:\pcre-8.45 mkdir build_static cd build_static cmake .. -G "NMake Makefiles" …

JimuReport 積木報表 v2.1.1 版本發布,免費開源的報表和大屏

項目介紹 積木報表&#xff0c;是一款免費的數據可視化報表&#xff0c;含報表、打印、大屏和儀表盤&#xff0c;像搭建積木一樣完全在線設計&#xff01;功能涵蓋&#xff1a;復雜報表、打印設計、圖表報表、門戶設計、大屏設計等&#xff01; 分兩大模塊&#xff1a;JimuRepo…

基于python django的農業可視化系統,以奶牛牧場為例

摘 要 本文課題圍繞畜牧業高質量發展中牧場管理的現狀&#xff0c;現代牧場飼養模式上存在的數據比較零碎、飼養過程中容易經驗主義、生產產量不穩、產出效益低、奶牛體況的不合理等現狀&#xff0c;設計了多參數大數據智能牧場生產管理決策支撐體系。以牧場信息系統的建設為背…

無人機吊艙與遙控器匹配技術解析

一、 無人機吊艙如何與遙控器“對上暗號”&#xff1f;在無人機執行物資投送、電力巡檢、災害搜救等任務時&#xff0c;吊艙&#xff08;即懸掛于機身下方的任務設備&#xff09;常成為核心作業單元。但要讓遙控器“指揮”吊艙&#xff0c;兩者必須實現雙向通信協議互通、電氣接…

C#模擬pacs系統接收并解析影像設備數據(DICOM文件解析)

上篇文件介紹了什么dicomhttps://blog.csdn.net/qq_39569480/article/details/149641920?spm=1001.2014.3001.5502 本篇文章我們來使用fo_dicom接收并解析dicom文件。 文章結尾附源碼。 1.開發環境 visual studio 2019 .netframwork 4.8 2.關鍵知識點 dicom三要素為 AE t…

在 IntelliJ IDEA 中打開這個用于設置 Git 用戶名(Name)和郵箱(Email)的特定彈窗

要在 IntelliJ IDEA 中打開這個用于設置 Git 用戶名&#xff08;Name&#xff09;和郵箱&#xff08;Email&#xff09;的特定彈窗&#xff08;如下圖&#xff09;&#xff0c;可以通過以下幾種常見方法觸發&#xff1a;https://i.im.ge/2024/07/16/Kt6r1i.IDE-Git-UserName-Co…

redis 源碼閱讀

官網下載zip&#xff1a; 本文即是文件創建時間時候的版本~ 文章目錄目錄結構/srcint main()服務端 server足夠的熵值 entropyumask掩碼系統初始化*重啟機制&#xff1a;保存執行數據 以便后續重啟服務哨兵模式 sentinelrdb aof解析命令行參數聲明實現的位置目錄結構 目錄/文…

《C++》面向對象編程--類(下)

文章目錄一、賦值運算符重載1.1定義1.2基本規則1.3為什么需要運算符重載&#xff1f;1.4示例&#xff1a;二、前置和后置區別2.1前置的實現與特點2.2后置的實現與特點2.3核心區別三、const四、取地址及const取地址操作符重載4.1定義4.2語法4.3注意事項一、賦值運算符重載 1.1定…

EasyExcel 模板導出數據 + 自定義策略(合并單元格)

需求&#xff1a;數據庫里的主表明細表&#xff0c;聯查出數據并導出Excel&#xff0c;合并主表數據的單元格。代碼&#xff1a;controllerPostMapping("export")ApiOperation(value "導出數據")protected void export(ApiParam Valid RequestBody NewWms…