Cacti与Nagios进行网络监控的区别
本文讲述的是:Cacti与Nagios网络监控的区别——返回大纲
5. 安装Nagios
这一部分相对来说比较复杂一点,因为要自己编译程序,但是一旦会了,也是很简单的事情。
一开始先要安装Nagios需要的两个package
- apt-get install build-essential libgd2-xpm-dev
添加编辑用户和组
- useradd nagios
- groupadd nagios
- groupadd nagcmd
- usermod -G nagcmd nagios
- usermod -G nagcmd www-data
下载并编译安装Nagios
mkdir ~/nagios
cd ~/nagios
wget http://osdn.dl.sourceforge.net/s ... nagios-3.0.2.tar.gz
我用的是3.0.2。
- tar nagios-3.0.2.tar.gz
- cd ~/nagios/nagios-3.0.2
- ./configure --with-command-group=nagcmd
- make all
- make install
- make install-init
- make install-config
- make install-commandmode
- make install-webconf
然后给nagios一个web的密码
- htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启apache
- /etc/init.d/apache2 restart
下面就是做个link,具体有什么用我也不清楚,但是不用不行,有知道的请告诉我。
- ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
然后安装nagios plugins
这个plugins里面主要是有很多用来check host和service的文件
- cd ~/nagios
- wget http://osdn.dl.sourceforge.net/s ... ugins-1.4.11.tar.gz
- tar xzf nagios-plugins-1.4.11.tar.gz
- ./configure --with-nagios-user=nagios --with-nagios-gourp=nagios
- make
- make install
***是关于nagios的mail alarm,我试了本机发送一直都没有成功,所以走了我们公司的smtp服务器,用了一个perl的script来发:
- #!/usr/bin/perl
- use Getopt::Std;
- use Net::SMTP;
- #f:mail from s:subject t:rcpt to
- Getopt::Std::getopts('f:s:t:',\%options);
- my $from=$options{f};
- my $subject=$options{s};
- my $to=$options{t};
- while(defined($line=;)){
- $content.=$line;
- }
- open(LOG,">>/var/log/notify.log");
- $smtp=Net::SMTP->new('yourSMTPserverAddress');
- $smtp->mail($from);
- $smtp->to($to);
- $smtp->data();
- $smtp->datasend("To:$to\n");
- $smtp->datasend("Subject:$subject\n");
- $smtp->datasend("Content-Type:text/plain;charset=utf-8\n");
- $smtp->datasend("\n");
- $smtp->datasend("$content\n");
- $smtp->dataend();
- $smtp->quit;
- my $date_command="/bin/date";
- my $date='$date_command';chop($date);
- print LOG "$date:Sent Msg $content to $to\n";
- close(LOG);
- exit(0);
下面是我用在Nagios里面的notify-host-by-email的command:
- /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | perl /usr/local/nagios/etc/mail1.pl -f nagios@infor.com -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -t $CONTACTEMAIL$
关于Naigos的alarm,我研究过还可以用短消息的,但是仅限于移动用户,使用一个linux下的飞信的软件,还可以。Nagios飞信Linux系统免费短信报警配置
【编辑推荐】