【 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 ,还未有任何监控
【 安装插件 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
安装插件后,可以监控了,但是还看不到监控图像
【 安装 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
可以看到监控图像了。
若出现以下这种情况,是因为图像文件还未生成,等等(如 localhost 文件位置:/usr/local/pnp4nagios/var/perfdata/localhost/)