Nagios监控部署(一)
Nagios部署(一)
1) 安装准备
系统:redhat7.1(监控端)、centos6.5(被监控端)
软件:nagios-cn-3.2.3.tar.bz2、gd-devel-2.0.35-26.el7.x86_64.rpm、nagios-plugins-2.1.1.tar.gz
主机名 | IP地址 | 角色 |
---|---|---|
host.mystudy.com | 192.168.1.183 | 监控端 |
chunlin | 139.199.181.155 | 被监控端1(远程) |
client5 | 192.168.1222.15 | 被监控端2(同网段) |
防火墙:关闭 | ||
SELinux:Disabled | ||
时间:保持同步 |
2) 安装nagios
[root@host ~]# yum install -y httpd
[root@host ~]# yum install -y gd-devel-2.0.35-26.el7.x86_64.rpm
[root@host ~]# mkdir /usr/local/nagios
[root@host ~]# useradd -s /sbin/nologin nagios
[root@host ~]# groupadd nagcmd使外部操作能够在Web界面上提交
root@host ~]# usermod -aG nagcmd nagios
root@host ~]# usermod -aG nagcmd apache[root@host nagios]# tar -jxf nagios-cn-3.2.3.tar.bz2
[root@host nagios-cn-3.2.3]# ./configure
--with-command-group=nagcmd --prefix=/usr/local/nagios
[root@host nagios-cn-3.2.3]# make all
[root@host nagios-cn-3.2.3]# make install
[root@host nagios-cn-3.2.3]# make install-init创建Nagios启动脚本
[root@host nagios-cn-3.2.3]# make install-config
安装Nagios示例配置文件
[root@host nagios-cn-3.2.3]# make install-commandmode
配置目录权限
[root@host nagios-cn-3.2.3]# make install-webconf
创建/etc/httpd/conf.d/nagios.conf
[root@host nagios-cn-3.2.3]# htpasswd -c \
/usr/local/nagios/etc/htpasswd.users nagiosadmin创建Nagios的Web界面登录账号和密码
[root@host nagios-cn-3.2.3]# /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg检查Nagios配置文件正确性
[root@host etc]# systemctl restart httpd
[root@host etc]# systemctl start nagios在浏览器中输入http://localhost/nagios/即可看到Web监控界面
3) 安装nagios-plugin
[root@client5 nagios-plugins-2.2.0]# yum install -y
perl-ExtUtils-MakeMaker
[root@host nagios]# yum install -y openssl-devel
[root@host nagios]# yum install -y mariadb-devel
[root@host nagios]# tar -zxf nagios-plugins-2.2.0.tar.gz
[root@host nagios-plugins-2.2.0]# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios
--with-nagios-group=nagios
--enable-extra-opts
--enable-libtap
--enable-perl-modules
configure过程的输出结果如下:
支持mysql监控、支持SSL加密、支持extra-opts、perl-modules、libtap
[root@host nagios-plugins-2.2.0]# make
[root@host nagios-plugins-2.2.0]# make install
4) 配置监控实例
- 本地监控:
[root@host ~]# cd /usr/local/nagios/etc/objects
[root@host objects]# cp -p localhost.cfg hosts.cfg
[root@host objects]# cp -p localhost.cfg services.cfg
[root@host objects]# vim ../nagios.cfgcfg_file处添加如下两行:
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
将localhost.cfg这一项注释掉
[root@host objects]# vim hosts.cfg
define host{
use linux-server
host_name host.mystudy.com
alias Manager
address 127.0.0.1
icon_image server.gif
statusmap_image server.gd2
2d_coords 500,200
3d_coords 500,200,200
}
define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members *
}
定义主机和主机组
[root@host objects]# vim services.cfg
define servicegroup{
servicegroup_name Local_Check
alias Load_Check
members host.mystudy.com,local_disk,host.mystudy.com,local_user_login,host.mystudy.com,local_load,host.mystudy.com,local_swap,host.mystudy.com,local_process,host.mystudy.com,PING
}
定义资源组和资源,资源的定义默认都给出了就不在这一一列出了
- 远程监控:
[root@host objects]# vim hosts.cfg
# 新增如下主机定义
define host{
use linux-server
host_name chunlin
alias Web
address 139.199.181.155
icon_image server.gif
statusmap_image server.gd2
2d_coords 500,100
3d_coords 500,100,200
}
- check_mysql
[root@host objects]# vim commands.cfg
define command{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d $ARG3$
}
-H:主机地址 -u:mysql授权用户 -p:mysql密码 -d:库
- check_ftp
[root@host objects]# vim commands.cfg
define command{
command_name check_ftp
command_line $USER1$/check_ftp -H $HOSTADDRESS$ -p 21 -w $ARG1$ -c $ARG2$
}
-w:告警时延 -c:严重告警时延
[root@host objects]# vim services.cfg
新增资源组定义如下
define servicegroup{
servicegroup_name Web_Check
alias Load_Check
members chunlin,PING,chunlin,MySQL,chunlin,FTP
}
新增资源定义如下
define service{
use local-service
host_name chunlin
service_description MySQL
check_command check_mysql!xx!xx!mysql
notifications_enabled 0
}
define service{
use local-service
host_name chunlin
service_description FTP
check_command check_ftp!0.080!0.20
notifications_enabled 0
}
[root@host objects]# nagios -v /usr/local/nagios/etc/nagios.cfg
[root@host objects]# systemctl restart nagios.service
5) 远端本地资源监控
- 远端主机安装plugin+nrpe
nagios-plugin在这就不赘述,前面有详细说明
nrpe安装:
[root@chunlin ~]# yum install -y xinetd
[root@chunlin nagios]# tar -zxf nrpe-2.15.tar.gz
[root@chunlin nagios]# cd nrpe-2.15
[root@chunlin nrpe-2.15]# ./configure --prefix=/usr/local/nagios
configure过程的输出结果如下:
[root@chunlin nrpe-2.15]# make all
[root@chunlin nrpe-2.15]# make install-plugin
[root@chunlin nrpe-2.15]# make install-daemon
[root@chunlin nrpe-2.15]# make install-daemon-config
[root@chunlin nrpe-2.15]# make install-xinetd
[root@chunlin libexec]# vim /etc/xinetd.d/nrpe
only_from = xxx.xxx.xxx.xxx #nagios监控主机IP地址或域名
[root@chunlin libexec]# vim /usr/local/nagios/etc/nrpe.cfg将对磁盘的检测命令修改为如下
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
[root@chunlin libexec]# vim /etc/services添加如下一行
nrpe 5666/tcp #nrpe
[root@chunlin libexec]# /etc/init.d/xinetd start
- 本地主机安装nrpe
[guest@host nagios]$ tar -zxf nrpe-2.15.tar.gz
[root@host nagios]# cd nrpe-2.15/
[root@host nrpe-2.15]# ./configure --prefix=/usr/local/nagios
--with-nagios-user=nagios
--with-nagios-group=nagios
[root@host nrpe-2.15]# make all
[root@host nrpe-2.15]# make install-plugin
[root@host objects]# vim commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
[root@host objects]# vim services.cfg
define servicegroup{
servicegroup_name Local_Check
alias disk_Check
members client5,check_disk
}
define service{
use local-service
host_name client5
service_description check_disk
check_command check_nrpe!check_disk
notifications_enabled 0
}
[root@host objects]# nagios -v /usr/local/nagios/etc/nagios.cfg
[root@host objects]# systemctl restart nagios.service