<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>蓝色数据 &#187; nagios</title>
	<atom:link href="http://bluedata.org/tag/nagios/feed/" rel="self" type="application/rss+xml" />
	<link>http://bluedata.org</link>
	<description>奋斗是幸福的……</description>
	<lastBuildDate>Mon, 14 Sep 2009 01:53:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在 Debian Nginx 上安装 Nagios 3.2</title>
		<link>http://bluedata.org/2009/08/23/install_nagios_on_debian_nginx/</link>
		<comments>http://bluedata.org/2009/08/23/install_nagios_on_debian_nginx/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 14:01:50 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://bluedata.org/?p=267</guid>
		<description><![CDATA[下载所需软件：
http://www.nagios.org/download/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz
创建 nagios 用户和组：
groupadd nagios
useradd -g nagios -d /usr/local/nagios -s /bin/bash nagios
创建一个 nagcmd 组用于从 Web 接口执行外部命令，并将 nagios 用户和 Web 用户都加到这个组中：
groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd www-data
安装 Nagios:
apt-get install libgd2-xpm-dev
The following NEW packages will be installed:
  defoma fontconfig-config libfontconfig1 libfreetype6 libgd2-xpm libjpeg62 libxpm4 ttf-dejavu ttf-dejavu-core ttf-dejavu-extra
tar zxvf nagios-3.2.0.tar.gz
cd nagios-3.2.0
./configure \
--prefix=/usr/local/nagios \
--with-command-group=nagcmd
make all
make install
make install-init
make [...]]]></description>
			<content:encoded><![CDATA[<p>下载所需软件：<br />
http://www.nagios.org/download/<br />
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz</p>
<p>创建 nagios 用户和组：<br />
groupadd nagios<br />
useradd -g nagios -d /usr/local/nagios -s /bin/bash nagios</p>
<p>创建一个 nagcmd 组用于从 Web 接口执行外部命令，并将 nagios 用户和 Web 用户都加到这个组中：<br />
groupadd nagcmd<br />
usermod -G nagcmd nagios<br />
usermod -G nagcmd www-data</p>
<p>安装 Nagios:<br />
apt-get install libgd2-xpm-dev<br />
The following NEW packages will be installed:<br />
  defoma fontconfig-config libfontconfig1 libfreetype6 libgd2-xpm libjpeg62 libxpm4 ttf-dejavu ttf-dejavu-core ttf-dejavu-extra</p>
<p>tar zxvf nagios-3.2.0.tar.gz<br />
cd nagios-3.2.0<br />
./configure \<br />
--prefix=/usr/local/nagios \<br />
--with-command-group=nagcmd</p>
<p>make all</p>
<p>make install<br />
make install-init<br />
make install-config<br />
make install-commandmode</p>
<p><a href="http://bluedata.org/2009/08/21/nginx-cgi/" target="_blank">配置 Nginx 支持 CGI</a> ，然后在 Nginx 添加 Nagios 的配置如下：</p>
<p><coolcode linenum="off">server {<br />
    listen  80;<br />
    server_name  nagios.domain.com;<br />
    root  /usr/local/nagios/share;<br />
    index  index.php index.html;<br />
    location ~ .*\.php?$ {<br />
        fastcgi_pass  127.0.0.1:9000;<br />
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;<br />
        include  fastcgi_params;<br />
    }<br />
    location ~ .*\.cgi$ {<br />
        rewrite  ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;<br />
        fastcgi_pass  127.0.0.1:8999;<br />
        fastcgi_param  SCRIPT_FILENAME  /usr/local/nagios/sbin$fastcgi_script_name;<br />
        include  fastcgi_params;<br />
        auth_basic  "Nagios Access";<br />
        auth_basic_user_file  /usr/local/nagios/etc/htpasswd.users;<br />
    }<br />
    location /nagios {<br />
        alias  /usr/local/nagios/share;<br />
    }<br />
    location / {<br />
        auth_basic  "Nagios Access";<br />
        auth_basic_user_file  /usr/local/nagios/etc/htpasswd.users;<br />
    }<br />
}</coolcode></p>
<p>创建 Nagios Web 接口登录的用户：<br />
apt-get install apache2-utils<br />
The following NEW packages will be installed:<br />
  apache2-utils libapr1 libaprutil1 libldap-2.4-2 libpq5 libsqlite3-0</p>
<p>htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin</p>
<p>重启 Nginx:<br />
/etc/init.d/nginx restart</p>
<p>安装 Nagios 插件：<br />
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz<br />
tar zxvf nagios-plugins-1.4.13.tar.gz<br />
cd nagios-plugins-1.4.13<br />
./configure \<br />
--prefix=/usr/local/nagios \<br />
--with-nagios-group=nagcmd</p>
<p>make<br />
make install</p>
<p>添加 nagios 服务：<br />
sysv-rc-conf</p>
<p>检查配置文件是否有错误：<br />
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</p>
<p>cgi 的权限验证问题：<br />
vi /usr/local/nagios/etc/cgi.cfg<br />
use_authentication=0</p>
<p>启动：<br />
/etc/init.d/nagios start</p>
<p>打开 http://nagios.domain.com 输入之前设置的用户名和密码就可以查看 nagios 的页面了。不过此时还只能看到 localhost 的状态。</p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2009/08/23/install_nagios_on_debian_nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios 札记之四：扩展提示信息发送方式(smtp, msn, fetion)</title>
		<link>http://bluedata.org/2008/07/17/nagios-notification-type/</link>
		<comments>http://bluedata.org/2008/07/17/nagios-notification-type/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 03:00:20 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[fetion]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[飞信]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=46</guid>
		<description><![CDATA[1. 使用 SMTP 发送邮件
objects/commands.cfg 中有邮件提醒命令的设置
如要通过 SMTP 发送邮件，可以使用 sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/
安装
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz
tar zxvf sendEmail-v1.55.tar.gz
mv sendEmail-v1.55/sendEmail /usr/local/bin/
发送邮件的示例：
sendEmail -f nagios@test.com -t admin@test.com -s smtp.test.com -u "test" -xu nagios@test.com -xp password -m "test."
vi objects/commands.cfg
把 notify-host-by-email 和 notify-service-by-email 的邮件发送部分改为：

/usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s smtp.test.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu nagios@test.com -xp password

2. 发送 MSN 提醒
这里有个 perl 写的程序：
http://blog.chinaunix.net/u/24312/showart_1076329.html
yum install perl-XML-Simple
yum install perl-Hash-Merge
perl [...]]]></description>
			<content:encoded><![CDATA[<p>1. 使用 SMTP 发送邮件<br />
objects/commands.cfg 中有邮件提醒命令的设置<br />
如要通过 SMTP 发送邮件，可以使用 sendEmail:<br />
http://caspian.dotconf.net/menu/Software/SendEmail/</p>
<p>安装<br />
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz<br />
tar zxvf sendEmail-v1.55.tar.gz<br />
mv sendEmail-v1.55/sendEmail /usr/local/bin/</p>
<p>发送邮件的示例：<br />
sendEmail -f nagios@test.com -t admin@test.com -s smtp.test.com -u "test" -xu nagios@test.com -xp password -m "test."</p>
<p>vi objects/commands.cfg<br />
把 notify-host-by-email 和 notify-service-by-email 的邮件发送部分改为：<br />
<coolcode linenum="off"><br />
/usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s smtp.test.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu nagios@test.com -xp password<br />
</coolcode></p>
<p>2. 发送 MSN 提醒<br />
这里有个 perl 写的程序：<br />
http://blog.chinaunix.net/u/24312/showart_1076329.html</p>
<p>yum install perl-XML-Simple<br />
yum install perl-Hash-Merge<br />
perl -MCPAN -e 'install Net::MSN'<br />
cd msn<br />
修改一下 hello.pl 的 $handle 和 $password<br />
chmod +x hello.pl</p>
<p>把发送者和接收者互相加为好友，然后发个测试信息试试：<br />
./hello.pl admin@test.com hello</p>
<p>第一次运行时发现这样的错误提示：<br />
could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.5/XML/SAX<br />
在这里有相关说明：<br />
http://perl-xml.sourceforge.net/faq/#parserdetails.ini<br />
执行<br />
perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"</p>
<p>mkdir /usr/local/nagios/lib<br />
mv lib /usr/local/nagios/lib/msn<br />
chown -R nagios:nagios /usr/local/nagios/lib</p>
<p>vi msn_send.pl<br />
#!/usr/bin/perl<br />
use lib "/usr/local/nagios/lib/msn";<br />
my $handle = 'nagios@live.cn';<br />
my $password = 'password';</p>
<p>chown nagios:nagios msn_send.pl<br />
chmod +x msn_send.pl<br />
mv msn_send.pl /usr/local/nagios/libexec/</p>
<p>添加 MSN 提醒执行的命令：<br />
vi /usr/local/nagios/etc/objects/commands.cfg<br />
<coolcode linenum="off"><br />
define command{<br />
        command_name    notify-host-by-msn<br />
        command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"`"<br />
        }</p>
<p>define command{<br />
        command_name    notify-service-by-msn<br />
        command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"`"<br />
        }<br />
</coolcode></p>
<p>使用中发现，需要回复了才能终止进程，不然 check 就无法继续，而且是所有其它 host 和 service 的 check 都无法继续了。<br />
作者说需要把接收报警的人加为好友，可是的确是加为好友了的。但据说是可以设置超时时间的。</p>
<p>如果有可以运行 PHP 的 Web 服务，用 PHP 发送 MSN 信息是个简单的办法：<br />
http://www.fanatic.net.nz/2005/02/15/send-a-message-using-php/</p>
<p>安装<br />
wget http://downloads.fanatic.net.nz/dev/php/sendMsg.zip<br />
unzip sendMsg.zip<br />
mv sendMsg /path/to/web/dir/msn</p>
<p>配置<br />
默认的验证提交方式需要 ssl 支持，用 curl 的（需要在编译 PHP 时加上 --with-curl ）：<br />
vi sendMsg.php<br />
require_once('msnpauth-1.1.3.php');</p>
<p>发送中文需要先用 iconv 将字符集转为 UTF-8:<br />
vi index.php<br />
$sendMsg->sendMessage(iconv("GBK", "UTF-8", $_POST['message']), 'Times New Roman', '008000');</p>
<p>同样需要把发送者和接收者互相加为好友。<br />
可以先打开 http://server/msn/index.php 测试一下能否发送。如果没有问题，可以写一个脚本来执行 MSN 信息发送命令：<br />
vi /usr/local/nagios/libexec/msn_send.sh<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
wget -O - -q --post-data="sender=nagios@live.cn&#038;password=password&#038;recipient=$1&#038;message=$2" http://server/msn/index.php > /dev/null<br />
</coolcode></p>
<p>chmod +x /usr/local/nagios/libexec/msn_send.sh</p>
<p>再把前面设置的 MSN 提醒命令中的 msn_send.pl 改为 msn_send.sh 就可以使用了。</p>
<p>3. 发送 短信 提醒<br />
简单的，在 www.139.com 注册移动的邮箱，设置邮件短信提醒。这样就可以发送邮件的标题到注册的手机号码上。</p>
<p>还有利用飞信实现的：<br />
http://www.it-adv.net/<br />
依赖 glibc-2.4 。 CentOS4/RHEL4, Debian Etch 不能使用。</p>
<p>安装所依赖的库：<br />
tar zxvf lib.tar.gz<br />
mv lib /usr/local/lib/fetion<br />
echo "/usr/local/lib/fetion" > /etc/ld.so.conf.d/fetion-i386.conf<br />
ldconfig</p>
<p>再安装飞信的命令行客户端：<br />
tar zxvf fetion_linux_20080402.tar.gz -C /usr/local/bin/</p>
<p>vi /usr/local/bin/sms.sh<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
/usr/local/bin/sms -f 159xxxxxxxx -p password -t $1 -m "$2"<br />
</coolcode></p>
<p>chmod +x /usr/local/bin/sms.sh</p>
<p>和添加 MSN 提醒命令一样添加短信提醒的命令就可以了。</p>
<p>Debian Etch 可以升级到 testing ， glibc 也就更新到 2.4 了。<br />
sed -e 's|etch|testing|g' /etc/apt/sources.list > /etc/apt/sources.list~<br />
mv /etc/apt/sources.list~ /etc/apt/sources.list<br />
apt-get update<br />
apt-get dist-upgrade</p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2008/07/17/nagios-notification-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios 札记之三：安装配置 NRPE</title>
		<link>http://bluedata.org/2008/07/16/install-setup-nrpe/</link>
		<comments>http://bluedata.org/2008/07/16/install-setup-nrpe/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 07:20:36 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=44</guid>
		<description><![CDATA[监控平台上的安装：
先安装 openssl-devel
yum install openssl-devel
Installing for dependencies: e2fsprogs-devel krb5-devel
再安装 NRPE:
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
在 objects/commands.cfg 中定义 check_nrpe 使用的命令：

# 'check_nrpe' command definition
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
      [...]]]></description>
			<content:encoded><![CDATA[<p>监控平台上的安装：<br />
先安装 openssl-devel<br />
yum install openssl-devel<br />
Installing for dependencies: e2fsprogs-devel krb5-devel</p>
<p>再安装 NRPE:<br />
tar zxvf nrpe-2.12.tar.gz<br />
cd nrpe-2.12<br />
./configure<br />
make all<br />
make install-plugin</p>
<p>在 objects/commands.cfg 中定义 check_nrpe 使用的命令：<br />
<coolcode linenum="off"><br />
# 'check_nrpe' command definition<br />
define command{<br />
        command_name    check_nrpe<br />
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$<br />
        }<br />
</coolcode></p>
<p>被监控主机的安装：<br />
同样需要安装 openssl-devel<br />
创建 nagios 用户和组<br />
groupadd nagios<br />
useradd -g nagios -d /usr/local/nagios -s /sbin/nologin nagios</p>
<p>先安装 nagios-plugin:<br />
tar zxvf nagios-plugins-1.4.12.tar.gz<br />
cd nagios-plugins-1.4.12<br />
./configure --prefix=/usr/local/nagios<br />
make<br />
make install</p>
<p>再安装 NRPE:<br />
tar zxvf nrpe-2.12.tar.gz<br />
cd nrpe-2.12<br />
./configure<br />
make all<br />
make install-plugin<br />
make install-daemon<br />
make install-daemon-config</p>
<p>chown -R nagios:nagios /usr/local/nagios</p>
<p>配置 NRPE:<br />
vi /usr/local/nagios/etc/nrpe.cfg<br />
allowed_hosts=127.0.0.1,$Nagios监控平台的地址或域名</p>
<p>启动 NRPE 守护进程：<br />
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d<br />
可以将此命令加入 /etc/rc.local ，以便开机自动启动。</p>
<p>检查 NRPE 是否正常：<br />
在被监控主机上<br />
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1<br />
在监控平台上<br />
/usr/local/nagios/libexec/check_nrpe -H $目标主机地址<br />
都应该可以输出 NRPE 的版本： NRPE v2.12</p>
<p>在被监控端的 nrpe.cfg 文件中，可以看到这样的配置：<br />
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20<br />
这是用来检查 CPU 负载的。</p>
<p>这样，就可以在监控平台上定义如下服务来监控被监控端的 CPU 负载了：<br />
<coolcode linenum="off"><br />
define service{<br />
host_name remotehost<br />
service_description check_load<br />
...<br />
check_command check_nrpe!check_load }<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2008/07/16/install-setup-nrpe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios 札记之二：配置</title>
		<link>http://bluedata.org/2008/07/15/nagios-setup/</link>
		<comments>http://bluedata.org/2008/07/15/nagios-setup/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 04:13:41 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=43</guid>
		<description><![CDATA[主配置文件 nagios.cfg 需要更改的地方：
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
interval_length=1  ; 间隔时间基准由 60s 改为 1s
command_check_interval=10s  ; 命令检查时间间隔，-1 表示尽可能频繁的进行检查
date_format=iso8601  ; 日期格式
objects/contacts.cfg 用来定义联系人：

define contact {
contact_name sa
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 admin@test.com
}

再定义联系人组

define contactgroup {
contactgroup_name admins
alias Administrator Group
members sa    ; 添加其它联系人用 "," 分隔
}

主机监控的配置

define host {
host_name host_name    ; 简短的主机名称。
alias alias    ; [...]]]></description>
			<content:encoded><![CDATA[<p>主配置文件 nagios.cfg 需要更改的地方：<br />
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg<br />
interval_length=1  ; 间隔时间基准由 60s 改为 1s<br />
command_check_interval=10s  ; 命令检查时间间隔，-1 表示尽可能频繁的进行检查<br />
date_format=iso8601  ; 日期格式</p>
<p>objects/contacts.cfg 用来定义联系人：<br />
<coolcode linenum="off"><br />
define contact {<br />
contact_name sa<br />
alias System Administrator<br />
service_notification_period 24x7<br />
host_notification_period 24x7<br />
service_notification_options w,u,c,r<br />
host_notification_options d,u,r<br />
service_notification_commands notify-service-by-email<br />
host_notification_commands notify-host-by-email<br />
email admin@test.com<br />
}<br />
</coolcode></p>
<p>再定义联系人组<br />
<coolcode linenum="off"><br />
define contactgroup {<br />
contactgroup_name admins<br />
alias Administrator Group<br />
members sa    ; 添加其它联系人用 "," 分隔<br />
}<br />
</coolcode></p>
<p>主机监控的配置<br />
<coolcode linenum="off"><br />
define host {<br />
host_name host_name    ; 简短的主机名称。<br />
alias alias    ; 别名，可以更详细的说明主机。<br />
address address    ; IP 地址，也可以写主机名。如果不定义这个值， nagio 将会用 host_name 去寻找主机。<br />
parents host_names    ; 上一节点的名称，也就是指从 nagios 服务器到被监控主机之间经过的节点，可以是路由器、交换机、主机等等。<br />
hostgroups hostgroup_names    ; 简短的主机组名称。<br />
check_command command_name    ; 检查命令的简短名称，如果此项留空， nagios 将不会去判断主机是否 alive 。<br />
max_check_attempts 整数    ; 当检查命令的返回值不是 "OK" 时，重试的次数。<br />
check_interval 数字    ; 循环检查的间隔时间。<br />
active_checks_enabled [0/1]    ; 是否启用 "active_checks"<br />
passive_checks_enabled [0/1]    ; 是否启用 "passive_checks" ，及“被动检查”<br />
check_period timeperiod_name    ; 检测时间段简短名称，这只是个名称，具体的时间段要写在其他的配置文件中。<br />
obsess_over_host [0/1]    ; 是否启用主机操作系统探测。<br />
check_freshness [0/1]    ; 是否启用 freshness 检查。freshness 检查是对于启用被动检查模式的主机而言的，其作用是定期检查主机报告的状态信息，如果该状态信息已经过期，freshness 将会强制做主机检查。<br />
freshness_threshold 数字     ; fressness 的临界值，单位为秒。 如果定义为 "0" ，则为自动定义。<br />
event_handler command_name    ; 当主机发生状态改变时，采用的处理命令的简短的名字（可以在 commands.cfg 中对其定义）<br />
event_handler_enabled [0/1]    ; 是否启用 event_handler<br />
low_flap_threshold 数字    ; 抖动的下限值。抖动，即在一段时间内，主机（或服务）的状态值频繁的发生变化。<br />
high_flap_threshold 数字   ; 抖动的上限值。<br />
flap_detection_enabled [0/1]    ; 是否启用抖动检查。<br />
process_perf_data [0/1]    ; 是否启用 processing of performance data<br />
retain_status_information [0/1]    ; 程序重启时，是否保持主机状态相关的信息。<br />
retain_nonstatus_information [0/1]    ; 程序重启时，是否保持主机状态无关的信息。<br />
contact_groups contact_groups    ; 联系人组，在此组中的联系人都会收到主机的提醒信息。<br />
notification_interval 整数    ; 重复发送提醒信息的最短间隔时间。默认间隔时间是 "60" 分钟。如果这个值设置为 "0" ，将不会发送重复提醒。<br />
notification_period timeperiod_name   ; 发送提醒的时间段。非常重要的主机（服务）定义为 24x7 ，一般的主机（服务）就定义为上班时间。如果不在定义的时间段内，无论发生什么问题，都不会发送提醒。<br />
notification_options [d,u,r,f]    ; 发送提醒包括的情况： d = 状态为 DOWN , u = 状态为 UNREACHABLE , r = 状态恢复为 OK , f = flapping<br />
notifications_enabled [0/1]    ; 是否开启提醒功能。"1" 为开启，"0" 为禁用。一般，这个选项会在主配置文件 (nagios.cfg) 中定义，效果相同。<br />
stalking_options [o,d,u]    ; 持续状态检测参数，o = 持续的 UP 状态 , d = 持续的 DOWN 状态 , u = 持续的 UNREACHABLE 状态<br />
}<br />
</coolcode></p>
<p>服务监控的配置<br />
<coolcode linenum="off"><br />
define service {<br />
host_name host_name<br />
service_description service_description<br />
servicegroups servicegroup_names<br />
is_volatile [0/1]<br />
check_command command_name<br />
max_check_attempts<br />
normal_check_interval<br />
retry_check_interval<br />
active_checks_enabled [0/1]<br />
passive_checks_enabled [0/1]<br />
check_period timeperiod_name<br />
parallelize_check [0/1]<br />
obsess_over_service [0/1]<br />
check_freshness [0/1]<br />
freshness_threshold<br />
event_handler command_name<br />
event_handler_enabled [0/1]<br />
low_flap_threshold<br />
high_flap_threshold<br />
flap_detection_enabled [0/1]<br />
process_perf_data [0/1]<br />
retain_status_information [0/1]<br />
retain_nonstatus_information [0/1]<br />
notification_interval<br />
notification_period timeperiod_name n<br />
otification_options [w,u,c,r,f]<br />
notifications_enabled [0/1]<br />
contact_groups contact_groups<br />
stalking_options [o,w,u,c]<br />
}<br />
</coolcode></p>
<p>服务监控的配置和主机监控的配置较为相似，就不一一说明了。</p>
<p>间隔时间的计算方法为：<br />
normal_check_interval x interval_length 秒<br />
retry_check_interval x interval_length 秒<br />
notification_interval x interval_length 秒</p>
<p>主机监控配置的例子<br />
<coolcode linenum="off"><br />
define host {<br />
host_name web1<br />
alias web1<br />
address 192.168.0.101<br />
contact_groups admins<br />
check_command check-host-alive<br />
max_check_attempts 5<br />
notification_interval 0<br />
notification_period 24x7<br />
notification_options d,u,r<br />
}<br />
</coolcode></p>
<p>对主机 web1 进行 24x7 的监控，默认会每 10 秒检查一次状态，累计五次失败就发送提醒，并且不再重复发送提醒。</p>
<p>服务监控配置的例子<br />
<coolcode linenum="off"><br />
define service {<br />
host_name web1<br />
service_description check_http<br />
check_period 24x7<br />
max_check_attempts 3<br />
normal_check_interval 30<br />
contact_groups admins<br />
retry_check_interval 15<br />
notification_interval 3600<br />
notification_period 24x7<br />
notification_options w,u,c,r<br />
check_command check_http<br />
}<br />
</coolcode></p>
<p>配置解释： 24x7 监控 web1 主机上的 HTTP 服务，检查间隔为 30 秒， 检查失败后每 15 秒再进行一次检查，累计三次失败就认定是故障并发送提醒。<br />
联系人组是 admins 。提醒后恢复到 30 秒一次的 normal_check_interval 检查。如果服务仍然没有被恢复，每个小时发送一次提醒。</p>
<p>如果要检测其他服务，例如，要检查 ssh 服务是否开启，更改如下两行：<br />
service_description check_ssh<br />
check_command check_ssh</p>
<p>为方便管理，对配置文件的分布做了如下修改：<br />
nagios.cfg 中增加了：<br />
cfg_dir=/usr/local/nagios/etc/hosts<br />
cfg_dir=/usr/local/nagios/etc/services</p>
<p>在 hosts 目录中，为不同类型的主机创建了配置文件，如： app.cfg cache.cfg mysql.cfg web.cfg<br />
并创建了 hostgroup.cfg 文件对主机进行分组，如：<br />
<coolcode linenum="off"><br />
define hostgroup {<br />
hostgroup_name app-hosts<br />
alias APP Hosts<br />
members app1,app2<br />
}<br />
</coolcode></p>
<p>在 services 目录中创建了各种服务的配置文件，如： disk.cfg http.cfg load.cfg mysql.cfg<br />
并创建了 servicegroup.cfg 文件对服务进行分组，如：<br />
<coolcode linenum="off"><br />
define servicegroup {<br />
servicegroup_name disk<br />
alias DISK<br />
members cache1,check_disk,cache2,check_disk<br />
}<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2008/07/15/nagios-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios 札记之一：安装</title>
		<link>http://bluedata.org/2008/07/14/nagios-install/</link>
		<comments>http://bluedata.org/2008/07/14/nagios-install/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 14:42:39 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=42</guid>
		<description><![CDATA[下载所需软件：
http://www.nagios.org/download/
创建 nagios 用户和组
groupadd nagios
useradd -g nagios -d /usr/local/nagios -s /bin/bash nagios
创建一个 nagcmd 组用于从 Web 接口执行外部命令，并将 nagios 用户和 Apache 用户都加到这个组中
groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd nobody
tar zxvf nagios-3.0.3.tar.gz
cd nagios-3.0.3
./configure \
--prefix=/usr/local/nagios \
--with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
安装 Nagios 的 WEB 配置文件到 Apache 的 /etc/httpd/conf.d 目录下
make install-webconf
如果是编译安装的 Apache ，可以手动添加一下配置
cat sample-config/httpd.conf >> /usr/local/apache/conf/httpd.conf
创建 Nagios Web 接口登录的用户
htpasswd -c /usr/local/nagios/etc/htpasswd.users [...]]]></description>
			<content:encoded><![CDATA[<p>下载所需软件：<br />
http://www.nagios.org/download/</p>
<p>创建 nagios 用户和组<br />
groupadd nagios<br />
useradd -g nagios -d /usr/local/nagios -s /bin/bash nagios</p>
<p>创建一个 nagcmd 组用于从 Web 接口执行外部命令，并将 nagios 用户和 Apache 用户都加到这个组中<br />
groupadd nagcmd<br />
usermod -G nagcmd nagios<br />
usermod -G nagcmd nobody</p>
<p>tar zxvf nagios-3.0.3.tar.gz<br />
cd nagios-3.0.3<br />
./configure \<br />
--prefix=/usr/local/nagios \<br />
--with-command-group=nagcmd</p>
<p>make all</p>
<p>make install<br />
make install-init<br />
make install-config<br />
make install-commandmode</p>
<p>安装 Nagios 的 WEB 配置文件到 Apache 的 /etc/httpd/conf.d 目录下<br />
make install-webconf</p>
<p>如果是编译安装的 Apache ，可以手动添加一下配置<br />
cat sample-config/httpd.conf >> /usr/local/apache/conf/httpd.conf</p>
<p>创建 Nagios Web 接口登录的用户<br />
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin</p>
<p>确认加载了 cgi_module 和 alias_module ，然后重启 Apache<br />
service httpd restart</p>
<p>安装 Nagios 插件<br />
tar zxvf nagios-plugins-1.4.12.tar.gz<br />
cd nagios-plugins-1.4.12<br />
./configure \<br />
--prefix=/usr/local/nagios \<br />
--with-nagios-group=nagcmd</p>
<p>make<br />
make install</p>
<p>添加 nagios 服务<br />
chkconfig --add nagios<br />
chkconfig nagios on</p>
<p>检查配置文件是否有错误<br />
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</p>
<p>启动<br />
service nagios start</p>
<p>通过 http://IP/nagios 输入用户名密码就可以打开 nagios 的页面了。<br />
此时还只能简单的查看 localhost 的状态。</p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2008/07/14/nagios-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
