共计 3682 个字符,预计需要花费 10 分钟才能阅读完成。
一. 系统环境
操作系统是 CentOS 6.4 64 位版本, 以前的一个基本不用的服务器, 机器内存 2G, 硬盘 250G.
安装系统比较简单, 我是用 PXE 安装的, 安装组件选择最小化服务器方式, 其他需要的软件通过 yum 安装.
二. 软件下载
Icinga 中文版在 http://sourceforge.net/projects/icinga-cn/files/?source=navbar 下载, 我下载的是集成 pnp4 的版本, 可以用 Icinga 收集到的数据用 rrd 作图并显示. 另外, 还需要下载对应的 Plugins 的包, 这个是 Icinga 监控 / 检查必须用到的. 没有 Plugins,Icinga 就是空架子. 这个有过安装 Nagios 的童鞋应该都知道.
三. 软件安装
3.1 系统必要组件
a. 编译需要用到的工具, 类库
yum install gcc glibc glibc-common gd gd-devel
yum install libjpeg libjpeg-devel libpng libpng-devel
yum install rrdtool rrdtool-devel perl-rrdtool perl perl-devel
b.LAMP 套件
yum install httpd mysql mysql-server libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql php php-gd php-mysql
php 组件可以根据需要自行添加需要的扩展, 毕竟只是为了 Icinga 这一个服务安装一台机器, 有点浪费.
3.2 开始安装 Icinga
a. 创建 Icinga 用户以及用户组.
/usr/sbin/groupadd icinga
/usr/sbin/useradd -m icinga
passwd icinga
/usr/sbin/usermod -a -G icinga apache
b. 解压下载的 icinga-pnp4-cn-1.8.4.tar.bz2, 然后进入解压的目录, 执行:
./configure –prefix=/usr/local/icinga –with-icinga-user=icinga -with- icinga-group=icinga –with-command-user=icinga –with-command-group=icinga –e nable-idoutils –with-httpd-conf=/etc/httpd/conf.d –enable-nanosleep –enable- event-broker
configure 程序会自动检测系统的环境, 以及所依赖的包是否都安装上了. 没有报错, 执行以下操作:
make all
make 没有报错, 会提示以下一系列 make 命令, 依次执行就可以了.
make install
make install-init
make install-config
make install-eventhandlers
make install-commandmode
make install-idoutils
make install-processperfdata
make install-plugins
上述命令中, 最后两条是包含 pnp 组件的包特有的, 如果下载的是不包含 pnp 的包, 可以不用执行.
我用的是中文的 1.8.4, 可能是汉化作者的疏忽, 在 make all 阶段, 有一个小的 bug, 就是在编译 cgi 的时候, 报错, 说没有 ruler 来编译 statuswml.cgi, 经过对比英文原版 1.8.4cgi 目录下的 Makefile 与中文版的 Makefile, 查到, 在 cgi/Makefile 里面有一行:
CGIS=avail.cgi cmd.cgi config.cgi extinfo.cgi history.cgi notifications.cgi outages.cgi showlog.cgi status.cgi statusmap.cgi statuswml.cgi summary.cgi tac.cgi $(CGIEXTRAS)
用编辑器修改 cgi/Makefile, 去掉那行里面的 statuswml.cgi, 然后重新执行 make all, 就可以继续了. 用英文原版, 可以顺利进行.
在 icinga 官网上提供了一个便捷的 make 命令, 如下
make fullinstall
make install-config
应该也是可以安装上的, 不过我没有测试.
编译过程如果一切顺利,Icinga 的主程序就安装完成了. 用命令
chkconfig –add icinga
chkconfig –add ido2db
chkconfig icinga on
chkconfig ido2db on
让 icinga 服务在下次服务器启动的时候, 自动运行. 以后需要启动 / 关闭 Icinga 服务的时候, 可以通过 service icinga [start|stop|restart]来进行, 很方便.
c. 数据库创建和 IDOUtils
idoutils 支持 mysql,PGsql,Oracle 等数据库, 默认支持 mysql.
启动 mysql 服务, 运行以下命令来创建 icinga 数据库, 并给 icinga 数据库用户授权.
mysql -u root -p
CREATE DATABASE icinga;
GRANT USAGE ON icinga.* TO ‘icinga’@’localhost’
IDENTIFIED BY ‘icinga’
WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE
ON icinga.* TO ‘icinga’@’localhost’;
FLUSH PRIVILEGES;
quit
其中,2~11 步在 mysql> 提示符下操作, 不是在 shell 提示符下.
然后进入 icinga 源码目录下的 module/idoutils/db/mysql, 执行
mysql -u root -p icinga < mysql.sql
来导入数据库.
d. 安装插件.
前面说过, 没有插件,Icinga 只是一个空架子, 现在我们来编译安装插件. 用 tar 解压下载得到的 icinga(nagios)-cn-plugins-1.4.16.tar.bz2, 然后执行以下命令. 注意, 文件名中的 () 需要用 \(和 \)来转义. 我是直接先将文件名 mv 更名之后, 用 tar 解压缩的.
./configure –prefix=/usr/local/icinga –with-cgiurl=/icinga/cgi-bin –with-icinga-user=icinga –with-icinga-group=icinga
make
make install
另外, 在 icinga 中文项目的 plugins 里面, 新增加了一个 addplugins-20130428.tar.gz 包, 里面有很多新的 check 组件, 建议下载, 然后解压, 进入解压目录之后, 因为都是脚本, 所以不用 configure 直接 make install 就可以了.
安装完成 Icinga 插件之后, 就可以启动 apache,ido2db,icinga 服务了.
在用浏览器访问 icinga 之前, 用命令
htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin
添加用户 web 认证用户, 命令会提示输入密码, 并要求再次输入一次确认.
上述命令执行完成之后, 就可以用浏览器访问了. 浏览器输入 http://yourserverip/icinga, 会弹出认证对话框, 输入 htpasswd 命令创建的 icingaadmin 用户名和你的密码, 就可以看到 Icinga 的界面了.
由于默认 icinga 的配置里面, 有一个 linux 的配置, 使用 Nrpe 来检测的, 我这里并没有安装, 所以, 我将 /usr/local/icinga/etc/icinga.cfg 里面的 cfg_file=/usr/local/icinga/etc/objects/linux.cfg 行注释了. 重启 icinga 服务, 就可以看到只有一个 localhost 的主机了.
等待一段数据,icinga 会运行一些服务的检测, 一切顺利的话, 你会看到服务详情里面的服务都是绿色的正常字样.
由于我安装的时候安装的包比较少,localhost 里面有一个服务 check_iostat 报错. 经过研究, 发现系统里面没安装 iostat 和 bc 命令, 安装 sysstat 包和 bc 包, 那个服务就正常了.
如何部署 Icinga 客户端 http://www.linuxidc.com/Linux/2016-01/127381.htm
如何部署 Icinga 服务端 http://www.linuxidc.com/Linux/2016-01/127380.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129165.htm