快速安装nagios(官网译文)+客户端+自定义监控

nagios安装

1、安装流程
首先
在进行安装步骤中需要对你的主机使用root权限。
在进行安装时确保你的Fedora安装过以下软件包:
Apache
PHP
GCC编译器
GD 开发库

你可以使用yum命令(如下)安装这些包(root权限):
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel

1) 创建账号信息
切换到root用户
su -l

创建新用户nagios及其密码。
/usr/sbin/useradd -m nagios
passwd  nagios

为能够使用通过网络接口提交的扩展命令,创建新的指令组nagcmd。给这个组添加用户nagios和apache。
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache

2)下载nagios和插件
创建一个目录作为下载地址
mkdir  ~/downloads
cd  ~/downloads
下载nagios及其插件的源码tar包(察看http://www.nagios.org/download/上的最新版)。这些引导是用nagios3.1.1和nagios插件1.4.11测试过的。

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

3) 编译和安装Nagios
解压nagios的源码tar包
cd ~/downloads
tar xzf nagios-3.2.3.tar.gz
cd nagios-3.2.3

执行nagios 编译脚本,附加之前创建过的组,如下:
./configure  --with-command-group=nagcmd

编译nagios源码,
make all

安装二进制文件、init脚本、示例配置文件并且对外部命令目录设置权限。
make install
make install-init
make install-config
make install-commandmode

还不能启动nagios——还有些事情需要做……

4) 自定义配置
范例配置文件现在被安装到/usr/local/nagios目录下。这些范例文件足够开启nagios。你会要在执行启动前仅做一点调整……

使用你喜欢的编辑器修改配置文件/usr/local/nagios/etc/objects/contacts.cfg,改变与nagiosadmin关联定义的邮件地址作为接受报警的地址。
vi /usr/local/nagios/etc/objects/contacts.cfg

5) 配置web接口
在apache的conf.d目录中安装nagios的web配置文件。
make install-webconf

创建账号nagiosadmin用于登录nagios的交互页面。记住这个账号的密码——之后会要用的。
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

重启apache使得新配置生效。
service httpd restart

注:考虑到在这里实行强化的CGI安全措施,以确保您的web身份验证凭证不泄露。

6) 编译和安装nagios的插件
解压nagios插件的源码tar包
cd  ~/downloads
tar  xzf  nagios-plugins-1.4.11.tar.gz
cd  nagios-plugins-1.4.11

编译和安装nagios的插件
./configure  --with-nagios-user=nagios  --with-nagios-group=nagios
make
make install

7) 启动nagios
将nagios添加到系统服务列表,使得其随系统启动自动启动。
chkconfig --add nagios

chkconfig nagios on


检查样本Nagios配置文件。
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有错误,启动nagios
service nagios start

8) 修改SElinux设置

Fedora 附带安装了SElinux(安全增强的linux),默认模式是强力模式。这会导致当试图访问nagios的CGI页面时遇到"Internal Server Error" 情况。


查看是否SElinux处于强力模式
getenforce

设置SElinux为允许模式。
setenforce 0

要使改变永久需要修改/etc/selinux/config并重启机器。

不想禁用SElinux或是设置它为允许模式,你可以使用以下命令在SElinux的强力/目标模式运行CGI:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

为在目标策略的强力模式下执行Nagios cgi,访问Nagios支持门户或Nagios社区Wiki。

9) 登录交互页面
你应该现在能够用下面的地址访问。你会提示输入用户名(nagiosadmin)和之前指定过的密码。
http://IP/nagios/

注:如果不能访问
  检查防火墙iptables是否开放80端口
  目录权限是否是nagios所属用户和组



2、邮件告警
tar zxvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
cp sendEmail /usr/local/bin/
chmod 775 /usr/local/bin/sendEmail
chown nagios:nagios /usr/local/bin/sendEmail   

vim /usr/local/nagios/etc/objects/commands.cfg更改notify-host-by-email,notify-service-by-email
如:
xxx|/usr/local/bin/sendEmail -f 发出邮箱 -t $CONTACTEMAIL$ -s邮件服务器 -u "** $NOTIFICATIONTYPE$ alert -$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ *"
 -xu 发出邮箱用户 -xp发出邮箱密码 -o message-charset=utf-8 



windows的客户端安装

