分类: LINUX
2008-03-18 19:13:45
本文主要部分转载了这位的空间
人生忧患识字始
同时得到了itnms群的兄弟的支持群里的某位好心兄弟给我传了份资料
以上是官方的文档,非常简明,清晰。
一)
第一部分关于创建用户,是容易被人忽略的,但是很重要,如果这里没有配置好,在最后看web端的时候就会出问题。
Create a new nagcmd group for allowing external commands to be submitted through the web interface. Add both the nagios user and the apache user to the group.
/usr/sbin/useradd nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd apapche(这里是apache user,未必是这个,可以去apache目录察看)
二)
接着是下载必要的安装包。
wget
wget
获得图库文件:
http://dl.sf.net/nagios/imagepak-base.tar.gz
Compile and Install Nagios到处有文章,不用赘述。
三)
提示不要用yum 安装httpd 因为会启用suexec 这样nagios的配置必须在主页目录里所以可以手动安装,如果是bsd的话ports里可以不启用suexec
和apache的结合,让我费了一番功夫。
我这台服务器上只有lighttpd,没有apache。nagios看起来是支持lighttpd的,但是有些配置非常复杂,或者说,还没有可用的文档,所以虽然看起来能访问,我也不建议使用lighttpd。
我还是安装了apache,更改了端口。
官方说明的make install-webconf,因为目录不同,没法使用。其实他做的事情就是将以下的配置文件写入httpd.conf。所以如果您也不能运行,可以手动配置。
在apache的配置文件httpd.conf中追加 (注意,要有image这段,不然nagios不能显示图片,这三段顺序好象不能变,不然启动nagios的时候会提示错误)
Alias /nagios/cgi-bin/images/ "/usr/local/nagios/share/images/"
AllowOverride None
Options None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd #-----此处的文件一定要存在,以用户名/密码方式存在
Require valid-user
ScriptAlias /nagios/cgi-bin/ "/usr/local/nagios/sbin/"
AllowOverride None
Options None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd #-----此处的文件一定要存在,以用户名/密码方式存在
Require valid-user
Alias /nagios/ "/usr/local/nagios/share/"
AllowOverride None
Options None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd #-----此处的文件一定要存在,以用户名/密码方式存在
Require valid-user
设置访问权限
在/usr/local/nagios/share目录下
[]#/usr/local/www/bin/htpasswd –c /usr/local/nagios/etc/.htpasswd nagios
这个apache目录根据安装目录的不同而不同,主要所以用.htpasswd这个命令生成用户名和密码
设置访问权限 1、在/usr/local/nagios/share目录下
vi .htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
require valid-user
2、在/usr/local/nagios/sbin目录下
vi .htpasswd
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
require valid-user
四)配置nagios
这个最新的版本和原来不太一样,已经不需要做什么了,唯一要做的是修改cgi.cfg 改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。
然后检查配置文件是否出错
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
出现Total Warnings: 0
Total Errors: 0
为正常
出错的话,就是.cfg文件有问题 根据错误提示 一个个修正
五)启动后台进程
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
/usr/local/etc/rc.d/nagios start
默认的配置应该是没有问题的,建议好好学习一下nagios的具体概念和语法。
要注意的是,每次更改httpd.conf都需要重启apache,然后/usr/local/etc/rc.d/nagios restart,再去访问
配置在cgi.cfg文件中添加 hosts.cfg services.cfg 和 hostgroups.cfg文件的路径
可以看里面如何添加的添加管理主机
hosts.cfg
define host{
# use mail.jluzh.com
host_name extmail
alias email server
address 172.16.16.44
contact_groups sagroup
check_command check-host-alive
max_check_attempts 5
notification_interval 10
notification_period 24x7
notification_options d,u,r
}
services.cfg
define service {
host_name extmail
service_description check-host-alive
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
hostgroup sa-servers
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check-host-alive
}
define service {
host_name extmail
service_description check_smtp
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
hostgroup sa-servers
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_smtp
}
hostgroup。cfg
define hostgroup {
hostgroup_name sa-servers
alias linux server
members extmail
}
contacts.cfg
define contact{
contact_name crastyl
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email
}
define contactgroup{
contactgroup_name sagroup
alias Nagios Administrators
members crastyl
}
可以用/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios 来检测错误根据错误提示来修改!!