欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年04月17日 09:00:49   作者:yutao_517  
zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案,下面這篇文章主要給大家介紹了關(guān)于Zabbix自定義腳本監(jiān)控nginx以及微信告警的相關(guān)資料,需要的朋友可以參考下

項(xiàng)目描述

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

項(xiàng)目步驟

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

項(xiàng)目心得

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

詳細(xì)步驟

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

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

nginx配置增加stub_status模塊

location = /wyt_status{
stub_status;}

測(cè)試狀態(tài)統(tǒng)計(jì)功能是否打開(kāi)

http://192.168.2.58/wyt_status\

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

cd /etc/zabbix/zabbix_agentd.d 
#在zabbix_agentd.d目錄下編寫(xiě)監(jiān)控腳本
vim zabbix-nginx_status.sh
#!/bin/bash
case $1 in
        active)
                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
                #通過(guò)查詢進(jìn)程PID值,測(cè)試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
#指定動(dòng)作
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ù)端測(cè)試是否返回參數(shù)1

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

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

添加應(yīng)用集nginx

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

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

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

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

因?yàn)槲覀儽O(jiān)控實(shí)際上就是在一直請(qǐng)求,所以看到nginx-requests在不斷增加。

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

注冊(cè)成功之后創(chuàng)建一個(gè)運(yùn)維部門

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

自建應(yīng)用

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

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

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

zabbix-server接口腳本配置告警

Shell腳本

cd /usr/lib/zabbix/alertscripts
進(jìn)入腳本配置文件夾
vim weixin.sh
#!/bin/bash

CorpID="wwaa6fb8ff1b81aa77"     # 你的企業(yè)id
Secret="Cxyd*****"    #你的SecretID
GURL="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 $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"

function body(){
        local int agentid=1000002               # 你的agentdid
        local UserID="@all"                 # 發(fā)送的用戶ID
        local PartyID=1                  # 部門ID
        local 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

測(cè)試腳本能否正常接收消息

可以看到正常接收。

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

zabbix-server-web配置告警

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

創(chuàng)建用戶群組

創(chuàng)建用戶

報(bào)警媒介

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

配置->動(dòng)作

添加觸發(fā)器

操作

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

恢復(fù)操作

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

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


可以看到推送成功

Python webhook機(jī)器人腳本

新建一個(gè)測(cè)試群聊,在群里添加機(jī)器人,記住webhook地址

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

#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=****”
#填寫(xiě)自己的webhook地址
def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)
              

測(cè)試

python weixin.py test

web配置同上

總結(jié) 

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

相關(guān)文章

  • zabbix在web頁(yè)面顯示中文亂碼問(wèn)題解決辦法

    zabbix在web頁(yè)面顯示中文亂碼問(wèn)題解決辦法

    這篇文章主要給大家介紹了關(guān)于zabbix在web頁(yè)面顯示中文亂碼問(wèn)題的解決辦法,最近發(fā)現(xiàn)zabbix在使用中會(huì)發(fā)現(xiàn)中文欄目顯示亂碼,所以這里將解決辦法分享下,需要的朋友可以參考下
    2023-07-07
  • Zabbix遠(yuǎn)程執(zhí)行命令的示例詳解

    Zabbix遠(yuǎn)程執(zhí)行命令的示例詳解

    這篇文章主要介紹了Zabbix遠(yuǎn)程執(zhí)行命令,本文主要配置驗(yàn)證zabbix執(zhí)行遠(yuǎn)程命令的相關(guān)知識(shí),通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2020-03-03
  • zabbix自定義郵箱報(bào)警和微信報(bào)警

    zabbix自定義郵箱報(bào)警和微信報(bào)警

    這篇文章主要介紹了zabbix自定義郵箱報(bào)警和微信報(bào)警,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定需要的朋友可以參考下
    2007-09-09
  • Zabbix對(duì)Kafka?topic積壓數(shù)據(jù)監(jiān)控的解決方案

    Zabbix對(duì)Kafka?topic積壓數(shù)據(jù)監(jiān)控的解決方案

    這篇文章主要介紹了Zabbix對(duì)Kafka?topic積壓數(shù)據(jù)監(jiān)控的解決方案,它與Apache Storm和Spark非常好地集成,用于實(shí)時(shí)流式數(shù)據(jù)分析,需要的朋友跟隨小編一起看看吧
    2022-07-07
  • 關(guān)于YUM安裝部署Zabbix4.4.7使用mysql數(shù)據(jù)庫(kù)的問(wèn)題

    關(guān)于YUM安裝部署Zabbix4.4.7使用mysql數(shù)據(jù)庫(kù)的問(wèn)題

    這篇文章主要介紹了YUM安裝部署Zabbix4.4.7使用mysql數(shù)據(jù)庫(kù)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Zabbix自定義腳本監(jiān)控nginx以及微信告警的全過(guò)程

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

    zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案,下面這篇文章主要給大家介紹了關(guān)于Zabbix自定義腳本監(jiān)控nginx以及微信告警的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Zabbix郵件報(bào)警設(shè)置方法

    Zabbix郵件報(bào)警設(shè)置方法

    這篇文章主要介紹了Zabbix郵件報(bào)警設(shè)置方法,在Zabbix服務(wù)端設(shè)置郵件報(bào)警,當(dāng)被監(jiān)控主機(jī)宕機(jī)或者達(dá)到觸發(fā)器預(yù)設(shè)值時(shí),會(huì)自動(dòng)發(fā)送報(bào)警郵件到指定郵箱
    2014-10-10
  • 史上最便捷搭建Zookeeper服務(wù)器的方法(推薦)

    史上最便捷搭建Zookeeper服務(wù)器的方法(推薦)

    由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的穩(wěn)定性,被廣泛地應(yīng)用于諸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系統(tǒng)中。這篇文章主要介紹了史上最便捷搭建Zookeeper服務(wù)器的方法,需要的朋友可以參考下
    2020-06-06
  • zabbix監(jiān)控sqlserver的過(guò)程詳解

    zabbix監(jiān)控sqlserver的過(guò)程詳解

    這篇文章主要介紹了zabbix監(jiān)控sqlserver的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 在centos7安裝zabbix3.0的超詳細(xì)步驟記錄

    在centos7安裝zabbix3.0的超詳細(xì)步驟記錄

    這篇文章主要給大家介紹了關(guān)于在centos7安裝zabbix3.0的超詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10

最新評(píng)論