指令碼新增nagios監控主機 帶分析

2021-09-22 00:17:06 字數 1677 閱讀 7466

[背景]

公司要監控的主機很多,估計有近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...