天天看點

實戰配置Nagios主機及服務實戰

目錄
1 在客戶伺服器上配置... 1
1.1配置nrpe. 1
1) 加入可以監控該伺服器的nagios server端的IP。... 1
2) 注釋掉或者幹脆删除199-203行即下面幾行... 1
2 配置 nagios 監控服務... 1
1)nagios.cfg 基本配置... 1
2)注意:需要注釋掉如下localhost.cfg 行,否則和我們要配的會沖突原 36 行... 1
3)需要在host.cfg 裡添加用戶端主機和主機組(HOST GROUP)... 1
4)同理添加要監控的服務配置到service.cfg. 1
5)重新開機服務... 1
3 錯誤整理... 1
1)錯誤1. 1
2)錯誤2:... 1
3)問題3. 1
4)問題4. 1
 
 
 
1 在客戶伺服器上配置
 
1.1配置nrpe
cd /usr/local/nagios/etc
#config nrpe.cfg 
vi nrpe.cfg +79
 
1) 加入可以監控該伺服器的nagios server端的IP。
allowed_hosts=127.0.0.1,172.16.1.196,172.16.1.190  ←主機的IP
 
 
 
2) 注釋掉或者幹脆删除199-203行即下面幾行
 
shift+g到結尾

#command[check_users]=/usr/local/nagios/libexec/check_users-w $ARG1$ -c $ARG2$
#command[check_load]=/usr/local/nagios/libexec/check_load-w $ARG1$ -c $ARG2$
#command[check_disk]=/usr/local/nagios/libexec/check_disk-w $ARG1$ -c $ARG2$ -p $ARG3$
#command[check_procs]=/usr/local/nagios/libexec/check_procs-w $ARG1$ -c $ARG2$ -s $ARG3$
 
同時在下面新添加要監控的内容:
command[check_load]=/usr/local/nagios/libexec/check_load-w 15,10,6 -c 30,25,20
command[check_mem]=/usr/local/nagios/libexec/check_memory.pl-w 6% -c 3%
command[check_disk]=/usr/local/nagios/libexec/check_disk-w 20% -c 8% -p /
command[check_swap]=/usr/local/nagios/libexec/check_swap-w 20% -c 10%
command[check_iostat]=/usr/local/nagios/libexec/check_iostat-w 6 -c 10
或者:
echo"command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,6 -c30,25,20">>/usr/local/nagios/etc/nrpe.cfg
echo"command[check_mem]=/usr/local/nagios/libexec/check_memory.pl -w 6% -c3%">>/usr/local/nagios/etc/nrpe.cfg
echo"command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 8% -p/">>/usr/local/nagios/etc/nrpe.cfg
echo"command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c10%">>/usr/local/nagios/etc/nrpe.cfg
echo"command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 6 -c10">>/usr/local/nagios/etc/nrpe.cfg
 
 
 
1.2啟動:nagios client
 
 
[root@client01 etc]# 
[root@client01 etc]# pkill nrpe
[root@client01etc]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[root@client01 etc]# echo"/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d">> /etc/rc.local 
[root@client01etc]# ps -ef|grep nrpe
nagios   32431      1  0 12:44 ?        00:00:00 /usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d
root     32433  32397  0 12:44 pts/0    00:00:00 grep nrpe
[root@client01 etc]#
 
注意:
1、#執行完啟動指令,進行檢查是個良好的習慣
2、tips:重起nagios nrpe組合指令
         pkillnrpe && /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
 
 
1.3 關閉防火牆
 
         測試環境,建議最好先把iptables關掉,等nagios都測試通了在來調試iptables,否則給學習測試增加了複雜度。
         關閉指令
                   /etc/init.d/iptablesstop
 
 
 
 
 
2 配置 nagios 監控服務
 
以下為server 端的操作
 
1)nagios.cfg 基本配置
 
