自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Zabbix問(wèn)題告警如何實(shí)現(xiàn)處理閉環(huán)?

開發(fā) 前端
Zabbix Agent2基于Go語(yǔ)言開發(fā),作為Zabbix Agent替代品,它幾乎集成了Zabbix Agent原有的所有功能,且易于通過(guò)Go插件實(shí)現(xiàn)第三方功能。

圖片

一、搭建Zabbix6.2平臺(tái)

?通過(guò)Docker快速搭建Zabbix 6.2的最新版本。

1.1、創(chuàng)建Zabbix專屬網(wǎng)絡(luò)

創(chuàng)建Zabbix組件虛擬子網(wǎng):Zabbix-Subnet

docker network create --subnet 172.10.0.0/16 --ip-range 172.10.240.0/20 Zabbix-Subnet

1.2、運(yùn)行Zabbix MySQL容器

選擇MySQL8.0作為Zabbix監(jiān)控?cái)?shù)據(jù)的存儲(chǔ)引擎。

docker run --name Zabbix-MySQL -t \
--restart unless-stopped \
--network=Zabbix-Subnet \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zb-passwd" \
-e MYSQL_ROOT_PASSWORD="zb-passwd" \
-v /etc/localtime:/etc/localtime:ro \
-d mysql:8.0 \
--character-set-server=utf8 \
--collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password

1.3、運(yùn)行Zabbix Server容器

本文使用企業(yè)微信群機(jī)器人作為告警媒介,為確保容器能正常請(qǐng)求Webhook地址,通過(guò)--add-host綁定hosts實(shí)現(xiàn)強(qiáng)制解析,可根據(jù)實(shí)際情況配置。

docker run --name Zabbix-Server -t \
--restart unless-stopped \
--network=Zabbix-Subnet \
--hostname="Zabbix-Server" \
-e DB_SERVER_HOST="Zabbix-MySQL" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zb-passwd" \
-e MYSQL_ROOT_PASSWORD="zb-passwd" \
-e ZBX_NODEADDRESS="Zabbix-Server" \
-v /etc/localtime:/etc/localtime:ro \
-p 10051:10051 \
--add-host qyapi.weixin.qq.com:157.148.55.111 \
-d zabbix/zabbix-server-mysql:alpine-6.2-latest

1.4、運(yùn)行Zabbix Agent2容器

Zabbix Agent2基于Go語(yǔ)言開發(fā),作為Zabbix Agent替代品,它幾乎集成了Zabbix Agent原有的所有功能,且易于通過(guò)Go插件實(shí)現(xiàn)第三方功能。

docker run --name Zabbix-Agent -t \
--restart unless-stopped \
--network=Zabbix-Subnet \
-e ZBX_HOSTNAME="Zabbix server" \
-e ZBX_SERVER_HOST="Zabbix-Server" \
-e ZBX_SERVER_PORT="10051" \
-v /etc/localtime:/etc/localtime:ro \
--privileged \
-d zabbix/zabbix-agent2:alpine-6.2-latest

?值得提及的是,Zabbix Agent2已內(nèi)置證書校驗(yàn)功能,再無(wú)需通過(guò)復(fù)雜的openssl的腳本實(shí)現(xiàn),效果如下:

docker exec -it Zabbix-Server zabbix_get -s Zabbix-Agent -k web.certificate.get[zabbix.com,,104.26.7.148] | python -m json.tool
{
    "result": {
        "message": "certificate verified successfully",
        "value": "valid"
    },
    "sha1_fingerprint": "8b5889c0a9ecb12a7f4ec1e2c91d70eebb70aa4a",
    "sha256_fingerprint": "22a31bd36212fd11bedaba8a3cd66e113710d68c2725b37ebd8c10c2ff49cc56",
    "x509": {
        "alternative_names": [
            "*.zabbix.com",
            "zabbix.com",
            "sni.cloudflaressl.com"
        ],
        "issuer": "CN=Cloudflare Inc ECC CA-3,O=Cloudflare\\, Inc.,C=US",
        "not_after": {
            "timestamp": 1685750399,
            "value": "Jun 02 23:59:59 2023 GMT"
        },
        "not_before": {
            "timestamp": 1654214400,
            "value": "Jun 03 00:00:00 2022 GMT"
        },
        "public_key_algorithm": "ECDSA",
        "serial_number": "014937aa9f28ce4846ddfb7109cbfb0e",
        "signature_algorithm": "ECDSA-SHA256",
        "subject": "CN=sni.cloudflaressl.com,O=Cloudflare\\, Inc.,L=San Francisco,ST=California,C=US",
        "version": 3
    }
}

