亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Zabbix自定義腳本監(jiān)控nginx以及微信告警的全過程

瀏覽:246日期:2023-04-06 15:09:25
目錄
  • 項目描述
  • 項目步驟
  • 項目心得
  • 詳細(xì)步驟
    • zabbix-agent客戶端nginx配置監(jiān)控
    • zabbix-server-web配置監(jiān)控
    • 注冊企業(yè)微信接口
    • zabbix-server接口腳本配置告警
    • zabbix-server-web配置告警
    • zabbix-agent關(guān)停nginx服務(wù)測試
  • 總結(jié)

    項目描述

    本項目的目的是構(gòu)建一個能實現(xiàn)微信告警的zabbix監(jiān)控系統(tǒng),方便的監(jiān)控整個NGINX集群,同時能批量的去部署和管理整個集群。

    項目步驟

    • zabbix服務(wù)端(192.168.2.138)安裝好zabbix server,nginx端安裝好zabbix agent(192.168.2.58),配置好Nginx負(fù)載均衡集群,并打開狀態(tài)統(tǒng)計。
    • nginx端編寫監(jiān)控腳本,取到nginx的狀態(tài)。
    • 服務(wù)端web添加監(jiān)控項,出圖。
    • 注冊企業(yè)微信,配置好微信接口。
    • zabbix服務(wù)端添加接口推送腳本,測試接口正常。
    • 在web端配置報警媒介,群組和用戶,添加相關(guān)觸發(fā)器和動作。
    • nginx關(guān)停服務(wù),測試是否能通過微信告警。

    項目心得

    在測試接收消息過程中,返回值一直是參數(shù){ALTER.MESSAGE},排查腳本問題,版本問題,最后發(fā)現(xiàn)是參數(shù){ALERT.MESSAGE},所以打字一定要細(xì)心,認(rèn)真。同時對監(jiān)控也有了一定的認(rèn)識,運維人員不可能7*24小時盯著zabbix看,所以做到及時告警是非常必要的,對之前的高可用web集群項目葉可以進行完善。

    詳細(xì)步驟

    zabbix-agent客戶端nginx配置監(jiān)控

    nginx打開狀態(tài)統(tǒng)計功能

    nginx配置增加stub_status模塊

    location = /wyt_status{stub_status;}

    測試狀態(tài)統(tǒng)計功能是否打開

    http://192.168.2.58/wyt_status\

    nginx端(zabbix客戶端)編寫監(jiān)控腳本

    cd /etc/zabbix/zabbix_agentd.d #在zabbix_agentd.d目錄下編寫監(jiān)控腳本vim zabbix-nginx_status.sh
    #!/bin/bashcase $1 inactive)curl http://192.168.2.58:80/wyt_status 2>/dev/null|awk "/Active/ {print $NF}";;accepts)curl http://192.168.2.58:80/wyt_status 2>/dev/null|awk "NR==3 {print $1}";;handled)curl http://192.168.2.58:80/wyt_status 2>/dev/null |awk "NR==3 {print $2}";;requests)curl http://192.168.2.58:80/wyt_status 2>/dev/null |awk "NR==3 {print $3}";;reading)curl http://192.168.2.58:80/wyt_status 2>/dev/null |awk "NR==4 {print $2}";;writing)curl http://192.168.2.58:80/wyt_status 2>/dev/null |awk "NR==4 {print $4}";;waiting)curl http://192.168.2.58:80/wyt_status 2>/dev/null |awk "NR==4 {print $NF}";;   ping)pidof nginx |wc -l#通過查詢進程PID值,測試nginx存活狀態(tài);;esac  
    vim userparameter_nginx.conf#在zabbix_agentd.d目錄下自定義參數(shù)配置文件UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/zabbix-nginx_status.sh $1#指定動作chmod +x zabbix-nginx_status.sh#授予可執(zhí)行權(quán)限service zabbix-agent restart#刷新服務(wù)zabbix_get -k nginx.status[ping] -s 192.168.2.58#去服務(wù)端測試是否返回參數(shù)1

    zabbix-server-web配置監(jiān)控

    先創(chuàng)建nginx主機master-nginx

    添加應(yīng)用集nginx

    在應(yīng)用集nginx增加監(jiān)控項

    自定義觸發(fā)器nginx-up-down,監(jiān)控項為nginx-ping,正常為1,每5s監(jiān)控一次,若為0,嚴(yán)重警告。

    除nginx-ping,nginx-accepts外,需要添加所有狀態(tài)監(jiān)控項,只有nginx-ping創(chuàng)建觸發(fā)器,這里不一一舉例。

    添加好所有監(jiān)控項,下一步制圖,圖中包含所有監(jiān)控項

    因為我們監(jiān)控實際上就是在一直請求,所以看到nginx-requests在不斷增加。

    注冊企業(yè)微信接口

    注冊成功之后創(chuàng)建一個運維部門

    記住自己的企業(yè)ID

    自建應(yīng)用

    應(yīng)用名稱為zabbix監(jiān)控

    創(chuàng)建成功后,查看信息記住自己的AgentId和Secret

    微信掃碼企業(yè)微信插件就可以在微信接收消息

    zabbix-server接口腳本配置告警

    Shell腳本

    cd /usr/lib/zabbix/alertscripts進入腳本配置文件夾vim weixin.sh
    #!/bin/bashCorpID="wwaa6fb8ff1b81aa77"     # 你的企業(yè)idSecret="Cxyd*****"    #你的SecretIDGURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"Token=$(/usr/bin/curl -s -G $GURL |awk -F\": "{print $4}"|awk -F\" "{print $2}")# echo $TokenPURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"function body(){local int agentid=1000002       # 你的agentdidlocal UserID="@all" # 發(fā)送的用戶IDlocal PartyID=1  # 部門IDlocal Msg=$(echo "$@" | cut -d" " -f3-) # 發(fā)送給所有人printf "{\n"printf "\t"touser": """$UserID"\"",\n"printf "\t"toparty": """$PartyID"\"",\n"printf "\t"msgtype": "text",\n"printf "\t"agentid": """$agentid"\"",\n"printf "\t"text": {\n"printf "\t\t"content": """$Msg"\""\n"printf "\t},\n"printf "\t"safe":"0"\n"printf "}\n"}/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

    測試腳本能否正常接收消息

    可以看到正常接收。

    然后我們回到zabbix-server-web配置

    zabbix-server-web配置告警

    管理->報警媒介類型->創(chuàng)建媒體類型

    創(chuàng)建用戶群組

    創(chuàng)建用戶

    報警媒介

    權(quán)限->超級管理員

    配置->動作

    添加觸發(fā)器

    操作

    故障{TRIGGER.STATUS},服務(wù)器:{HOSTNAME1}發(fā)生{TRIGGER.NAME}故障!
    告警主機:{HOSTNAME1}
    告警時間:{EVENT.DATE} {EVENT.TIME}
    告警等級:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警項目:{TRIGGER.KEY1}
    問題詳情:{ITEM.NAME}:{ITEM.VALUE}
    當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    恢復(fù)操作

    恢復(fù){TRIGGER.STATUS}, 服務(wù)器:{HOSTNAME1}: {TRIGGER.NAME}已恢復(fù)!
    告警主機:{HOSTNAME1}
    告警時間:{EVENT.DATE} {EVENT.TIME}
    告警等級:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警項目:{TRIGGER.KEY1}
    問題詳情:{ITEM.NAME}:{ITEM.VALUE}
    當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    zabbix-agent關(guān)停nginx服務(wù)測試


    可以看到推送成功

    Python webhook機器人腳本

    新建一個測試群聊,在群里添加機器人,記住webhook地址

    除了使用Shell腳本配置接口之外,還可以使用Python腳本

    #!/usr/bin/python#-*- coding: utf-8 -*-import requestsimport jsonimport sysimport osheaders = {"Content-Type": "application/json;charset=utf-8"}api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=****”#填寫自己的webhook地址def msg(text):    json_text= {     "msgtype": "text","text": {    "content": text},    }    print requests.post(api_url,json.dumps(json_text),headers=headers).contentif __name__ == "__main__":    text = sys.argv[1]    msg(text)      

    測試

    python weixin.py test

    web配置同上

    總結(jié)

    到此這篇關(guān)于Zabbix自定義腳本監(jiān)控nginx以及微信告警的文章就介紹到這了,更多相關(guān)Zabbix自定義腳本監(jiān)控nginx內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標(biāo)簽: Zabbix
    主站蜘蛛池模板: 免费三级黄色片 | 2022国内精品免费福利视频 | 中文字幕专区在线亚洲 | 亚洲国产青草 | 国内视频一区 | japanesefree高清日本乱 | 二区三区视频 | chinese国产hdsex水滴 | 免费在线日韩 | 欧美三黑人一级特黄曰皮 | 日本黄色片网站 | 黄色一级视频片 | 女18一级大黄毛片免费女人 | 激情六月丁香婷婷 | 中文一级黄色片 | 黄色综合网站 | 国产一级黄色毛片 | 精品国产福利在线观看91啪 | 国产大片91精品免费看3 | 91久久婷婷国产综合精品青草 | 精品国产福利在线观看91啪 | 国产精品爱久久久久久久电影 | 国产精品久久久久网站 | 国语一区 | 免费看的黄色小视频 | 色图图片 | 久久婷婷成人综合色 | 特一级大黄在线观看 | 污黄在线观看 | 中国在线播放精品区 | 最新免费黄色网址 | 在线观看av片永久免费 | 美日韩在线观看 | 国产精品福利在线观看秒播 | 伊人这里只有精品 | 一级做人爰a全过程免费视频 | 国产高清在线观看视频 | 日韩中文字幕免费版 | 成人爱爱网站在线观看 | 中文字幕在线不卡精品视频99 | 国产精品日韩欧美久久综合 |