1、 准备:windows上客户端插件NSClient++
2、 解压后使用cmd安装
3、 安装过程
*\*\NSClient++  /install //安装服务项
*\*\NSClient++  SysTray //注意大小写,安装系统托盘
在运行里面输入services.msc 打开“服务”,可以看到有“NSClientpp(Nagios)”的服务。双击打开,点“登录”标签,在“允许服务与桌面交互”前打勾。
4、配置ini文件
[modules] 中,所有的 .dll 注释都全都去掉,除了 CheckWMI.dll and RemoteConfiguration.dll 
[Settings] 中,'password' 这个项目是在设置密码,作用是在 nagios 监控主机进行联机时,要求提供密码才能进一步进行联机,这里为了方便起见,跳过它,不要设定密码。 
[Settings] 中,'allowed_hosts' 选项的 mark 去掉,并且加上 nagios 的监控主机的 IP,修改如下 allowed_hosts=127.0.0.1/32,监控机IP,以逗点相隔。 
[NSClient] 中,'port' 选项的 mark 须要拿掉,并且它的值是 '12489',这是 NSClient 的预设 port
5、启动
在“计算机管理”——“服务”里启动客户端,或在cmd里使用命令“*\*\NSClient++  /start”。点击该服务,并在选项栏中找到“与桌面可交互”的选框勾上。
查看nagios页面,W3SVC服务为Unknown 状态。查资料,需要开启Windows 的IIS服务。


linux的客户端安装

1、 准备:nrpe-*.tar.gz nagios-plugins-*.tar.gz  openssl openssl-devel


2、 安装

(1) 添加nagios用户
useradd -M -s /sbin/nologin nagios
passwd nagios
(2) 安装插件
yum -y install openssl openssl-devel

tar -zxf nagios-plugins-*.targz
cd nagios-plugin-*
./configure 
make && make install
chown -R nagios:nagios /usr/local/nagios
chown -R nagios:nagios /usr/local/nagios/libexec/
(3) 安装NRPE
tar -zxf nrpe-2.14.tar.gz
cd nrpe-2.14
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config


3、 配置NRPE

vim /usr/local/nagios/etc/nrpe.cfg
allowed_host=服务端IP,127.0.0.1
配置监控项命令:command[check_*]

4、 启动NRPE
#检测配置文件
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
#启动检测
netstat -an | grep 5666
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.14


5、 服务端配置
修改配置文件/usr/local/nagios/etc/nrpe.cfg
allowed_host=客户端IP,127.0.0.1
#测试访问
/usr/local/nagios/libexec/check_nrp -H 192.168.82.200 
NRPE V2.14

注:不能连接,检查
  openssl-devel是否更新
  iptables5666端口是否打开
  对方主机是否锁定

服务端配置NRPE命令/usr/local/nagios/etc/nrpe.cfg
#’check_nrpe’ command definition
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


nagios自定义监控(linux)

1、在客户端定义命令
如在nrpe.cfg中添加:
command[check_ping]=/usr/local/nagios/libexec/check_ping -H 106.3.72.4 -w 100.0,20% -c 500.0,60% 
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 10% -c 5% 
command[check_cpu]=/usr/local/nagios/libexec/check_cpu.sh 
command[check_uptime]=/usr/local/nagios/libexec/check_uptime.sh -c 20 -w 60 
command[check_memory]=/usr/local/nagios/libexec/check_memory.pl  -u -w 90 -c 95
2、添加监控脚本
监控脚本位置:客户端/usr/local/nagios/libexec下,属主属组都是nagios,文件可执行
4、 测试
/usr/local/nagios/libexec/check_nrpe -H [客户机ip] -c [nrpe命令]
nrpe命令定义在nrpe.cfg里,之后重启nrpe。
5、 nagios配置
/usr/local/nagios/etc/nagios.cfg:添加cfg_file=监控机配置文件路径
/usr/local/nagios/etc/objects/:创建cfg文件监控linux主机
6、检查重启nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios restart


【例】
1、建立新脚本
cd /usr/local/nagios/libexec
vim free.sh
写入:
#!bin/bash
#disk free check
#对应输出root目录下的剩余空间,并去除单位
free=`df -m|egrep '/$'|awk '{print $3}'|sed 's/[A-Z]//g'`  

#添加nagios的状态返回定义值
status_ok=0
status_warn=1
status_critical=2
status_unknown=3

#判断剩余空间大小,对状态归档,echo输出的是states_informantion的内容
if [ $free -gt 10240 ]; then
echo "usage:$free;OK,disk free mem is ok"
exit $status_ok
else
echo "usage:$free;Critical,your disk is getting full!"
exit $status_critical
fi

chmod +x free.sh
chown nagios:nagios free.sh

2、nrpe.cfg配置
添加命令command[check_free]=/usr/local/nagios/libexec/free.sh
重启nrpe:
killall nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d


3、服务端检测nrpe命令

/usr/local/nagios/libexec/check_nrpe -H 客户端IP -c check_free
能够看到脚本的输出,不行就继续调整脚本或权限。

4、定义监控机文件
vim /usr/local/nagios/etc/objects/host.cfg仿照范例文件写


5、检查语法重启nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios restart









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值