摘要:或參考集成安裝文檔通過(guò)微信報(bào)警提供腳本命令插件,通過(guò)新增用戶通知的方式,調(diào)用命令將告警通知發(fā)送至云告警平臺(tái),根據(jù)通知策略,分派和通知到用戶,提供微信短信電話和郵件方式。
引言
Nagios 作為業(yè)界非常強(qiáng)大的一款開(kāi)源監(jiān)視系統(tǒng)。
監(jiān)控網(wǎng)絡(luò)服務(wù)(SMTP、POP3、HTTP、NNTP、PING 等);
監(jiān)控主機(jī)資源(處理器負(fù)荷、磁盤(pán)利用率等);
簡(jiǎn)單地插件設(shè)計(jì)使得用戶可以方便地?cái)U(kuò)展自己服務(wù)的檢測(cè)方法;這一點(diǎn)是 Nagios‘er 們非常喜歡的。
當(dāng)服務(wù)或主機(jī)問(wèn)題產(chǎn)生與解決時(shí)將告警發(fā)送給聯(lián)系人(通過(guò) EMail、短信、用戶定義方式);需要配套的郵件服務(wù)器和短信網(wǎng)關(guān)對(duì)接。
另外還支持 Cacti 、 Ganglia、OpenTSDB 告警接入,強(qiáng)大的 Nagios 還有什么做不到的?作為一個(gè)告警平臺(tái),Nagios 已經(jīng)是很強(qiáng)大了,然而在通知方面,特別是微信、短信、電話提醒通知方面還是短板,下面以目前最新版Nagios4.0.8+OneAlert 實(shí)現(xiàn)監(jiān)控和微信提醒。
安裝說(shuō)明如果你從來(lái)沒(méi)有接觸過(guò) Nagios,請(qǐng)按照以下步驟安裝 Nagios,如果你對(duì) Nagios 非常熟悉或者機(jī)器中有 Nagios,請(qǐng)?zhí)^(guò)安裝步驟,直接進(jìn)入 OneAlert 的報(bào)警設(shè)置。 也可以參考
Nagios 官網(wǎng)。
Nagios 服務(wù)器: 10.128.6.38 CentOS 6.5 64bit 被監(jiān)控機(jī)器: 10.128.14.102 CentOS 6.7 64bit
安裝 Nagios 和 Nagios 插件(安裝過(guò)程中標(biāo)紅的操作為安裝 Apache,方便我們后面的調(diào)試,可以選擇性安裝,建議安裝 Apache,因?yàn)橛许?yè)面的交互方面快捷。)
安裝 Nagios 服務(wù)器在服務(wù)器10.128.6.38上安裝 Nagios Server 相關(guān)軟件。
1.依賴包安裝
請(qǐng)使用 root 用戶或者 sudo 權(quán)限安裝相關(guān)依賴包,建議先執(zhí)行更新:
`yum update
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel`
2.創(chuàng)建用戶組
創(chuàng)建 Nagios 用戶,并設(shè)置初始密碼
`useradd -m nagios(/usr/sbin/useradd -m nagios)
passwd nagios(提示輸入兩次密碼)`
創(chuàng)建用戶組 nagcmd,允許外部命令通過(guò) Web 接口提交動(dòng)作,并將 Nagios 和 Apache 用戶加入該用戶組中.
`/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache`
3.下載 Nagios 和插件
在~目錄創(chuàng)建子目錄 downloads
`mkdir ~/downloads
cd ~/downloads`
下載 Nagios 和插件(visit https://www.nagios.org/download/ ),以 Nagios 4.0.8 和插件 Nagios Plugins 2.0.3為例:
下載 Nagios 4.0.8
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
下載 Nagios Plugins 2.0.3插件
wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
4.編譯安裝 Nagios
`cd ~/downloads
tar xzf nagios-4.0.8.tar.gz
cd nagios-4.0.8
./configure --with-command-group=nagcmd`
`make all
make install
make install-init
make install-config
make install-commandmode`
5.編譯安裝插件
`cd ~/downloads
tar xzf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
./configure --with-nagios-user=nagios --with-nagios- group=nagios
make
make install`
6.啟動(dòng) Nagios
將 Nagios設(shè)置為開(kāi)機(jī)啟動(dòng)
`chkconfig --add nagios
chkconfig nagios on`
檢查配置文件是否正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果沒(méi)有錯(cuò)誤,啟動(dòng) Nagios
service nagios start
7.修改 linux 的 SElinux 配置(兩種方法)
設(shè)置linux為混雜模式,該方法重啟后不生效
setenforce 0
或直接修改配置文件
vi /etc/selinux/config
設(shè)置為 SELINUX=permissive,修改完畢后重啟服務(wù)器
8.允許 cgi 運(yùn)行
`chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/`
至此 Nagios 和插件都已經(jīng)安裝完成了。
在這里我們要多講一句,Nagios 安裝的只是服務(wù)端,真正監(jiān)控服務(wù)器信息的是 Nagios Plugins 2.0.3插件實(shí)現(xiàn)的監(jiān)控。我們目前僅在本機(jī)上安裝了插件,因此僅僅監(jiān)控的是10.128.6.38這臺(tái)機(jī)器,想要監(jiān)控其他機(jī)器的環(huán)境,繼續(xù)向下看。讓我們看一下 Nagios的監(jiān)控界面
但是我們知道,如果服務(wù)器出現(xiàn)大問(wèn)題,我們需要第一時(shí)間收到報(bào)警的通知,此時(shí) OneAlert 就要登場(chǎng)了。讓我們看一下如何使用 OneAlert 對(duì) Nagios 進(jìn)行報(bào)警設(shè)置。
或參考 OneAlert 集成 Nagios 安裝文檔
OneAlert 提供 Agent Shell 腳本命令插件, Nagios 通過(guò)新增用戶通知contacts的方式,調(diào)用 Shell命令將告警通知發(fā)送至 OneAlert云告警平臺(tái),OneAlert 根據(jù)通知策略,分派和通知到用戶,提供微信、短信、電話和郵件方式。
1.注冊(cè)并創(chuàng)建應(yīng)用
猛戳
這里注冊(cè),OneAlert支持很多應(yīng)用,我們現(xiàn)在創(chuàng)建 Nagios 應(yīng)用,并獲取appkey,3adac4c9-3a82-76af-7b33-0a0bdf16334d
見(jiàn)下圖
如果有很多 Nagios,可以新建多個(gè)應(yīng)用,分別接入。
建議告警關(guān)閉時(shí)間大于 Nagios 告警提醒間隔,如90分鐘,即超過(guò)90分鐘,沒(méi)有新的告警,就自動(dòng)關(guān)閉告警。
2.安裝 OneAlert Agent
在 Nagios 服務(wù)器10.128.6.38上下載最新版本 OneAlert Agent。參考官網(wǎng)
下文以 Nagios 默認(rèn)安裝路徑 /usr/local/nagios/ 為例,如果你的 Nagios 服務(wù)器不是安裝在該目錄,請(qǐng)自行替換。
`tar xvf alert-agent-4.0.1-RC1.tar.gz
cp -R alert-agent /usr/local/nagios/libexec/
cp alert-agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/
chmod +x /usr/local/nagios/libexec/nagios
cp alert-agent/plugin/nagios-plugin/110monitor.cfg /usr/local/nagios/etc/objects/`
3.修改配置
修改默認(rèn)用戶 110monitor 的聯(lián)系方式,在文件 /usr/local/nagios/etc/objects/110monitor.cfg 中,設(shè)置pager為上面應(yīng)用的 appkey: 例如 3adac4c9-3a82-76af-7b33-0a0bdf16334d
vi /usr/local/nagios/etc/objects/110monitor.cfg
define contact{ contact_name 110monitor ; The name of this contact template alias 110monitor ; service_notification_period 24x7 ;service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-110monitor ; send service notifications via email host_notification_commands notify-host-by-110monitor ; send host notifications via email pager 3adac4c9-3a82-76af-7b33-0a0bdf16334d ; your nagios app key }
修改/usr/local/nagios/etc/objects/contacts.cfg,新增110monitor到默認(rèn)聯(lián)系組.
vi /usr/local/nagios/etc/objects/contacts.cfg
define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,110monitor }
修改 /usr/local/nagios/etc/nagios.cfg,將 110monitor.cfg 新增到 nagios.cfg 中
vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/110monitor.cfg
可選為了讓告警信息顯示更友好,建議修改 nagios.cfg 由原先 us 更改為 iso8601
date_format=iso8601
4.重啟 Nagios
重啟前檢查下配置是不是正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果沒(méi)有報(bào)錯(cuò),就可以重啟 Nagios 了
service nagios restart
5.完成
基本上按照上面配置就 OK 了,后面需要驗(yàn)證下是否正常發(fā)送。最簡(jiǎn)單的方式是將禁 Ping Nagios 服務(wù)器。
`echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 禁ping
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 恢復(fù)ping`
禁 Ping 后,Nagios 服務(wù)器會(huì)發(fā)生告警,默認(rèn)嘗試3次后發(fā)送告警通知。我們通過(guò)跟蹤 OneAlert Agent 日志就可以看出來(lái):
tail -f /usr/local/nagios/libexec/alert-agent/log/agent.log
10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"}`
恭喜你,已經(jīng)完成 Nagios 的安裝集成,登錄到 OneAlert 控制臺(tái),用微信進(jìn)行掃碼即可用微信實(shí)現(xiàn)報(bào)警。
好了,后續(xù)可以接著安裝 Nagios 被監(jiān)控服務(wù)器了。
安裝 Nagios 被監(jiān)控服務(wù)器之前是安裝了 Nagios Server,接下來(lái)我們可以在其他應(yīng)用服務(wù)器,被監(jiān)控節(jié)點(diǎn)10.128.14.102上安裝 Nagios Agent 了。
1、提前準(zhǔn)備
使用 root 權(quán)限
`yum install gcc glibc glibc-common
yum install gd gd-devel
yum install openssl openssl-devel
yum install xinetd`
2、新增 Nagios 用戶
`/usr/sbin/useradd -m nagios
passwd nagios`
`/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios`
3、安裝插件
wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
`./configure --with-nagios-group=nagcmd
make
make install
chown -R nagios:nagcmd /usr/local/nagios/`
安裝 nrpe 插件
wget http://downloads.sourceforge.net/project/nHYPERLINK "http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnagios%2Ffiles%2Fnrpe-2.x%2Fnrpe-2.15%2F&ts=1440644699&use_mirror=jaist"agios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
./configure —with-nagios-group=nagcmd
`make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd`
4、修改配置
修改 only_from= 127.0.0.1 10.128.6.38(10.128.6.38為 nagios 服務(wù)端ip地址)
vi /etc/xinetd.d/nrpe
在 Nagios 服務(wù)器上增加對(duì)被監(jiān)控機(jī)器的監(jiān)控,先看看被監(jiān)控機(jī)器上的 nrpe 配置
more /usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/vda1 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
以上命令[check_hda1]就是檢測(cè)被監(jiān)控機(jī)器 10.128.14.102 的磁盤(pán)空間,20% 空閑時(shí)警告,10% 空閑時(shí)嚴(yán)重告警。那么 Nagios 服務(wù)器 10.128.6.38 就要通過(guò) nrpe 調(diào)用監(jiān)控對(duì)應(yīng)命令。
現(xiàn)在進(jìn)入 Nagios 服務(wù)器 10.128.6.38,編寫(xiě)對(duì)應(yīng)的監(jiān)測(cè)命令,加入一個(gè) linux-server,和對(duì)應(yīng)監(jiān)控命令。
vi /usr/local/nagios/etc/objects/localhost.cfg 加入機(jī)器:
配置如下圖:
紅色為添加項(xiàng)(對(duì)圖片的文字描述,一個(gè)意思。)
define host{ use linux-server host_name localhost alias localhost address 127.0.0.1 } define host{ use linux-server host_name ligehost alias ligehost address 10.128.14.102 }
define hostgroup{ hostgroup_name linux-servers alias Linux Server members localhost,ligehost }
define service{ use local-service host_name localhost,ligehost service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service host_name localhost,ligehost service_description Root Partition check_command check_local_disk!20%!10%!/ }
修改完畢后,重新加載配置
service nagios reload
可看到監(jiān)控如圖所示:
好了 ,現(xiàn)在全部配置完畢,Nagios 監(jiān)控正常,如果服務(wù)故障,會(huì)通過(guò) OneAlert 平臺(tái)統(tǒng)一告警。
OneAlert 是北京藍(lán)海訊通科技有限公司旗下產(chǎn)品,中國(guó)首個(gè) SaaS 模式的云告警平臺(tái),集成國(guó)內(nèi)外主流監(jiān)控/支撐系統(tǒng),實(shí)現(xiàn)一個(gè)平臺(tái)上集中處理所有IT事件,提升IT可靠性。想了解更多信息,請(qǐng)?jiān)L問(wèn) OneAlert 官網(wǎng) 。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/7925.html
摘要:前言告警將重要信息發(fā)送給運(yùn)維或者其他相關(guān)人,及時(shí)發(fā)現(xiàn)并且處理問(wèn)題。在所有開(kāi)源監(jiān)控軟件里面,的告警方式無(wú)疑是最棒的。在發(fā)生告警之后立即發(fā)送郵件和微信消息給用戶,分鐘后還未確認(rèn),那么發(fā)送短信,分鐘還未確認(rèn)則打電話給用戶。 1. 前言 告警將重要信息發(fā)送給運(yùn)維「或者其他相關(guān)人」,及時(shí)發(fā)現(xiàn)并且處理問(wèn)題。在所有開(kāi)源監(jiān)控軟件里面,Zabbix 的告警方式無(wú)疑是最棒的。告警的方式各式各樣,從 Ema...
摘要:如何有效處理緊急事件驅(qū)動(dòng)的工作,成為特別是運(yùn)維主管運(yùn)維工作的關(guān)鍵。通知到位和及時(shí)響應(yīng)。機(jī)器學(xué)習(xí)領(lǐng)域是未來(lái)的重要發(fā)展方向,目前我們還在摸索中。機(jī)器學(xué)習(xí)告警合并事件單的處理如果告警量很大,告警后續(xù)處理和跟蹤往往會(huì)依賴于外部團(tuán)隊(duì)部門(mén)外或公司外。 編者按]本文作者為陳伯龍,云告警平臺(tái)[OneAlert創(chuàng)始人,著《云計(jì)算與OpenStack》,在IT運(yùn)營(yíng)管理、云計(jì)算方面從業(yè)10多年。 正文 互聯(lián)...
摘要:如何有效處理緊急事件驅(qū)動(dòng)的工作,成為特別是運(yùn)維主管運(yùn)維工作的關(guān)鍵。通知到位和及時(shí)響應(yīng)。機(jī)器學(xué)習(xí)領(lǐng)域是未來(lái)的重要發(fā)展方向,目前我們還在摸索中。機(jī)器學(xué)習(xí)告警合并事件單的處理如果告警量很大,告警后續(xù)處理和跟蹤往往會(huì)依賴于外部團(tuán)隊(duì)部門(mén)外或公司外。 編者按]本文作者為陳伯龍,云告警平臺(tái)[OneAlert創(chuàng)始人,著《云計(jì)算與OpenStack》,在IT運(yùn)營(yíng)管理、云計(jì)算方面從業(yè)10多年。 正文 互聯(lián)...
摘要:也有幸和全球說(shuō)運(yùn)維負(fù)責(zé)人李云偉先生進(jìn)行一次深入溝通。面臨挑戰(zhàn)全球說(shuō)的應(yīng)用主要是在線系統(tǒng)和移動(dòng)為主。是北京科技有限公司旗下產(chǎn)品,中國(guó)首個(gè)模式的,集成國(guó)內(nèi)外主流監(jiān)控支撐系統(tǒng),實(shí)現(xiàn)一個(gè)平臺(tái)上集中處理所有事件,提升可靠性。 客戶背景 「全球說(shuō)」 Talkmate,是北京酷語(yǔ)時(shí)代教育科技有限公司(酷語(yǔ)科技)旗下產(chǎn)品,酷語(yǔ)科技是一家誕生于中國(guó)的語(yǔ)言技術(shù)公司,致力于為全球用戶提供一個(gè)全新的多語(yǔ)言學(xué)習(xí)...
閱讀 3589·2021-09-22 10:52
閱讀 1599·2021-09-09 09:34
閱讀 2001·2021-09-09 09:33
閱讀 768·2019-08-30 15:54
閱讀 2687·2019-08-29 11:15
閱讀 725·2019-08-26 13:37
閱讀 1680·2019-08-26 12:11
閱讀 2987·2019-08-26 12:00