Nagios 安裝及微信短信提醒

引言

Nagios 作為業(yè)界非常強大的一款開源監(jiān)視系統(tǒng)。

  • 監(jiān)控網(wǎng)絡服務(SMTP妻怎、POP3壳炎、HTTP、NNTP逼侦、PING 等)匿辩;
  • 監(jiān)控主機資源(處理器負荷、磁盤利用率等)榛丢;
  • 簡單地插件設計使得用戶可以方便地擴展自己服務的檢測方法铲球;這一點是 Nagios‘er 們非常喜歡的。
  • 當服務或主機問題產(chǎn)生與解決時將告警發(fā)送給聯(lián)系人(通過 EMail晰赞、短信稼病、用戶定義方式);需要配套的郵件服務器和短信網(wǎng)關對接掖鱼。

另外還支持 Cacti 然走、 Ganglia、OpenTSDB 告警接入戏挡,強大的 Nagios 還有什么做不到的芍瑞?作為一個告警平臺,Nagios 已經(jīng)是很強大了褐墅,然而在通知方面拆檬,特別是微信、短信掌栅、電話提醒通知方面還是短板秩仆,下面以目前最新版Nagios4.0.8+OneAlert 實現(xiàn)監(jiān)控和微信提醒。

安裝說明

如果你從來沒有接觸過 Nagios猾封,請按照以下步驟安裝 Nagios澄耍,如果你對 Nagios 非常熟悉或者機器中有 Nagios,請?zhí)^安裝步驟晌缘,直接進入 OneAlert 的報警設置齐莲。 也可以參考
Nagios 官網(wǎng)

Nagios 服務器: 10.128.6.38 CentOS 6.5 64bit
被監(jiān)控機器:    10.128.14.102 CentOS 6.7 64bit

安裝 Nagios 和 Nagios 插件(安裝過程中標紅的操作為安裝 Apache磷箕,方便我們后面的調(diào)試选酗,可以選擇性安裝,建議安裝 Apache岳枷,因為有頁面的交互方面快捷芒填。)

安裝 Nagios 服務器

在服務器10.128.6.38上安裝 Nagios Server 相關軟件呜叫。

1.依賴包安裝
請使用 root 用戶或者 sudo 權(quá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 用戶殿衰,并設置初始密碼

useradd -m nagios(/usr/sbin/useradd -m nagios) passwd nagios(提示輸入兩次密碼)

創(chuàng)建用戶組 nagcmd朱庆,允許外部命令通過 Web 接口提交動作,并將 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.啟動 Nagios

將 Nagios設置為開機啟動

chkconfig --add nagios chkconfig nagios on

檢查配置文件是否正確

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果沒有錯誤娱颊,啟動 Nagios

service nagios start

7.修改 linux 的 SElinux 配置(兩種方法)

  • 設置linux為混雜模式,該方法重啟后不生效

setenforce 0

  • 或直接修改配置文件

vi /etc/selinux/config

設置為 SELINUX=permissive凯砍,修改完畢后重啟服務器

8.允許 cgi 運行

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 安裝的只是服務端悟衩,真正監(jiān)控服務器信息的是 Nagios Plugins 2.0.3插件實現(xiàn)的監(jiān)控剧罩。我們目前僅在本機上安裝了插件,因此僅僅監(jiān)控的是10.128.6.38這臺機器局待,想要監(jiān)控其他機器的環(huán)境斑响,繼續(xù)向下看。讓我們看一下 Nagios的監(jiān)控界面

Nagios大圖
Nagios大圖

但是我們知道钳榨,如果服務器出現(xiàn)大問題舰罚,我們需要第一時間收到報警的通知,此時 OneAlert 就要登場了薛耻。讓我們看一下如何使用 OneAlert 對 Nagios 進行報警設置营罢。
或參考 OneAlert 集成 Nagios 安裝文檔

通過OneAlert微信報警

OneAlert 提供 Agent Shell 腳本命令插件, Nagios 通過新增用戶通知contacts的方式饼齿,調(diào)用 Shell命令將告警通知發(fā)送至 OneAlert云告警平臺饲漾,OneAlert 根據(jù)通知策略,分派和通知到用戶缕溉,提供微信考传、短信、電話和郵件方式证鸥。

1.注冊并創(chuàng)建應用
猛戳
這里注冊僚楞,OneAlert支持很多應用,我們現(xiàn)在創(chuàng)建 Nagios 應用枉层,并獲取appkey泉褐,3adac4c9-3a82-76af-7b33-0a0bdf16334d

見下圖


創(chuàng)建應用
創(chuàng)建應用
  • 如果有很多 Nagios,可以新建多個應用鸟蜡,分別接入膜赃。
  • 建議告警關閉時間大于 Nagios 告警提醒間隔,如90分鐘揉忘,即超過90分鐘跳座,沒有新的告警端铛,就自動關閉告警。

2.安裝 OneAlert Agent
在 Nagios 服務器10.128.6.38上下載最新版本 OneAlert Agent躺坟。參考官網(wǎng)

下文以 Nagios 默認安裝路徑 /usr/local/nagios/ 為例沦补,如果你的 Nagios 服務器不是安裝在該目錄乳蓄,請自行替換咪橙。

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.修改配置

修改默認用戶 110monitor 的聯(lián)系方式,在文件 /usr/local/nagios/etc/objects/110monitor.cfg 中虚倒,設置pager為上面應用的 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到默認聯(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

如果沒有報錯菠剩,就可以重啟 Nagios 了

service nagios restart

5.完成

基本上按照上面配置就 OK 了冕碟,后面需要驗證下是否正常發(fā)送年柠。最簡單的方式是將禁 Ping Nagios 服務器。

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 禁ping echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 恢復ping

禁 Ping 后梯刚,Nagios 服務器會發(fā)生告警哈蝇,默認嘗試3次后發(fā)送告警通知棺妓。我們通過跟蹤 OneAlert Agent 日志就可以看出來:

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 控制臺怜跑,用微信進行掃碼即可用微信實現(xiàn)報警。


微信掃一掃
微信掃一掃
Nagios 安裝及微信短信提醒
Nagios 安裝及微信短信提醒

好了吠勘,后續(xù)可以接著安裝 Nagios 被監(jiān)控服務器了性芬。

安裝 Nagios 被監(jiān)控服務器

之前是安裝了 Nagios Server,接下來我們可以在其他應用服務器剧防,被監(jiān)控節(jié)點10.128.14.102上安裝 Nagios Agent 了植锉。

1、提前準備

使用 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 服務端ip地址)

vi /etc/xinetd.d/nrpe

在 Nagios 服務器上增加對被監(jiān)控機器的監(jiān)控,先看看被監(jiān)控機器上的 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]就是檢測被監(jiān)控機器 10.128.14.102 的磁盤空間棚唆,20% 空閑時警告暇赤,10% 空閑時嚴重告警。那么 Nagios 服務器 10.128.6.38 就要通過 nrpe 調(diào)用監(jiān)控對應命令宵凌。

