zabbix郵件報警租幕、分級報警以及nginx的故障自愈

一、環(huán)境搭建(nginx監(jiān)控)

1拧簸、客戶端配置
(1)安裝nginx

yum install nginx -y

(2)配置nginx

vim /etc/nginx/nginx.conf

location /nginx_status {
                stub_status;
                allow 127.0.0.1;
                deny all ;
        }

(3)啟動nginx

systemctl start nginx.service

(4)編輯nginx監(jiān)控腳本

vim /etc/zabbix/zabbix_agentd.d/nginx_status.sh

#!/bin/bash 

nginx_status_fun(){ #函數(shù)內(nèi)容
    NGINX_PORT=$1 #端口劲绪,函數(shù)的第一個參數(shù)是腳本的第二個參數(shù),即腳本的第二個參數(shù)是段端口號
    NGINX_COMMAND=$2 #命令盆赤,函數(shù)的第二個參數(shù)是腳本的第三個參數(shù)贾富,即腳本的第三個參數(shù)是命令
    nginx_active(){ #獲取nginx_active數(shù)量,以下相同牺六,這是開啟了nginx狀態(tài)但是只能從本機看到
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
        }
    nginx_reading(){ #獲取nginx_reading狀態(tài)的數(shù)量
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
       }
    nginx_writing(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
       }
    nginx_waiting(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
       }
    nginx_accepts(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
       }
    nginx_handled(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
       }
    nginx_requests(){
        /usr/bin/curl "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
       }
    case $NGINX_COMMAND in
        active)
            nginx_active;
            ;;
        reading)
            nginx_reading;
            ;;
        writing)
            nginx_writing;
            ;;
        waiting)
            nginx_waiting;
            ;;
        accepts)
            nginx_accepts;
            ;;
        handled)
            nginx_handled;
            ;;
        requests)
            nginx_requests;
        esac 
}

main(){ #主函數(shù)內(nèi)容
    case $1 in #分支結(jié)構(gòu)颤枪,用于判斷用戶的輸入而進(jìn)行響應(yīng)的操作
        nginx_status) #當(dāng)輸入nginx_status就調(diào)用nginx_status_fun,并傳遞第二和第三個參數(shù)
            nginx_status_fun $2 $3;
            ;;
        *) #其他的輸入打印幫助信息
            echo $"Usage: $0 {nginx_status key}"
    esac #分支結(jié)束符
}

main $1 $2 $3

(5)修改腳本權(quán)限

chmod +x /etc/zabbix/zabbix_agentd.d/nginx_status.sh

(6)編輯zabbix-agent配置文件

vim /etc/zabbix/zabbix_agentd.conf

UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh $1 $2 $3

(7)重啟zabbix-agent

systemctl restart zabbix-agent.service

(8)server端測試

zabbix_get -s 192.168.43.101 -p 10050 -k "nginx.status[nginx_status,80,active]"

2淑际、新建模板以及鏈接主機
(1)新建模板或者導(dǎo)入已有的模板

創(chuàng)建模板

(2)鏈接主機
鏈接主機

(面)3畏纲、設(shè)置報警
(1)新建報警媒介
新建報警媒介

參數(shù)填寫

上面的配置相當(dāng)于是配置郵件的發(fā)件人扇住,由于使用的是163郵箱,服務(wù)使用的pop3服務(wù)盗胀,所以可以在163郵箱設(shè)置中查找pop3艘蹋,可以獲取服務(wù)器地址和端口,服務(wù)要確保開啟
pop3

smtp電郵填寫要發(fā)送的163郵箱票灰,生產(chǎn)中ssl要勾選簿训,認(rèn)證選擇用戶名和密碼,用戶名是發(fā)送郵件的163箱米间,密碼填寫授權(quán)碼
授權(quán)碼

(2)給用戶綁定報警方式
用戶或者用戶組

添加報警方式

(3)添加動作
添加動作

該圖展示的功能為當(dāng)zabbix觸發(fā)下面的這六項都會進(jìn)行發(fā)郵件處理,也可以選擇指定的報警程度膘侮,點擊添加就可屈糊,計算方式就選擇默認(rèn)的或者或,否則郵件不會進(jìn)行發(fā)送
添加操作

默認(rèn)的標(biāo)題和消息內(nèi)容可以進(jìn)行修改琼了,操作點擊新的逻锐,步驟是用來做分級告警的,持續(xù)時間選擇60雕薪,如果寫0昧诱,調(diào)用的時間就是最上面默認(rèn)操作步驟持續(xù)時間,

分級報警

分級報警

(面)4所袁、nginx的故障自愈
在使用zabbix監(jiān)控nginx時盏档,nginx故障之后,zabbix只是發(fā)告警給我們燥爷,但是zabbix也可以執(zhí)行遠(yuǎn)程命令蜈亩,運行腳本或者命令,實現(xiàn)nginx的重啟前翎。
(1)server端web界面創(chuàng)建新的動作
新動作

新操作

(2)開啟zabbix的sudo權(quán)限(將下面的一項加到root下面一行稚配,使用wq!強制保存)

vim /etc/sudoers

zabbix  ALL =(ALL)      NOPASSWD: ALL

(3)修改zabbix-agent配置文件

vim /etc/zabbix/zabbix_agentd.conf

EnableRemoteCommands=1·#允許遠(yuǎn)程執(zhí)行命令
UnsafeUserParameters=1  #允許使用一些特殊符號

(4)重啟程序

systemctl restart zabbix-agent.service
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市港华,隨后出現(xiàn)的幾起案子道川,更是在濱河造成了極大的恐慌,老刑警劉巖立宜,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冒萄,死亡現(xiàn)場離奇詭異,居然都是意外死亡赘理,警方通過查閱死者的電腦和手機宦言,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來商模,“玉大人奠旺,你說我怎么就攤上這事蜘澜。” “怎么了响疚?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵鄙信,是天一觀的道長。 經(jīng)常有香客問我忿晕,道長装诡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任践盼,我火速辦了婚禮鸦采,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咕幻。我一直安慰自己渔伯,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布肄程。 她就那樣靜靜地躺著锣吼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蓝厌。 梳的紋絲不亂的頭發(fā)上玄叠,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音拓提,去河邊找鬼读恃。 笑死,一個胖子當(dāng)著我的面吹牛崎苗,可吹牛的內(nèi)容都是我干的狐粱。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼胆数,長吁一口氣:“原來是場噩夢啊……” “哼肌蜻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起必尼,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蒋搜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后判莉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豆挽,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年券盅,在試婚紗的時候發(fā)現(xiàn)自己被綠了帮哈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡锰镀,死狀恐怖娘侍,靈堂內(nèi)的尸體忽然破棺而出咖刃,到底是詐尸還是另有隱情,我是刑警寧澤憾筏,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布嚎杨,位于F島的核電站,受9級特大地震影響氧腰,放射性物質(zhì)發(fā)生泄漏枫浙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一古拴、第九天 我趴在偏房一處隱蔽的房頂上張望箩帚。 院中可真熱鬧,春花似錦黄痪、人聲如沸膏潮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至轻纪,卻和暖如春油额,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刻帚。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工潦嘶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人崇众。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓掂僵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親顷歌。 傳聞我的和親對象是個殘疾皇子锰蓬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容