【 Nagios 安装配置】

安装参考:​​Nagios Core - Installing Nagios Core From Source​

# 设置SELINUX
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

# 安装必要包
yum install -y gcc glibc glibc-common wget unzip httpd php gd gd-devel perl postfix nagios-selinux

# 下载 nagios 源码
cd /opt
wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.1.tar.gz --no-check-certificate
tar xvzf nagioscore.tar.gz

# 编译
cd /opt/nagioscore-nagios-4.4.1/
./configure --prefix=/usr/local/nagios
make all

/*
General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Install ${includedir}: /usr/local/nagios/include/nagios
Lock file: /run/nagios.lock
Check result directory: /usr/local/nagios/var/spool/checkresults
Init directory: /lib/systemd/system
Apache conf.d directory: /etc/httpd/conf.d
Mail program: /usr/bin/mail
Host OS: linux-gnu
IOBroker Method: epoll

Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):
*/

# 添加用户 & 组
make install-groups-users
usermod -a -G nagios apache

# 安装 binary 文件、 CGIs 和 HTML 文件
make install

# 安装服务、后台进程
make install-init
make install-daemoninit
systemctl enable httpd.service

# 安装相关配置文件
make install-commandmode
make install-config
make install-webconf

# 防火墙配置(Centos 7)
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 创建管理员账户(密码自定义)
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

# 启动服务
systemctl start httpd.service
systemctl start nagios.service

#检查
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

# 浏览器访问
http://192.168.1.171/nagios

Nagios 监控服务器部署_ios

只是安装了 Nagios ,还未有任何监控

Nagios 监控服务器部署_ios_02

【 安装插件 check_XXXX 】

yum install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release
yum install -y perl-Net-SNMP

# 下载编译
cd /opt
wget --no-check-certificate -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
tar zvxf nagios-plugins.tar.gz

cd /opt/nagios-plugins-release-2.2.1/
./tools/setup
./configure
make
make install

/* ./configure 默认配置:
--with-apt-get-command:
--with-ping6-command: /usr/sbin/ping6 -n -U -W %d -c %d %s
--with-ping-command: /usr/bin/ping -n -U -W %d -c %d %s
--with-ipv6: yes
--with-mysql: /usr/bin/mysql_config
--with-openssl: yes
--with-gnutls: no
--enable-extra-opts: yes
--with-perl: /usr/bin/perl
--enable-perl-modules: no
--with-cgiurl: /nagios/cgi-bin
--with-trusted-path: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
--enable-libtap: no
*/

# 插件生成位置
ll /usr/local/nagios/libexec/

# 重启服务
systemctl restart nagios.service

安装插件后,可以监控了,但是还看不到监控图像

Nagios 监控服务器部署_perl_03

 

【 安装 rrdtool 和 pnp4nagios 绘图插件 】

不直接安装( yum install -y rrdtool pnp4nagios),使用以下操作自定义编译。

【安装 rrdtool 】

【安装 rrdtool 】
yum -y install gcc cairo-devel libxml2-devel pango-devel pangolibpng-devel freetype freetype-devel libart_lgpl-devel php-gd

cd /opt
wget https://github.com/oetiker/rrdtool-1.x/releases/download/v1.7.0/rrdtool-1.7.0.tar.gz --no-check-certificate
tar zxvf rrdtool-1.7.0.tar.gz
cd rrdtool-1.7.0
./configure --prefix=/usr/local/rrdtool
make && make install

# 更改时区
sed -i 's/;date.timezone =/date.timezone ="Asia\/Shanghai"/g' /etc/php.ini

【 安装 pnp4nagios 】

【 安装 pnp4nagios 】
wget https://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.26.tar.gz --no-check-certificate
tar -zxvf pnp4nagios-0.6.26.tar.gz
cd pnp4nagios-0.6.26
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool
make all
make install
make install-webconf
make install-config
make install-init

/* ./configure 默认配置:
General Options:
------------------------- -------------------
Nagios user/group: nagios nagios
Install directory: /usr/local/pnp4nagios
HTML Dir: /usr/local/pnp4nagios/share
Config Dir: /usr/local/pnp4nagios/etc
Location of rrdtool binary: /usr/local/rrdtool/bin/rrdtool Version 1.7.0
RRDs Perl Modules: *** NOT FOUND ***
RRD Files stored in: /usr/local/pnp4nagios/var/perfdata
process_perfdata.pl Logfile: /usr/local/pnp4nagios/var/perfdata.log
Perfdata files (NPCD) stored in: /usr/local/pnp4nagios/var/spool

Web Interface Options:
------------------------- -------------------
HTML URL: http://localhost/pnp4nagios
Apache Config File: /etc/httpd/conf.d/pnp4nagios.conf
*/

# 数据记录功能(对于 Nagios Core 4.x 版本)
# vim /usr/local/nagios/etc/nagios.cfg

enable_environment_macros=1
process_performance_data=1
#host_perfdata_command=process-host-perfdata
#service_perfdata_command=process-service-perfdata
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata


# 数据记录命令
# vim /usr/local/nagios/etc/objects/commands.cfg

define command {
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
}
define command {
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
}


# 添加记录模板
# vim /usr/local/nagios/etc/objects/templates.cfg

define host {
name linux-server
register 0
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
}
define service {
name generic-service
register 0
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
}


#删除
rm -rf /usr/local/pnp4nagios/share/install.php


# 默认配置文件
cd /usr/local/pnp4nagios/etc/
cp rra.cfg-sample rra.cfg
cp nagios.cfg-sample nagios.cfg
cp misccommands.cfg-sample misccommands.cfg

cd /usr/local/pnp4nagios/etc/pages/
cp web_traffic.cfg-sample web_traffic.cfg

cd /usr/local/pnp4nagios/etc/check_commands/
cp check_nrpe.cfg-sample check_nrpe.cfg
cp check_nwstat.cfg-sample check_nwstat.cfg
cp check_all_local_disks.cfg-sample check_all_local_disks.cfg



# 启动相关服务
chkconfig npcd on
service npcd start

systemctl restart httpd.service
systemctl restart nagios.service

可以看到监控图像了。

Nagios 监控服务器部署_ios_04

Nagios 监控服务器部署_ios_05

 

若出现以下这种情况,是因为图像文件还未生成,等等(如 localhost 文件位置:/usr/local/pnp4nagios/var/perfdata/localhost/)

Nagios 监控服务器部署_ios_06