現(xiàn)在進入 Nagios 服務器 10.128.6.38鞋囊,編寫對應的監(jiān)測命令,加入一個 linux-server瞎惫,和對應監(jiān)控命令溜腐。
vi /usr/local/nagios/etc/objects/localhost.cfg 加入機器:

配置如下圖:

Nagios 安裝及微信短信提醒
Nagios 安裝及微信短信提醒
Nagios 安裝及微信短信提醒
Nagios 安裝及微信短信提醒

紅色為添加項(對圖片的文字描述译株,一個意思。)

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)控正常望众,如果服務故障匪补,會通過 OneAlert 平臺統(tǒng)一告警。

OneAlert 是北京藍海訊通科技有限公司旗下產(chǎn)品烂翰,中國首個 SaaS 模式的云告警平臺夯缺,集成國內(nèi)外主流監(jiān)控/支撐系統(tǒng),實現(xiàn)一個平臺上集中處理所有IT事件甘耿,提升IT可靠性踊兜。想了解更多信息,請訪問 OneAlert 官網(wǎng) 佳恬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捏境,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子毁葱,更是在濱河造成了極大的恐慌垫言,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件头谜,死亡現(xiàn)場離奇詭異骏掀,居然都是意外死亡,警方通過查閱死者的電腦和手機柱告,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門截驮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人际度,你說我怎么就攤上這事葵袭。” “怎么了乖菱?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵坡锡,是天一觀的道長。 經(jīng)常有香客問我窒所,道長鹉勒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任吵取,我火速辦了婚禮禽额,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己脯倒,他們只是感情好实辑,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著藻丢,像睡著了一般剪撬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悠反,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天残黑,我揣著相機與錄音,去河邊找鬼问慎。 笑死萍摊,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的如叼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼穷劈,長吁一口氣:“原來是場噩夢啊……” “哼笼恰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歇终,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤社证,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后评凝,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體追葡,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年奕短,在試婚紗的時候發(fā)現(xiàn)自己被綠了宜肉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡翎碑,死狀恐怖谬返,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情日杈,我是刑警寧澤遣铝,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站莉擒,受9級特大地震影響酿炸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜涨冀,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一填硕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝇裤,春花似錦廷支、人聲如沸频鉴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垛孔。三九已至,卻和暖如春施敢,著一層夾襖步出監(jiān)牢的瞬間周荐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工僵娃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留概作,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓默怨,卻偏偏與公主長得像讯榕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子匙睹,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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