nagios 监控Linux和Unix服务器(ubuntu服务器安装实例)
2011-12-07 00:09
537 查看
1. 监控原理
监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。但是这种方 式,当运用于监控上百台服务器时,由于ssh连接的建立和中断,会对Nagios服务器产生高负载现象,所以不建议使用。它的优点在安全性高与采用 NRPE的插件方式。
另外一种方式,是常用的方式。就是在被监控的Linux/Unix的服务器上安装NRPE监控引擎,然后Nagios服务器通过check_nrpe的程 序,利用ssl通讯模式调用nrpe获取相关数据信息。优点包括可以使用Nagios的大多数监控插件。处理可以监控自身的状态变化,还可以拓展应用监控 其它服务器的开放服务。
![](http://control.cublog.cn/images/blank.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201112/09bb073ac739b685433cf8b05c87f493)
2. 监控内容
Linux/Unix服务器的内部参数包括以下
内存使用状况
CPU负载
磁盘使用状况
运行的进程
登录用户
![](https://oscdn.geek-share.com/Uploads/Images/Content/201112/edb181709f8553139cde51ff1464b869)
外部监控内容,可以使用Nagios的监控插件,监控其他的服务器开放的服务。起到间接监控的作用或者说是代理监控。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201112/855ab173f7c5ea76e8d560dd0a9d6b0c)
3.安装步骤
配置环境 ubuntu 8.0
a.前提条件
在Linux服务器上具有root权限
允许建立nagios帐号让远程访问
安装以下包
apt-get install gcc
apt-get install build-essential
apt-get install libssl0.9.8
apt-get install libssl-dev
apt-get install openssl
b.远程主机配置
创建账户nagios并设定密码
useradd nagios
password nagios
下载nagios的插件资料,解包安装
下载地址
http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.6.tar.gz
解开nagios plugins的源代码包
tar xzvf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6
编译安装nagios plugins
./configura
make
make install
改变安装目录和文件的用户和组属性
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
c.安装NRPE
下载NRPE插件
http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解压缩NRPE源代码
tar -zxvf nrpe-2.8.tar.gz
编译NRPE
./configure
make all
注意事项: 在ubuntu下面安装时,需要先确认安装了openssl libssl0.9.8 libssl-dev
安装NRPE插件、进程程序和案例进程
make install-plugin
make install-daemon
make install-daemon-config
安装NRPE到xinet服务中
make install-xinetd
编辑/etc/xinetd.d/nrpe 将nagios的服务器ip添加进去
only_from= 127.0.0.1
将NRPE进程端口加到/etc/services中
nrpe 5666/tcp
重新启动xinetd服务
service xinetd restart
d. 测试NRPE是否正常
确认nrpe是否在xinetd下运行
netstat -at |grep nrpe
如果反馈的是以下信息,则表示运行正常。
tcp 0 0 *:nrpe *:* LISTEN
没有出现以上信息,则从下面找问题
确认/etc/services中是否添加nrpe的端口描述
在/etc/xinetd.d/nrpe文件中的only_from参数是否包含了"127.0.0.1"
确认xinetd.d是否安装和启动
查看系统日志中涉及xinetd或nrpe的问题,进行修正
确认NRPE进程是否正常运行,利用check_nrpe来做检测,执行指令如下:
/usr/local/nagios/libexec/check_nrpe -H localhost
正常反馈信息为 NRPE v2.8
e.客制化NRPE指令
编辑/usr/local/nagios/etc/nrpe.cfg
在最后的COMMAND部分已经定义了部分监测的指令,你可以根据实际情况进行添加修改参数。
同时,可以用以下指令检测nrpe调用nagios插件是否正常
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
f.监控服务器设置
需要完成内容包括
安装check_nrpe 插件
创建一个Nagios使用check_nrpe插件的指令定义
创佳监控远程主机的Nagios主机和服务定义
安装check_nrpe插件步骤
安装ssl的包
apt-get install libssl-dev
下载nrpe源码包
解压缩该包 tar -zxvf nrpe-2.*.tar.gz
cd nrpe-2.*
./configure
make all
安装check_nrpe程序到/usr/local/nagiso/libexec/
make install-plugin
测试与被监控主机的nrpe程序的通信状况
先编辑被监控主机的/etc/xinetd.d/nrpe中的only_from的参数为监控服务器的ip
重新启动xinetd的服务 service xinetd restart
在监控服务器上,运行 /usr/local/nagios/libexec/check_nrpe -H 被监控主机IP
正常反馈信息如下:
NRPE v2.8
如果有问题,用telnet IP地址 5666检测一下。如果被直接connection closed,则需要查看一下防火墙的规则和被监测主机的nrpe的进程
创建command定义
编辑/usr/local/nagios/etc/objects/commands.cfg增加以下配置信息
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
定义主机和服务设定
先建立一个模板用于之后的主机监控的继承设定(在/usr/local/nagios/etc/objects/templates.cfg已经有添加了这个模板规则,只是notification_period不一样而已,关于这个的解释也非常有意思可以自己看看)
define host{
name linux-server ; Name of this template
use generic-host ; Inherit default values
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,r
contact_groups admins
register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
}
编辑/usr/local/nagios/etc/objects/localhost.cfg(也可以自己创建文件,只要在nagios.cfg中添加对应配置)
增加被监控的主机对象
define host{
use linux-server
host_name web-server ;nrpe check host
alias ubuntu server (WWW)
address 192.168.200.244
}
增加监控远程服务器的服务对象
define service{
use generic-service
host_name web-server
service_description CPU Load
check_command check_nrpe!check_load
}
define service{
use generic-service
host_name web-server
service_description Current Users
check_command check_nrpe!check_users
}
#磁盘监控需要确认自己的硬盘是hda 还是sda,nrpe安装的默认配置是check_hda1,所以需要你手动修改被监控服务器的/usr/local/nagios/etc/nrpe.cfg,将hda修改为sda。并重新启动xinetd服务
define service{
use generic-service
host_name web-server
service_description /dev/sda1 Free Space
check_command check_nrpe!check_sda1
}
define service{
use generic-service
host_name web-server
service_description Total Processes
check_command check_nrpe!check_total_procs
}
define service{
use generic-service
host_name web-server
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}
配置完成后,运行/etc/init.d/nagios checkconfig 或
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检测nagios配置是否正确。
没有问题,重新启动nagios服务,则可以通过网页来查看监控结果了。
4.自定义监控服务
由于前面的服务是nrpe主机上的默认建立的样例规则。如果手动建立服务监控需要做以下操作
在nrpe.cfg上建立监控服务指令和参数
在nagios服务器上建立对应的服务定义
a.被监控主机的配置内容
在/usr/local/nagios/libexec下,有很多监控插件。在写入nrpe.cfg前,先用指令测试这个插件和参数所产生的结果是否符合要求
例如 /usr/local/nagios/libexec/check_swap -w 20% -c 10% ‘监控swap的使用状况
编辑/usr/local/nagios/etc/nrpe.cfg
添加一行 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
然后重新启动xinetd服务
b.Nagios服务的配置内容
编辑/usr/local/nagios/etc/objects/localhost.cfg
添加以下内容
service{
use generic_service
hostname web_server
service_description swap status
check_command check_nrpe!check_swap
}
然后重新启动nagios服务,这个新的监控服务就完成创建了
//--------------------------------------------
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
添加用户:
useradd -m nagios
passwd nagios
添加用户组,(注意:Ubuntu8.04以后用户组已经存在)
groupadd nagios
usermod -G nagios nagios
安装相关软件:
apt-get install apache2 php5 libssl0.9.8 libssl-dev openssl
下载 Nagios Core、Nagios Plugins、Nagios Addons:
wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.1/nagios-3.2.1.tar.gz
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
安装nagios主程序:
tar -xzvf nagios-3.2.1.tar.gz
cd nagios-3.2.1
./configure --prefix=/usr/local/nagios
make all
make install
make install-init # 安装初始化脚本可用/etc/init.d/nagios start启动nagios
make install-commandmode
make install-config
安装nagios-plugins:
tar -xzvf nagios-plugins-1.4.15.tar.gz
mkdir /usr/local/nagios-plugins
cd nagios-plugins-1.4.15
./configure --prefix=/usr/local/nagios-plugins
make all
make install
mv /usr/local/nagios-plugins/libexec /usr/local/nagios
安装nrpe:
tar -xzvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --enable-ssl --enable-command-args
make all
cp src/check_nrpe /usr/local/nagios/libexec
现在就可以启动nagios了:
/etc/init.d/nagios start
配置apache:
在apache的配置文件httpd.conf中追加
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
Require valid-user
</Directory>
生成用户名和密码:
/usr/bin/htpasswd -c /usr/local/nagios/etc/.htpasswd nagios
修改/usr/local/nagios/etc/cgi.cfg 修改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。
检查配置文件是否出错:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。但是这种方 式,当运用于监控上百台服务器时,由于ssh连接的建立和中断,会对Nagios服务器产生高负载现象,所以不建议使用。它的优点在安全性高与采用 NRPE的插件方式。
另外一种方式,是常用的方式。就是在被监控的Linux/Unix的服务器上安装NRPE监控引擎,然后Nagios服务器通过check_nrpe的程 序,利用ssl通讯模式调用nrpe获取相关数据信息。优点包括可以使用Nagios的大多数监控插件。处理可以监控自身的状态变化,还可以拓展应用监控 其它服务器的开放服务。
![](http://control.cublog.cn/images/blank.gif)
2. 监控内容
Linux/Unix服务器的内部参数包括以下
内存使用状况
CPU负载
磁盘使用状况
运行的进程
登录用户
外部监控内容,可以使用Nagios的监控插件,监控其他的服务器开放的服务。起到间接监控的作用或者说是代理监控。
3.安装步骤
配置环境 ubuntu 8.0
a.前提条件
在Linux服务器上具有root权限
允许建立nagios帐号让远程访问
安装以下包
apt-get install gcc
apt-get install build-essential
apt-get install libssl0.9.8
apt-get install libssl-dev
apt-get install openssl
b.远程主机配置
创建账户nagios并设定密码
useradd nagios
password nagios
下载nagios的插件资料,解包安装
下载地址
http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.6.tar.gz
解开nagios plugins的源代码包
tar xzvf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6
编译安装nagios plugins
./configura
make
make install
改变安装目录和文件的用户和组属性
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
c.安装NRPE
下载NRPE插件
http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解压缩NRPE源代码
tar -zxvf nrpe-2.8.tar.gz
编译NRPE
./configure
make all
注意事项: 在ubuntu下面安装时,需要先确认安装了openssl libssl0.9.8 libssl-dev
安装NRPE插件、进程程序和案例进程
make install-plugin
make install-daemon
make install-daemon-config
安装NRPE到xinet服务中
make install-xinetd
编辑/etc/xinetd.d/nrpe 将nagios的服务器ip添加进去
only_from= 127.0.0.1
将NRPE进程端口加到/etc/services中
nrpe 5666/tcp
重新启动xinetd服务
service xinetd restart
d. 测试NRPE是否正常
确认nrpe是否在xinetd下运行
netstat -at |grep nrpe
如果反馈的是以下信息,则表示运行正常。
tcp 0 0 *:nrpe *:* LISTEN
没有出现以上信息,则从下面找问题
确认/etc/services中是否添加nrpe的端口描述
在/etc/xinetd.d/nrpe文件中的only_from参数是否包含了"127.0.0.1"
确认xinetd.d是否安装和启动
查看系统日志中涉及xinetd或nrpe的问题,进行修正
确认NRPE进程是否正常运行,利用check_nrpe来做检测,执行指令如下:
/usr/local/nagios/libexec/check_nrpe -H localhost
正常反馈信息为 NRPE v2.8
e.客制化NRPE指令
编辑/usr/local/nagios/etc/nrpe.cfg
在最后的COMMAND部分已经定义了部分监测的指令,你可以根据实际情况进行添加修改参数。
同时,可以用以下指令检测nrpe调用nagios插件是否正常
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
f.监控服务器设置
需要完成内容包括
安装check_nrpe 插件
创建一个Nagios使用check_nrpe插件的指令定义
创佳监控远程主机的Nagios主机和服务定义
安装check_nrpe插件步骤
安装ssl的包
apt-get install libssl-dev
下载nrpe源码包
解压缩该包 tar -zxvf nrpe-2.*.tar.gz
cd nrpe-2.*
./configure
make all
安装check_nrpe程序到/usr/local/nagiso/libexec/
make install-plugin
测试与被监控主机的nrpe程序的通信状况
先编辑被监控主机的/etc/xinetd.d/nrpe中的only_from的参数为监控服务器的ip
重新启动xinetd的服务 service xinetd restart
在监控服务器上,运行 /usr/local/nagios/libexec/check_nrpe -H 被监控主机IP
正常反馈信息如下:
NRPE v2.8
如果有问题,用telnet IP地址 5666检测一下。如果被直接connection closed,则需要查看一下防火墙的规则和被监测主机的nrpe的进程
创建command定义
编辑/usr/local/nagios/etc/objects/commands.cfg增加以下配置信息
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
定义主机和服务设定
先建立一个模板用于之后的主机监控的继承设定(在/usr/local/nagios/etc/objects/templates.cfg已经有添加了这个模板规则,只是notification_period不一样而已,关于这个的解释也非常有意思可以自己看看)
define host{
name linux-server ; Name of this template
use generic-host ; Inherit default values
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,r
contact_groups admins
register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
}
编辑/usr/local/nagios/etc/objects/localhost.cfg(也可以自己创建文件,只要在nagios.cfg中添加对应配置)
增加被监控的主机对象
define host{
use linux-server
host_name web-server ;nrpe check host
alias ubuntu server (WWW)
address 192.168.200.244
}
增加监控远程服务器的服务对象
define service{
use generic-service
host_name web-server
service_description CPU Load
check_command check_nrpe!check_load
}
define service{
use generic-service
host_name web-server
service_description Current Users
check_command check_nrpe!check_users
}
#磁盘监控需要确认自己的硬盘是hda 还是sda,nrpe安装的默认配置是check_hda1,所以需要你手动修改被监控服务器的/usr/local/nagios/etc/nrpe.cfg,将hda修改为sda。并重新启动xinetd服务
define service{
use generic-service
host_name web-server
service_description /dev/sda1 Free Space
check_command check_nrpe!check_sda1
}
define service{
use generic-service
host_name web-server
service_description Total Processes
check_command check_nrpe!check_total_procs
}
define service{
use generic-service
host_name web-server
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}
配置完成后,运行/etc/init.d/nagios checkconfig 或
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检测nagios配置是否正确。
没有问题,重新启动nagios服务,则可以通过网页来查看监控结果了。
4.自定义监控服务
由于前面的服务是nrpe主机上的默认建立的样例规则。如果手动建立服务监控需要做以下操作
在nrpe.cfg上建立监控服务指令和参数
在nagios服务器上建立对应的服务定义
a.被监控主机的配置内容
在/usr/local/nagios/libexec下,有很多监控插件。在写入nrpe.cfg前,先用指令测试这个插件和参数所产生的结果是否符合要求
例如 /usr/local/nagios/libexec/check_swap -w 20% -c 10% ‘监控swap的使用状况
编辑/usr/local/nagios/etc/nrpe.cfg
添加一行 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
然后重新启动xinetd服务
b.Nagios服务的配置内容
编辑/usr/local/nagios/etc/objects/localhost.cfg
添加以下内容
service{
use generic_service
hostname web_server
service_description swap status
check_command check_nrpe!check_swap
}
然后重新启动nagios服务,这个新的监控服务就完成创建了
//--------------------------------------------
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
添加用户:
useradd -m nagios
passwd nagios
groupadd nagios
usermod -G nagios nagios
安装相关软件:
apt-get install apache2 php5 libssl0.9.8 libssl-dev openssl
下载 Nagios Core、Nagios Plugins、Nagios Addons:
wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.1/nagios-3.2.1.tar.gz
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
安装nagios主程序:
tar -xzvf nagios-3.2.1.tar.gz
cd nagios-3.2.1
./configure --prefix=/usr/local/nagios
make all
make install
make install-init # 安装初始化脚本可用/etc/init.d/nagios start启动nagios
make install-commandmode
make install-config
安装nagios-plugins:
tar -xzvf nagios-plugins-1.4.15.tar.gz
mkdir /usr/local/nagios-plugins
cd nagios-plugins-1.4.15
./configure --prefix=/usr/local/nagios-plugins
make all
make install
mv /usr/local/nagios-plugins/libexec /usr/local/nagios
安装nrpe:
tar -xzvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --enable-ssl --enable-command-args
make all
cp src/check_nrpe /usr/local/nagios/libexec
现在就可以启动nagios了:
/etc/init.d/nagios start
配置apache:
在apache的配置文件httpd.conf中追加
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
Require valid-user
</Directory>
生成用户名和密码:
/usr/bin/htpasswd -c /usr/local/nagios/etc/.htpasswd nagios
修改/usr/local/nagios/etc/cgi.cfg 修改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。
检查配置文件是否出错:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
相关文章推荐
- nagios 监控Linux和Unix服务器(ubuntu服务器安装实例)
- 在Ubuntu 14.04上安装Nagios 用于监控服务器
- 在Ubuntu 14.04上安装Nagios 4用于监控服务器
- Nagios 监控 Linux 服务器 运行情况 快速安装手册
- ubuntu 安装 Nagios服务器监控软件
- linux -- Ubuntu安装TFTP服务器
- Nagios3.0 NRPE 安装 监控远程Linux服务
- nagios 监控被监控服务器安装nrpe
- Linux,UBUNTU.CENTOS服务器用户安装自己的软件如何配置环境
- Linux-Ubuntu 远程登录服务器--ssh的安装和配置
- 安装nagios+监控Linux客户端服务端+监控windows客户端
- Nagios安装配置和基于NRPE监控远程Linux主机 推荐
- LINUX开源监控平台Nagios(插件的安装和使用)
- ubuntu下安装cacti监控服务器
- 在linux(ubuntu)下安装配置svn服务器
- Ubuntu Server 安装部署 Cacti 服务器监控
- Nagios 下监控服务器流量(linux平台下)
- Nagios 监控服务器安装及配置文档
- 用Ubuntu Linux系统架设cacti监控服务器
- 【Nagios】Linux监控软件安装与配置(二)