Ads 468x60px

Pages

2011年3月17日 星期四

網路監控 : 活用 Nagios + ndo2db + Cacti + NPC (一)


說到 Linux 免費網路監控軟體,前三名不外乎是 Nagios, Ntop, Cacti. 它們各有各自的強項。這裡我是取 Nagios 強大的監測及通知的功能,Cacti 強大的繪圖及 plugin 能力。所以才會使用 Nagios + Cacti + NPC。它們的基本的安裝方式,去 google 一下就很多了,這裡只列安裝要點,主要說明 nagios 配置檔, ndo2db及NPC 的設定及使用方式。

1. 安裝 Nagios
RHEL5.x 的 repository 裡的 nagios 還是 2.x 的,所以自行去下載
$ yum install libtool-ltdl.x86_64 fping perl-Net-SNMP
$ wget http://packages.sw.be/nagios/nagios-3.2.3-3.el5.rf.x86_64.rpm
$ rpm -ivh nagios-3.2.3-3.el5.rf.x86_64.rpm
$ yum install nagios-common-2.12-10.el5 
$ yum install nagios-plugins-1.4.15-2.el5
$ yum install nagios-plugins-all-1.4.15-2.el5
裝完之後,基本的設定檔 /etc/nagios 就已經可以執行了,只要再修改二個地方就可以。
  1. 修改 /etc/nagios/objects/contacts.cfg 檔裡的 email address 成你的 email ,這樣你才可以收到通知信。
  2. 修改 nagiosadmin 的 password (瀏覧器介面的帳號)
# cd /etc/nagios 
# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
....你的密碼....

# /sbin/service nagios restart
接著打開 Browser,輸入 http://localhost/nagios 就可以看到畫面了。

然後,就是要加些機器給它監控了。以下是我的配置
  • Nagios 主機: Nmon(localhost)
  • Web 主機群: w1, w2, img1
  • Db 主機群: db1, db2

先修改 /etc/nagios/nagios.cfg, 加入自己的 config 檔目錄
cfg_dir=/etc/nagios/objects/servers
接著新增或修改 /etc/nagios/objects/servers/hosts.cfg 設定檔
#### Define Host ####
define host{
        use                     linux-server
        host_name               w1
        alias                   w1
        address                 192.168.10.1
        }
define host{
        use                     linux-server
        host_name               w2
        alias                   w2
        address                 192.168.10.2
        }
define host{
        use                     linux-server
        host_name               img1
        alias                   img1
        address                 192.168.10.3
        }

#### Define Hostgroup ####
define hostgroup{
        hostgroup_name  web-servers
        alias           Web Servers
        members         w1,w2,img1
        }
define hostgroup{
        hostgroup_name  db-servers
        alias           Mysql DB Servers
        members         db1,db2
        }

#### Define service ####
define service{
        use                             local-service
        hostgroup_name                  web-servers,db-servers
        service_description             SSH
        check_command                   check_ssh
        } 
define service{
        use                             local-service
        hostgroup_name                  web-servers
        service_description             HTTP
        check_command                   check_http
define service{
        use                             local-service
        hostgroup_name                  db-servers
        service_description             MYSQL
        check_command                   check_mysql!test!testuser
        }
存檔之後,再重啟 nagios,過幾分鐘之後,就可以看到結果了。

Enjoy!
待續!

0 意見:

張貼留言