[背景]
公司要監控的主機很多,估計有近1k臺,而且還會增加.....所以,如果讓我用手工加的話,媽呀!怕怕.......
就想到了用指令碼,也看了sery老師寫的那個shell的,是互動性的,感覺不實用,就自己寫了,也在這裡和sery老師pk下嘍(哈哈,開玩笑啦!)!(注:指令碼的作用就是幫我解決重複的工作,所以嘛.......就把工作交給它了.)
[過程]
nagios所監控的物件不就是主機,聯絡使用者,命令,服務這四個物件嘛,我們來分析下,聯絡使用者應該算是工作量很小的工作,不需要重複得勞動的,定義命令和服務這兩個差不多,都不是很累人的活.....這麼說來,就是主機的定義了......
分析hosts.cfg
define host
我從參考文件的example definition拷過來的......
在這裡,我們能看到host_name,alias,address應該與下乙個定義主機不同的,其他的可以一樣...哈哈.那就可以借用use這個選項了.
哈哈,那我將我的hosts.cfg分開....
原內容:
define host
劃分後definehosts.cfg
define host
hosts.cfg
define host
再修改vi nagios.cfg
cfg_file=/usr/local/nagios/etc/definehosts.cfg
那麼就可以寫指令碼了........指令碼的功能就是讀取ip,將其追加到hosts.cfg下..... 如
define host
define host
............................
大家應該看到變的是ip吧....我們只要收集好ip列表,寫個這樣的指令碼應該不成問題吧!
addhost.pl
#!/usr/bin/perl
open(ip,"iplist.txt");
open(fh,">>hosts.cfg");
while()\n";
} close fh;
close ip;
執行後....
[root@study soft]# more hosts.cfg
define host
define host
哈哈....
還差一步,就是分組嘍!把這個iplist.txt裡的ip都劃分到乙個組裡,這是我們需要的.
那麼再寫個指令碼吧!
addgroups.pl
#!/usr/bin/perl
open(ip,"iplist.txt");
while()
close ip;
$members=~s/^,//;
$members="members\t".$members;
open(fh,">ktgroups.cfg");
print fh "define group \n";
close fh;
這樣就可以了,看簡化了很多吧!大家再把ktgroups.cfg加到nagios.cfg進去就可以了,或者自己建個目錄修改cfg_dir,這樣在這個目錄下新增新的檔案不需要再改nagios.cfg了,這點小手術,我相信大家還是有的,基本上功能完全實現了,這兩個指令碼也絕對受用!希望大家能在工作上能用得上!
nagios 新增需要監控的主機
服務端 一.nagios 的配置檔案在 usr local nagios etc 1.vi cgi.cfg refresh rate 30 nagios主頁的重新整理時間,我設定成30秒自動重新整理 use authentication 0 關閉認證功能,當nagios配置好後,建議開回來 2.在配...
nagios監控windows主機
監控windows 系統中某個特定服務是否啟動 修改這個要被監控的windows系統在 nagios伺服器上對應的 配置檔案。比如 usr local nagios etc objects oa server.cfg 增加要偵聽的服務配置 define service其中 office task 就...
nagios監控流量指令碼
需求是我們需要對伺服器上的流量進行監控,網路上有個流傳的check traffic.sh,它需要被監控機開啟snmp。但是感覺都使用上了nagios還要開snmp。有點斧子剪刀一起用的感覺,所以就動手寫了個監控流量的shell bin sh usage foundw 0 foundc 0 found...