阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何部署Icinga服务端

121次阅读
没有评论

共计 5717 个字符,预计需要花费 15 分钟才能阅读完成。

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 中文化项目的下载地址为:http://sourceforge.net/projects/icinga-cn/files/,在这里,下载 icinga-cn 目录下的 icinga-cn-1.12.2.tar.xz。

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

icinga nrpe 的下载地址为:http://sourceforge.net/projects/icinga-cn/files/icinga%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 

输出如下:

Icinga 1.12.2
Copyright (c) 2009-2015 Icinga Development Team (http://www.icinga.org)
Copyright (c) 2009-2013 Nagios Core Development Team and Community Contributors
Copyright (c) 2009-2014 icinga-cn 中文化组
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 02-14-2015
License: GPL

读取配置数据...
警报: 未知 'event_profiling_enabled' 配置设置. 将其从配置中移除!
   Read main config file okay...
Processing object config directory '/usr/local/icinga/etc/conf.d'...
Processing object config file '/usr/local/icinga/etc/objects/commands.cfg'...
Processing object config file '/usr/local/icinga/etc/objects/contacts.cfg'...
Processing object config file '/usr/local/icinga/etc/objects/notifications.cfg'...
Processing object config file '/usr/local/icinga/etc/objects/timeperiods.cfg'...
Processing object config file '/usr/local/icinga/etc/objects/templates.cfg'...
Processing object config file '/usr/local/icinga/etc/objects/localhost.cfg'...
Processing object config file '/usr/local/icinga/etc/objects/linux.cfg'...
Processing object config directory '/usr/local/icinga/etc/modules'...
Processing object config file '/usr/local/icinga/etc/modules/idoutils.cfg'...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking services...
    已检查 17 服务.
检查主机...
    已检查 2 主机.
检查主机组...
    已检查 2 主机组.
检查服务组...
    已检查 2 服务组.
检查联系人...
    已检查 1 联系人.
检查联系人组...
    已检查 1 联系人组.
检查服务升级...
    已检查 0 服务升级.
检查服务依赖关系...
    已检查 0 服务依赖关系.
检查主机升级...
    已检查 0 主机升级.
检查主机依赖关系...
    已检查 0 主机依赖关系.
检查命令...
    已检查 36 命令.
检查时间段...
    已检查 6 时间段.
检查模块...
    已检查 1 模块.
检查主机之间的回路...
检查回路主机和服务的依赖性...
检查全局事件处理...
检查强迫性处理命令...
检查杂项设置...

总计警报 s: 0
总计错误:   0

Things look okay - No serious problems were detected during the pre-flight check

启动 Icinga 服务

# service icinga start

设置开机自启动

# chkconfig ido2db on

# chkconfig icinga on

十一、登录 WEB 界面进行测试

登录地址:http://192.168.244.145/icinga/

登录用户名为:icingaadmin

登录密码为第六步通过 htpasswd 命令设置的密码。

如何部署 Icinga 服务端

总结:

1. 在上述方案中,IDOUtils 和 NRPE 并不是必需的,如果只需搭建一个简单的 Icinga 服务端,只需要 Icinga 内核和 Nagios 插件。具体可参考:

http://docs.icinga.org/latest/en/quickstart-icinga.html

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127380.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5717字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中