1.5、運(yùn)行Zabbix Web容器

選擇Nginx作為ZabbixWeb前端引擎。

docker run --name Zabbix-Web -t \
--restart unless-stopped \
--network=Zabbix-Subnet \
-e PHP_TZ="Asia/Shanghai" \
-e DB_SERVER_HOST="Zabbix-MySQL" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zb-passwd" \
-e MYSQL_ROOT_PASSWORD="zb-passwd" \
-v /etc/localtime:/etc/localtime:ro \
-p 80:8080 \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

1.6、配置Zabbix Agent

?Zabbix-Server容器啟動(dòng)時(shí)已配置鏈接到Zabbix-Agent,容器內(nèi)部可直接找到,故這里的接口類型使用DNS方式即可。

圖片

?批量創(chuàng)建Zabbix-AgentN容器并正確配置后,稍等片刻再次刷新儀表盤,查看已能正常收集數(shù)據(jù)。

圖片

二、創(chuàng)建Zabbix用戶和告警媒介

2.1、添加Zabbix告警用戶

?目前Zabbix已具備完整的用戶權(quán)限管理體系,我們可以通過(guò)設(shè)置不同群組不同用戶授予不同操作和查看權(quán)限,滿足運(yùn)維團(tuán)隊(duì)的精細(xì)化管理。

?根據(jù)系統(tǒng)保障團(tuán)隊(duì)特點(diǎn),通常需要?jiǎng)?chuàng)建一、二線兩種運(yùn)維角色。通過(guò)左側(cè)導(dǎo)航->管理->用戶群組,創(chuàng)建一個(gè)名為 系統(tǒng)保障團(tuán)隊(duì)的群組,主機(jī)權(quán)限視具體情況勾選主機(jī)群組、并授予 讀或 讀寫,如下圖所示:

圖片

?左側(cè)導(dǎo)航->管理->用戶,創(chuàng)建兩個(gè)Zabbix Web用戶,"用戶名"分別為:servicedesk、appadmin,"用戶名第一部分"分別為:運(yùn)維服務(wù)臺(tái)(一線)、應(yīng)用運(yùn)維(二線)。群組均為:系統(tǒng)保障團(tuán)隊(duì),如下圖所示:

圖片

?切到用戶權(quán)限頁(yè),勾選角色為:User role,當(dāng)然這里可視實(shí)際情況而定,如下圖所示:

圖片

2.2、添加企業(yè)微信群機(jī)器人

?創(chuàng)建一個(gè)Zabbix告警通知專用企微群,通過(guò)群窗口進(jìn)入管理界面。點(diǎn)擊添加群機(jī)器人賦予名字后,復(fù)制地址獲取完整WebHook鏈接。

圖片

2.3、創(chuàng)建Webhook告警媒介

?左側(cè)導(dǎo)航->管理->媒介->創(chuàng)建媒介類型,填入名稱"WXWork_RoBot",點(diǎn)擊編輯腳本,復(fù)制以下內(nèi)容進(jìn)行填充。

try {
    var params = JSON.parse(value),
        request = new HttpRequest(),
        msg = {
            msgtype: 'markdown',
            markdown: {
                content: params.Subject + '\n' + params.Message
            }
        },
        response;
    if (params.HTTPProxy) {
        request.setProxy(params.HTTPProxy);
    }
    request.addHeader('Content-Type: application/json');
    response = request.post(params.To,JSON.stringify(msg)
    );
    response = JSON.parse(response);  
    if (request.getStatus() != 200) {
        throw 'Response Status: ' + request.getStatus();
    }
    if (response.errcode !== 0) {
        throw 'Response errcode: ' + response.errcode + '\n' + 'Response errmsg: ' + response.errmsg;
    }
    return JSON.stringify(response);
}catch (error) {
    throw 'Sending failed: ' + error;
}

?其他參數(shù)保持和下圖一致即可。

圖片

2.4、測(cè)試Webhook告警媒介

?Zabbix Web端同樣提供WebHook媒介的測(cè)試,以便驗(yàn)證配置的正確性。通過(guò)左側(cè)導(dǎo)航->管理->媒介,找到"WXWork_RoBot",在動(dòng)作列點(diǎn)擊 測(cè)試。參數(shù)說(shuō)明:

