关于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. -- ***

  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.
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  ::33.682635 ] [core:error] [pid ] ()Permission denied: [client 192.168.244.1:] 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------ monitor monitor Apr : /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

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

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

部署Icinga-php4的更多相关文章

  1. 如何部署Icinga客户端

    Icinga客户端的部署相对于服务器端来说,简单很多.对于服务器端来说,如果要通过以下这种方式来监控服务器,必须包含三个组件,Icinga内核,Icinga插件,NRPE(Nagios Remote ...

  2. 如何部署Icinga服务端

    Icinga是Nagios的一个变种,配置,使用方式几乎一样,而且完全兼容Nagios的插件.所以下面的部署方案对Nagios同样使用. 它还推出了两个中文版本,icinga-cn原版和icinga- ...

  3. OWASP SSL 高级审查工具

    http://www.linuxidc.com/Linux/2016-03/129164.htm InfoWorld 在部署.运营和保障网络安全领域精选出了年度开源工具获奖者. 最佳开源网络和安全软件 ...

  4. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  5. 部署lamp服务器

    系统:CentOS 6.5 64位 1.卸载旧版本软件 rpm -qa | grep mysql #查询是否已经安装MySQL,如有执行下面的操作将其全部删除 rpm -e mysql --nodep ...

  6. Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】

    转自:http://www.oschina.net/translate/docker-lightweight-linux-containers-consistent-development-and-d ...

  7. IIS部署PHP项目并与mysql完美结合

    在上一篇文章中,提到iis与apache共用80端口,但是发现很多问题,例如 IIS网站有支付功能,而微信支付是不支持带有端口的网址的,虽然通过apche代理,在外面看来没有端口,可是内部还是避免不了 ...

  8. Jenkins+Gitlab+Ansible自动化部署(六)

    Pipeline Job实现Nginix+MySQL+PHP+Wordpress实现自动化部署交付(Jenkins+Gitlab+Ansible自动化部署(五)https://www.cnblogs. ...

  9. 从大厂DevOps工具链部署,看现代产品的生命周期管理

    目录 1. 认识DevOps 1.1. DevOps工具链 1.2. CI 持续集成(Continuous Integration) 1.3. CD(持续交付 & 持续部署) 1.4. Agi ...

  10. [原]CentOS7.2部署node-mapnik

    转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...

随机推荐

  1. jade模板引擎

    最近用jade写了点东西,觉得挺有趣的,是一个有意思的模板引擎. 比如说,像这样的结构的html <span> <i class="icon-edit">& ...

  2. json相关的一些用法

    一. json可以表示3种类型的值:   简单值 . 对象. 数组    表示对象时:>1. 没有变量的概念 ,所以不用申明变量                    >2. 没有末尾结束 ...

  3. Android 怎么退出整个应用程序?

    方法一: 我们在写android应用程序时,经常会遇到想退出当前Acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接按home键直接返回,其实这两种操作都没有关闭当前应用程序 ...

  4. Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)

    本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...

  5. C# 读取XML注释

    C#可以通过反射读取类的字段/方法等,可是该如何获取该字段的XML注释? 具体目的:有一个实体类,页面需要有一个与其对应的table,样式大体为 <tr> <td>地东经< ...

  6. Unity自动寻路Navmesh之入门

    实例 我们要实现一个功能:点击场景中的一个位置,角色可以自动寻路过去.角色会绕过各种复杂的障碍,找到一条理论上”最短路径“. 步骤 1.创建地形 2.添加角色 3.创建多个障碍物,尽量摆的复杂一点,来 ...

  7. mysql 连接慢的问题(超过了1秒)

    http://www.cnblogs.com/isenhome/p/5133547.html 症状描述 本机连接mysql速度很快 远程ping mysql主机速度正常 远程连接mysql速度需要等待 ...

  8. syntax error near unexpected token‘(

    用虚拟机的时候出现这样的: 上网查了资料之后,在括号"( " 前加上"$"字符就暂时不会提示出错了.

  9. Html5 中的新语义标签

    1.1 语义标签对于我们并不陌生,如<p>表示一个段落.<ul>表示一个无序列表<h1> ~ <h6>表示一系列标题等,在此基础上HTML5增加了大量更 ...

  10. An internal error occurred during: "Launching PmallSearch on Tomcat 7.x". java.lang.NullPointerException

    如果出现了上述的错误按照如下的3个步骤解决:1.首先关闭MyEclipse工作空间.2.然后删除工作空间下的“/.metadata/.plugins/org.eclipse.core.runtime/ ...