安装nagios出现的两个错误记录

最近在安装nagios,出现几个错误记录:

一 检查nagios配置的时候出现错误如下:

Warning: Duplicate definition found for host 'kelly' (config file '/usr/local/nagios/etc/objects/localhost.cfg', starting on line 25)                                                                                       
Error: Could not add object property in file '/usr/local/nagios/etc/objects/localhost.cfg' on line 29.        
   Error processing object config files! 

检查的命令如下:

[root@kelly ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

在进行各种检查修改,发现也没找到原因,从而每修改一次就进行检查一次,从而来判断是哪里的问题,最后发现是定义了两个文件,一个是hosts.cfg文件,一个是localhost.cfg文件,只要在nagios.cfg中加入此配置就会进行报错。

整体报错如下:

[root@kelly ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 3.4.3
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad                                          
Last Modified: 11-30-2012                                                      
License: GPL                                                                   

Website: http://www.nagios.org
Reading configuration data... 
   Read main config file okay...
Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/contacts.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/hosts.cfg'...   
Processing object config file '/usr/local/nagios/etc/objects/timeperiods.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/templates.cfg'...  
Processing object config file '/usr/local/nagios/etc/objects/localhost.cfg'...  
Warning: Duplicate definition found for host 'kelly' (config file '/usr/local/nagios/etc/objects/localhost.cfg', starting on line 25)                                                                                       
Error: Could not add object property in file '/usr/local/nagios/etc/objects/localhost.cfg' on line 29.        
   Error processing object config files!                                                                      


***> One or more problems was encountered while processing the config files...

     Check your configuration file(s) to ensure that they contain valid
     directives and data defintions.  If you are upgrading from a previous
     version of Nagios, you should be aware that some variables/definitions
     may have been removed or modified in this version.  Make sure to read 
     the HTML documentation regarding the config files, as well as the     
     'Whats New' section to find out what has changed.                     

解决方案如下:

删除hosts.cfg文件,在nagios.cfg文件中不加入hosts.cfg文件的加载,从而可以解决问题。

原因:

主要原因是在hosts.cfg文件中定义了主机的信息,而在localhost.cfg文件中又再次定义了主机的信息,从而导致了定义的信息产生了重复。

在配置文件nagios.cfg中可以看到已经定义了主机信息:

define host{
 26         use                     linux-server            ; Name of host template to use
 27                                                         ; This host definition will inherit all variables     that are defined
 28                                                         ; in (or inherited by) the linux-server host templ    ate definition.
 29         host_name               kelly
 30         alias                   kelly
 31         address                 192.168.1.104
 32         }

而在hosts.cfg文件中再次定义就会造成定义信息重复,从而导致上面的问题。


二 在web页面无法查看相关的信息,日志中报错Error: Could not create external command file '/usr/local/nagios/var/rw/nagios.cmd' as named pipe: (13) -> Permission denied

具体的报错信息在日志中可以看到,报错信息如下:

.

[1427280603] Nagios 3.4.3 starting... (PID=19238)
[1427280603] Local time is Wed Mar 25 18:50:03 CST 2015
[1427280603] LOG VERSION: 2.0                          
[1427280603] Finished daemonizing... (New PID=19239)   
[1427280603] Error: Could not create external command file '/usr/local/nagios/var/rw/nagios.cmd' as named pipe: (13) -> Permission denied.  If this file already exists and you are sure that another copy of Nagios is not running, you should delete this file.                                                                         
[1427280603] Bailing out due to errors encountered while trying to initialize the external command file... (PID=19239) 

日志路径如下:

[root@kelly var]# pwd
/usr/local/nagios/var
[root@kelly var]# ls -l
total 72
drwxrwxr-x 2 nagios nagios  4096 Mar 25 17:47 archives
-rw-r--r-- 1 nagios nagios     6 Mar 25 18:52 nagios.lock
-rw-r--r-- 1 nagios nagios  4300 Mar 25 19:52 nagios.log
-rw-r--r-- 1 nagios nagios 13695 Mar 25 18:52 objects.cache
-rw------- 1 nagios nagios 14703 Mar 25 19:52 retention.dat
drwxrwxr-x 2 nagios nagios  4096 Mar 25 18:52 rw
drwxr-xr-x 3 root   root    4096 Mar 25 17:47 spool
-rw-rw-r-- 1 nagios nagios 15286 Mar 25 20:21 status.dat

解决方案:

查看目录是否存在,不存在就建立目录,然后修改用户,然后修改权限即可:

[root@kelly var]# chown nagios:nagios rw 

[root@kelly var]# chmod g+rwx rw  

然后重启nagios即可。

[root@kelly var]# service nagios restart

可以看到重启之后成功的日志:

[1427280727] Nagios 3.4.3 starting... (PID=19298)
[1427280727] Local time is Wed Mar 25 18:52:07 CST 2015
[1427280727] LOG VERSION: 2.0
[1427280727] Finished daemonizing... (New PID=19299)
[1427284327] Auto-save of retention data completed successfully.

原因:主要是因为权限的问题,在读取文件的时候,设定的用户和组都在配置文件中,如下:

[root@kelly etc]# ls -l nagios.cfg
-rw-r--r-- 1 root root 44777 Mar 25 18:50 nagios.cfg

nagios_user=nagios
 125
 126
 127
 128 # NAGIOS GROUP
 129 # This determines the effective group that Nagios should run as.
 130 # You can either supply a group name or a GID.
 131
 132 nagios_group=nagios

权限设定好之后,在页面就能正确看到相关信息。






for linux and python
原文地址:https://www.cnblogs.com/kellyseeme/p/5525143.html