HTTPProxyHTTP代理:留空

Message消息體輸入:"測(cè)試內(nèi)容、測(cè)試內(nèi)容"

Subject標(biāo)題體輸入"# 測(cè)試標(biāo)題"

To發(fā)送體輸入:企微Webhook機(jī)器人完整鏈接

圖片

?點(diǎn)擊下方測(cè)試,如無(wú)例外,在企微專用告警群里,你會(huì)收到機(jī)器人 小Z發(fā)出的如下消息:

圖片

?假若告警媒介出現(xiàn)問(wèn)題,JS腳本會(huì)自動(dòng)拋出對(duì)應(yīng)異常信息,如下圖所示:

圖片

?如下是輸入錯(cuò)誤的企微機(jī)器人地址后拋出的異常

Sending failed: Response errcode: 93000 Response errmsg: invalid webhook url, hint: [1670835060365200618705084], from ip: x.x.x.x, more info at https://open.work.weixin.qq.com/devtool/query?e=93000

2.5、配置Zabbix告警動(dòng)作

?Zabbix的告警動(dòng)作對(duì)檢測(cè)到的異常采取不同的通知措施。這里,通過(guò)左側(cè)導(dǎo)航->配置->動(dòng)作->觸發(fā)器動(dòng)作,創(chuàng)建三種告警動(dòng)作:告警動(dòng)作、告警恢復(fù)動(dòng)作、告警更新動(dòng)作,來(lái)實(shí)現(xiàn)系統(tǒng)保障團(tuán)隊(duì)對(duì)告警的閉環(huán)處理。

?系統(tǒng)保障團(tuán)隊(duì)可通過(guò)自身情況選擇將不同告警階段動(dòng)作的信息發(fā)送給不同的團(tuán)隊(duì)。配置過(guò)程中,三種告警動(dòng)作參數(shù)全部保持一致,即發(fā)給用戶組 Admin(Zabbix Administrator)、僅送到告警媒介 WXWork_Robot。

圖片

?關(guān)于告警動(dòng)作解釋:

告警動(dòng)作,即當(dāng)告警出現(xiàn)時(shí),Zabbix將告警信息發(fā)送給哪些用戶.

告警恢復(fù)動(dòng)作,即當(dāng)告警恢復(fù)時(shí),Zabbix將告警信息發(fā)送給哪些用戶。

告警恢復(fù)動(dòng)作,即當(dāng)告警信息變化時(shí),Zabbix將變化發(fā)送給哪些用戶。

?最終觸發(fā)器告警動(dòng)作的完整視圖,如下圖所示:

圖片

2.6、配置Zabbix告警消息模板

?Zabbix告警動(dòng)作需要結(jié)合對(duì)應(yīng)報(bào)警媒介中的消息模板完成告警消息的推送,這里的消息模板分別對(duì)應(yīng)前面配置三個(gè)告警動(dòng)作,即:

告警動(dòng)作->消息模板:?jiǎn)栴}

告警恢復(fù)動(dòng)作->消息模板:?jiǎn)栴}恢復(fù)

告警更新動(dòng)作->消息模板:?jiǎn)栴}更新

?最終配置,如下圖所示:

圖片

圖片

圖片

三、Zabbix6.2動(dòng)作之更新操作通知

3.1、觸發(fā)Zabbix告警消息

?為了校驗(yàn)告警有效性,通常需要人為觸發(fā)告警。當(dāng)然,觸發(fā)方式由很多種,你可以縮短item收集時(shí)間,也可以暴力直接拉升服務(wù)器負(fù)載。

?這里通過(guò)Zabbix Agent節(jié)點(diǎn)執(zhí)行dd命令,迅速拉滿節(jié)點(diǎn)CPU,觸發(fā)Zabbix告警。

cpu_count=`cat /proc/cpuinfo | grep "physical id" | wc -l`;echo "當(dāng)前節(jié)點(diǎn)核心數(shù): ${cpu_count} 個(gè)";for i in `seq 1 ${cpu_count}`; do echo -e "--------\n正在拉滿核心${i}"; dd if=/dev/zero of=/dev/null & sleep 5; done
當(dāng)前節(jié)點(diǎn)核心數(shù): 2 個(gè)
--------
正在拉滿核心1
[1] 5802
--------
正在拉滿核心2
[2] 5807

