如何部署Icinga服务端

Icinga是Nagios的一个变种,配置,使用方式几乎一样,而且完全兼容Nagios的插件。所以下面的部署方案对Nagios同样使用。

它还推出了两个中文版本,icinga-cn原版和icinga-pnp4nagios-cn,前者和Nagios几乎一模一样,只不过界面是中文的,而后者则集成了php4绘图功能,能以图形化的方式呈现系统的监控信息,类似于Cacti。

Icinga服务端一般是指其内核,它提供的只是一个框架,并不能监控具体的资源,譬如CPU,内存,进程等。对这些的监控是通过Icinga插件来实现的。

对远程Linux主机的监控一般有两种方式:

1. check_by_ssh插件

譬如我要查看远程Linux主机的磁盘空间的使用情况,

# /usr/local/icinga/libexec/check_by_ssh -H 192.168.244.134 -C 'df -h'

root@192.168.244.134's password: Filesystem Size Used Avail Use% Mounted on /dev/sda2 7.7G 5.8G 1.6G 79% / tmpfs 850M 0 850M 0% /dev/shm /dev/sda1 194M 27M 158M 15% /boot /dev/sda4 9.9G 7.2G 2.3G 77% /u01

该插件能够实现安全传输,使用SSH将会比NRPE插件更安全,而且,通过这种方式,远程被监控主机上不需要部署任何软件,但是这会导致远程主机和监控主机上的CPU负载过高。如果监控的主机比较多,这就会成为一个问题,因此,许多运维管理员选择NRPE插件,这样会使CPU负载降低。

2. NRPE插件

NRPE插件的原理是允许Icinga在远程主机上执行Nagios插件,这样就可监控远程主机上的本地资源,譬如CPU,内存,SWAP等不会暴露给外部机器的系统资源。

原理如下:

如何部署Icinga服务端

所以本方案实现的是Icinga内核+Nagios插件+NRPE插件。同时,本方案中使用了IDOUtils,这样,可将icinga的配置信息和监控数据等保存到数据库中。

一、安装依赖包

主要需安装以下几类包

Apache GCC compiler C/C++ development libraries GD development libraries libdbi/libdbi-drivers, database like MySQL or PostgreSQL

Fedora/RHEL/CentOS系统中,具体如下:

# yum install httpd gcc glibc glibc-common gd gd-devel

# yum install libjpeg libjpeg-devel libpng libpng-devel

安装MySQL及其开发包

# yum install mysql mysql-server libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql

二、创建账户

# /usr/sbin/useradd -m icinga

# passwd icinga

如果是要从WEB界面发送命令给Icinga,还需要多配置一个组,并将web用户和icinga用户加入到该组中。

# /usr/sbin/groupadd icinga-cmd

# /usr/sbin/usermod -a -G icinga-cmd icinga

# /usr/sbin/usermod -a -G icinga-cmd apache

三、下载Icinga及其插件包

Icinga中文化项目的下载地址为: ,在这里,下载icinga-cn目录下的icinga-cn-1.12.2.tar.xz。

Icinga plugins的下载地址为:%20plugins/,在这里,下载nagios-cn-plugins-2.0.3.tar.xz。

icinga nrpe的下载地址为:%20plugins/,在这里,下载icinga-nrpe-2.14.tar.gz。

四、安装Icinga内核

即icinga-cn-1.12.2.tar.xz。

# cd /usr/src/

# tar xvf /root/icinga-cn-1.12.2.tar.xz 

# cd icinga-cn-1.12.2/

编译

# ./configure --with-command-group=icinga-cmd --enable-idoutils

编译没有问题,则输出如下:

Web Interface Options: ------------------------ HTML URL: http://localhost/icinga/ CGI URL: http://localhost/icinga/cgi-bin/ Main URL: http://localhost/icinga/cgi-bin/status.cgi?allunhandledproblems UI THEME: ui_theme=ui-smoothness Review the options above for accuracy. If they look okay, type 'make all' to compile the main program and CGIs. !!! Please take care about the upgrade documentation !!!

# make all

# make fullinstall

# make install-config

五、创建MySQL数据及IDOUtils

# mysql -u root -p

mysql> CREATE DATABASE icinga; Query OK, 1 row affected (0.00 sec) mysql> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; Query OK, 0 rows affected (0.00 sec) mysql> quit

# cd /usr/src/icinga-cn-1.12.2/module/idoutils/db/mysql/

# mysql -u root -p icinga < mysql.sql

修改IDOUtils的配置文件

# vim /usr/local/icinga/etc/ido2db.cfg 

db_servertype=mysql db_port=3306 db_user=icinga db_pass=icinga

其实,默认就是这样。

六、配置经典的WEB界面

# cd /usr/src/icinga-cn-1.12.2/

# make cgis

# make install-cgis

# make install-html

# make install-webconf

设置Icinga WEB界面的登录用户和密码

# htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

如果要修改密码,可通过以下命令

# htpasswd /usr/local/icinga/etc/htpasswd.users icingaadmin

重启Apache服务,使上述设置生效

# service httpd restart

七、编译和安装Icinga插件

# cd /usr/src/

# tar xvf /root/nagios-cn-plugins-2.0.3.tar.xz 

# cd nagios-cn-plugins-2.0.3/

# ./configure --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin --with-nagios-user=icinga --with-nagios-group=icinga

# make

# make install

八、编译和安装NRPE插件

# cd /usr/src/

# tar xvf /root/icinga-nrpe-2.14.tar.gz 

# cd icinga-nrpe-2.14/

# ./configure

# make

# make install

# make install-plugin

# make install-init

# make install-xinetd

# make install-daemon-config

其实make install-plugin,make install-init,make install-xinetd, make install-daemon-config也可以不执行,具体作用执行完make后有说明,建议都执行下。

九、调整SELinux策略

最简单的是直接关闭

临时关闭:# setenforce 0

永久关闭:# vim /etc/sysconfig/selinux 

SELINUX=disabled

十、开启IDOUtils和Icinga服务

启动IDOUtils服务

# service ido2db start

验证Icinga的配置文件

# /usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg 

输出如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/42dd4122a0b39c3c70322834c21a8a0f.html