部署Icinga-php4

关于Icinga-php4的文档信息及下载地址,可参考:http://icinga-cn.sourceforge.net/

我这里使用的是icinga-pnp4-cn-1.12.2.tar.xz。

因为账号限制的原因,在这里并没有新建icinga用户,后续icinga的使用者是monitor用户。后续预编译的时候需指定。

一、按照依赖包

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

# yum install libjpeg libjpeg-devel libpng libpng-devel

# yum install net-snmp net-snmp-devel net-snmp-utils

二、解压安装包

# tar xvf icinga-pnp4-cn-1.12.2.tar.xz 

三、预编译

# cd icinga-pnp4-cn-1.12.2

# ./configure --prefix=/home/monitor/icinga  --with-icinga-user=monitor -with-icinga-group=monitor --with-command-user=monitor --with-command-group=monitor  --enable-idoutils=no

注意:如果没有带指定后面的--enable-idoutils=no,编译过程中会报configure: error: ERROR - We really need a libdbi to link against。

预编译完成后,会输出以下信息

复制代码
*** Configuration summary for pnp4icinga-0.6.25 03-01-2015 ***

  General Options:
  -------------------------         -------------------
  Icingapnp4 user/group:                monitor monitor
  Install directory:                /home/monitor/icinga
  HTML Dir:                         /home/monitor/icinga/share
  Config Dir:                       /home/monitor/icinga/etc
  Location of rrdtool binary:       /usr/bin/rrdtool Version 1.3.8
  RRDs Perl Modules:                *** NOT FOUND ***
  RRD Files stored in:              /home/monitor/icinga/var/perfdata
  process_perfdata.pl Logfile:      /home/monitor/icinga/var/log/perfdata.log
  Perfdata files (NPCD) stored in:  /home/monitor/icinga/var/spool/perfdata

  Web Interface Options:
  -------------------------         -------------------
  HTML URL:                         http://localhost/icinga
  Apache Config File:               /etc/httpd/conf.d/icinga.conf


  Review the options above for accuracy.  If they look okay,
  type 'make all' to compile.
复制代码

很显然,RRDs Perl Modules没有安装,如果没有安装的话,会导致pnp出来的数据是乱码。

# yum install rrdtool-perl

四、编译

# make all

输出信息如下:

复制代码
*** Compile finished ***

If the main program and CGIs compiled without any errors, you
can continue with installing Icinga as follows (type 'make'
without any arguments for a list of all possible options):

  make install
     - This installs the main program (Icinga Core), CGIs
       (Classical Web), and HTML files

  make install-init
     - This installs the init script in /etc/rc.d/init.d

  make install-commandmode
     - This installs and configures permissions on the
       directory for holding the external command file

  make install-idoutils
     - This installs the database addon IDOUtils into the
       destination directory

  make install-config
     - This installs *SAMPLE* config files in /home/monitor/icinga/etc
       You'll have to modify these sample files before you can
       use Icinga.  Read the HTML documentation for more info
       on doing this.  Pay particular attention to the docs on
       object configuration files, as they determine what/how
       things get monitored!

  make install-webconf
     - This installs the Apache config file and http auth file for
       the Icinga Classic UI


  make install-webconf-auth
     - This installs the Apache http auth file for the Classic UI


 make install-processperfdata
     - pnp4icinga processperfdata in /home/monitor/icinga/libexec
 make install-plugins
     - pnp4icinga plugins in /home/monitor/icinga/libexec
复制代码

除了make install-idoutils,依次执行上述命令

# make install

# make install-init

# make install-commandmode

# make install-eventhandlers

# make install-config

# make install-webconf

# make install-webconf-auth

# make install-processperfdata

# make install-plugins

五、配置经典WEB页面

# make cgis

# make install-cgis

# make install-html

设置能访问WEB页面的用户和密码,在这里,用户名是icingaadmin,密码是icinga

# htpasswd -c /home/monitor/icinga/etc/htpasswd.users icingaadmin

六、编译和安装Icinga插件

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

# cd nagios-cn-plugins-2.0.3

#./configure --prefix=/home/monitor/icinga  --with-nagios-user=monitor --with-nagios-group=monitor  

# make

# make install

七、编译和安装NRPE插件

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

# cd icinga-nrpe-2.14

# ./configure --prefix=/home/monitor/icinga  --with-nrpe-user=monitor --with-nrpe-group=monitor  --with-icinga-user=monitor --with-icinga-group=monitor --enable-command-args 

# make all

输出如下,按自己的需求来。

复制代码
*** Compile finished ***

  make install
     - This installs files in /home/monitor/icinga

  make install-plugin
     - This installs init-script files in /home/monitor/icinga/libexec

  make install-init
     - This installs init-script files in /etc/init.d

  make install-xinetd
     - This installs sample-config/nrpe.xinetd in /etc/xinit.d

  make install-init-freebsd
     - This installs init-script.freebsd files in /etc/init.d

  make install-init-debian
     - This installs init-script.debian files in /etc/init.d

  make install-init-suse
     - This installs init-script.suse files in /etc/init.d

  make install-daemon-config
     - This installs the Nrpe config file in /home/monitor/icinga/etc
复制代码

# make install

# make install-plugin

# make install-init

# make install-daemon-config

八、调整SELinux策略

临时关闭:# setenforce 0

永久关闭:

# vim /etc/sysconfig/selinux 

SELINUX=disabled

九、启动HTTP,Icinga并添加开机自启动

# /etc/init.d/httpd start

# /etc/init.d/icinga start

# chkconfig httpd on

# chkconfig icinga on

测试WEB页面能否正常打开

报以上错误。

通过查看Apache日志,报错信息如下:

# tailf /var/log/httpd/error_log

[Thu Apr 28 17:00:33.682635 2016] [core:error] [pid 1538] (13)Permission denied: [client 192.168.244.1:49666] AH00035: access to /icinga/ denied (filesystem path '/home/monitor/icinga') because search permissions are missing on a component of the path

在网上查了很多方式,包括PHP没安装,SELinux没关闭啊。

最后才发现,是/home/monitor目录的属性存在问题。默认是700的。

# ll -d /home/monitor/
drwx------ 3 monitor monitor 72 Apr 28 00:25 /home/monitor/

解决方式:

将其目录属性设置为755

# chmod -R 755 /home/monitor/

重新登录Icinga WEB界面,OK

 

打开页面后,没发现图像啊,现在一步一步来

点击“服务详情”,出来以下画面

 

其中,蓝色框框的部分即是图像。

点击,出来以下提示信息,会显示“PNP4Icinga 环境测试”和“Kohana 环境测试”的结果。

其中,最后一行是提示信息“您的环境通过了所有要求. 现在可以删除或重命名 /usr/local/icinga/share/install.php 文件.”

 

根据提示,将该文件改名 mv install.php install.php.bak

重新点击图像,显示如下:

 

图像完美呈现,注意,只可点击状态是“正常”和“警报”的,如果点击“严重”和“未知”,会报如下错误:

posted @   iVictor  阅读(821)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示