Nagios 监控服务器部署

【 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/)

猜你喜欢

转载自blog.csdn.net/kk185800961/article/details/85042922