在 nagios.cfg 檔案中找到cfg_file 的部分,進行如下設定:
 
 
[root@nagios-server etc]# vi/usr/local/nagios/etc/nagios.cfg +34
# You can specify individualobject config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
 
 
 
 
2)注意:需要注釋掉如下localhost.cfg行,否則和我們要配的會沖突原 36 行
 
# Definitions for monitoring the local (Linux) host
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
 
 
3)需要在host.cfg 裡添加用戶端主機和主機組(HOSTGROUP)
 
 
[root@nagios-serveretc]# cd /usr/local/nagios/etc/objects/
[root@nagios-server objects]# vihosts.cfg
 
# Define a host for the local machine
 
define host{
        use                      linux-server
        host_name               18-client01
        alias                     18-client01
        address                  192.168.1.18
        }
 
define host{
        use                     linux-server
        host_name               19-nagios_server
        alias                   19-nagios_server
        address                 192.168.1.19
        }
 
define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of thegroup
        members         18-client01,19-nagios_server
        }
 
 
4)同理添加要監控的服務配置到service.cfg
 
 
[root@nagios-serverobjects]# cd /usr/local/nagios/etc/objects/
[root@nagios-serverobjects]# vi services.cfg
define service {
        use generic-service
        host_name 18-client01
        service_description Disk Partition
        check_command check_nrpe!check_disk
}
 
 
 
 
5)重新開機服務
 
 
 
[root@nagios-server objects]#/usr/local/nagios/libexec/check_nrpe -H 192.168.l.18 -c check_disk
Invalid host name '192.168.l.18'
[root@nagios-server objects]# ll         
[root@nagios-serverobjects]# /etc/init.d/nagios reload
 
 
 
 
 
 
 
 
 
3 錯誤整理
 
 
1)錯誤1
 
[root@nagios-server objects]#/etc/init.d/nagios checkconfig
Running configuration check...CONFIG ERROR!  Check your Nagiosconfiguration.
[root@nagios-server objects]#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
 
Checking services...
Error: There are no servicesdefined!
        Checked 0 services.
Total Warnings: 2
Total Errors:   1
處理方法:
[root@nagios-server objects]# vim/etc/init.d/nagios +178   
status)
               pid_nagios
# /dev/null 2>&1;
               ;;
 
       checkconfig)
 
 
 
2)錯誤2:
 
[root@nagios-server objects]#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
 
問題2:
Checking services...
Error: There are no servicesdefined!
        Checked 0 services.
處理方法:
[root@nagios-serverobjects]# vi services.cfg 
defineservice {
        use generic-service
        host_name 18-client01
        service_description Disk Partition
        check_command check_nrpe!check_disk
}
"services.cfg"8L, 138C written
 
 
[root@nagios-server objects]# /etc/init.d/nagioscheckconfig
 
 
 
 
3)問題3
問題3:
Checking services...
Error: Service check command'check_nrpe' specified in service 'Disk Partition' for host '18-client01' notdefined anywhere!
        Checked 1 services.
處理方法:
[root@nagios-serverobjects]# vi commands.cfg
#'check_nrpe' command definition
definecommand{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c$ARG1$
        }
 
 
 
4)問題4
 
打開網頁會出現
It appears as though you do not have permission toview information for any of theservices you requested...
解決方法
[root@nagiosserver objects]#cd/usr/local/nagios/etc
[root@nagiosserver objects]#vi cgi.cfg +119
#把在1.6 節建立的使用者oldboy 加到後面,注意用逗号隔開。
#default_user_name=oldboy
authorized_for_system_information=nagiosadmin,oldboy
authorized_for_configuration_information=nagiosadmin,oldboy
authorized_for_system_commands=nagiosadmin,oldboy
authorized_for_all_services=nagiosadmin,oldboy
authorized_for_all_hosts=nagiosadmin,oldboy
authorized_for_all_service_commands=nagiosadmin,oldboy
authorized_for_all_host_commands=nagiosadmin,oldboy
 
記得reload nagios 指令為:/etc/init.d/nagios reload      

繼續閱讀