?通過(guò) top -H很快就能看到 CPU idel值已接近或處于0,告警在即。

圖片

PS:結(jié)束上述命令可以使用 pkill -9 dd

3.2、接收Z(yǔ)abbix告警消息

?人為觸發(fā)告警后,一線服務(wù)臺(tái)巡檢或聽到告警音(如啟用)儀表盤時(shí),就會(huì)已看到告警條。

圖片

?在企微專用告警群里,成功接收到告警信息,如下圖所示:

圖片

3.3、處置Zabbix告警消息

?按系統(tǒng)保障團(tuán)隊(duì)工作流程機(jī)制,一線服務(wù)臺(tái)需要在限定時(shí)間內(nèi)電話知達(dá)當(dāng)日值班二線或相關(guān)服務(wù)負(fù)責(zé)人。此時(shí)一線服務(wù)臺(tái)在儀表盤上,點(diǎn)擊告警條上的"否",對(duì)問(wèn)題進(jìn)行跟蹤反饋。

圖片

?1)此時(shí)在告警群里,已看到一線服務(wù)臺(tái)對(duì)Zabbix告警信息做出響應(yīng)。

圖片

?2)當(dāng)日值班二線或相關(guān)服務(wù)負(fù)責(zé)人收到告警后,立即對(duì)告警問(wèn)題進(jìn)行處置,如解決問(wèn)題得到解決,對(duì)告警信息進(jìn)行評(píng)價(jià)。

圖片

?3)Zabbix監(jiān)控繼續(xù)對(duì)問(wèn)題項(xiàng)進(jìn)行檢索,如滿足恢復(fù)條件,自動(dòng)發(fā)送告警恢復(fù)信息。

圖片

?4)一線服務(wù)臺(tái)接收到恢復(fù)告警后,確認(rèn)并記錄問(wèn)題,最終完成整個(gè)告警問(wèn)題的閉環(huán)處理。

圖片

?根據(jù)經(jīng)驗(yàn),在運(yùn)維事件管理中,有效地記錄系統(tǒng)保障人員的問(wèn)題處理時(shí)間和根因分析,定期做復(fù)盤,這對(duì)提升團(tuán)隊(duì)的服務(wù)質(zhì)量有很大的幫助。

四、小結(jié)

?除了可以在線反饋問(wèn)題處理進(jìn)度外,Zabbix告警確認(rèn)(ACK)功能還能改變告警等級(jí)從嚴(yán)或簡(jiǎn)單處理,通過(guò)也能對(duì)告警通知信息進(jìn)行抑制和屏蔽。

責(zé)任編輯:武曉燕 來(lái)源: Zabbix開源社區(qū)
相關(guān)推薦

2024-07-26 08:30:03

數(shù)據(jù)分析數(shù)據(jù)業(yè)務(wù)

2023-09-12 07:11:33

Prometheus聚合告警GPT

2020-12-31 08:36:03

Zabbix郵箱告警Python

2021-03-31 08:02:34

Prometheus 監(jiān)控運(yùn)維

2014-03-12 16:09:21

Zabbix短信報(bào)警

2022-03-01 11:33:36

企業(yè)微信Zabbix監(jiān)控軟件

2024-03-26 11:37:08

數(shù)據(jù)分析業(yè)務(wù)

2022-04-11 07:47:45

zabbix郵件告警項(xiàng)目

2022-01-21 08:36:21

LogstashZabbix監(jiān)控

2011-01-21 16:27:43

NagiosSendmail

2022-09-19 08:32:46

AOP系統(tǒng)機(jī)器人

2022-11-28 11:43:24

數(shù)據(jù)分析不及格數(shù)據(jù)驗(yàn)證

2022-08-29 09:15:54

自動(dòng)駕駛數(shù)據(jù)

2010-03-04 09:20:48

Android接口

2024-03-25 08:32:57

灰度Bitmap平均值

2022-02-22 10:58:45

閉環(huán)自動(dòng)化網(wǎng)絡(luò)

2010-02-23 17:23:26

Python異常處理

2010-05-17 10:04:45

2020-12-10 09:41:15

ZabbixOracle數(shù)據(jù)庫(kù)

2021-06-02 08:47:03

Zabbix5.2釘釘機(jī)器人告警圖運(yùn)維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)