icinga源码安装-基于redhat6.4

1     检测环境

Redhat6.4环境下需要安装:

httpd gcc glibc glibc-common gd gd-devel

libjpeg(libjpeg-turbo) libjpeg-devel(libjpeg-turbo-devel) libpng libpng-devel

rrdtoolrrdtool-devel perl-rrdtool perl perl-devel

php5php5-devel php5-gd

//mysql所需

libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql

//这几个一般都已安装

rpm-q httpd   

rpm-q gcc

rpm-q glibc

rpm-q glibc-common

2     服务器端源码安装

虽然网上已经有一些安装的文章,但我这种非yum方式的纯手工安装方式相信大家没见过。以下文章用的都是root用户

2.1    依赖包安装

大部分rpm依赖包来自linux /media下挂载的系统光盘中的Packages文件夹中
也有部分包要去下,
我常去的rpm包网站有:
http://www.rpm-find.net/linux/RPM/index.html
http://rpm.pbone.net/
有些包可能原来就装好了,但版本比你装的低,那时候可以选择rpm升级,用rpm -Uvh命令。

/****************httpd-devel install**********************/

rpm-ivh db4-cxx-4.7.25-17.el6.x86_64.rpm

rpm-ivh db4-devel-4.7.25-17.el6.x86_64.rpm

rpm-ivh expat-devel-2.0.1-11.el6_2.x86_64.rpm

rpm-ivh cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64.rpm

rpm-ivh openldap-devel-2.4.23-31.el6.x86_64.rpm

rpm-ivh apr-devel-1.3.9-5.el6_2.x86_64.rpm

rpm-ivh apr-util-devel-1.3.9-3.el6_0.1.x86_64.rpm

rpm-ivh httpd-devel-2.2.15-26.el6.x86_64.rpm

/**********************gd-devel*********************/

rpm -ivhfreetype-devel-2.3.11-6.el6_2.9.x86_64.rpmfontconfig-devel-2.8.0-3.el6.x86_64.rpm zlib-devel-1.2.3-29.el6.x86_64.rpm

rpm -ivhlibxcb-devel-1.8.1-1.el6.x86_64.rpm libXau-devel-1.0.6-4.el6.x86_64.rpmxorg-x11-proto-devel-7.6-25.el6.noarch.rpm

rpm -ivh libX11-devel-1.5.0-4.el6.x86_64.rpm

rpm -ivh libXpm-3.5.10-2.el6.x86_64.rpm

rpm -ivh libXpm-devel-3.5.10-2.el6.x86_64.rpm

rpm -ivh libpng-devel-1.2.49-1.el6_2.x86_64.rpm

rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm

rpm -ivh libjpeg-turbo-devel-1.2.1-1.el6.x86_64.rpm

rpm -ivh gd-2.0.35-11.el6.x86_64.rpm

rpm -ivh gd-devel-2.0.35-11.el6.x86_64.rpm

/****************perl-devel install******************/

rpm -ivh gdbm-devel-1.8.0-36.el6.x86_64.rpm

rpm -ivhperl-devel-5.10.1-136.el6.x86_64.rpmperl-ExtUtils-CBuilder-0.27-136.el6.x86_64.rpmperl-ExtUtils-MakeMaker-6.55-136.el6.x86_64.rpmperl-ExtUtils-ParseXS-2.2003.0-136.el6.x86_64.rpmperl-ExtUtils-Embed-1.28-136.el6.x86_64.rpmperl-Test-Harness-3.17-136.el6.x86_64.rpm

rpm -ivh perl-devel-5.10.1-136.el6.x86_64.rpm

/****************rrd install******************/

rpm -ivhdejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch.rpm

rpm -ivh rrdtool-1.3.8-6.el6.x86_64.rpm

rpm -ivh rrdtool-devel-1.3.8-6.el6.x86_64.rpm

rpm -ivh rrdtool-perl-1.3.8-6.el6.x86_64.rpm

/********************php install*************************/

rpm -ivh php-cli-5.3.3-22.el6.x86_64.rpmphp-common-5.3.3-22.el6.x86_64.rpm

rpm -ivh php-5.3.3-22.el6.x86_64.rpm

rpm -ivh php-gd-5.3.3-22.el6.x86_64.rpm

rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm

rpm -ivh automake-1.11.1-4.el6.noarch.rpm

rpm -ivh php-devel-5.3.3-22.el6.x86_64.rpm

2.2    Mysql安装

这里选择了mysql 5.6.20 rpm包。
//redhat默认安装了mysql-libs包,因此需要卸载掉它:

rpm -qa | grep mysql

       mysql-libs-5.1.71-1.el6.x86_64/

rpm -e mysql-libs-5.1.71-1.el6.x86_64 –nodeps

//开始安装:

rpm -ivh --replacefilesMySQL-server-5.6.20-1.el6.x86_64.rpm

rpm -ivh --replacefilesMySQL-client-5.6.20-1.el6.x86_64.rpm

rpm -ivh --replacefilesMySQL-devel-5.6.20-1.el6.x86_64.rpm

rpm -ivh MySQL-shared-5.6.20-1.el6.x86_64.rpm

rpm -ivh MySQL-shared-compat-5.6.20-1.el6.x86_64.rpm

rpm -ivh libdbi-0.8.3-4.el6.x86_64.rpm

rpm -ivh libdbi-devel-0.8.3-4.el6.x86_64.rpm

rpm -ivh libdbi-drivers-0.8.3-5.1.el6.x86_64.rpm

rpm -ivh libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64.rpm

 

//修改mysql密码

# mysqld_safe --user=mysql --skip-grant-tables--skip-networking &

# mysql -u root mysql


//一般这里会报错:

ERROR 2002 (HY000): Can't connect tolocal MySQL server through socket '/tmp/mysql.sock' (2)

# ln -s/var/lib/mysql/mysql.sock /tmp/mysql.sock


mysql> update user set password=PASSWORD('123456')where user='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

#service mysql stop

//选择mysqld_safe更好,原因请搜索mysqld和mysql_safe的区别:

# mysqld_safe &

# mysql -uroot -p

Enter password: <输入新设的密码123456>

mysql>

 

//修改远程登录,用navicat登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITHGRANT OPTION

mysql> FLUSH PRIVILEGES ;

 

2.3    创建用户组

创建一个新的Icinga帐户,并设置一个密码.

 #> /usr/sbin/useradd -m icinga

 #> passwd icinga

 在某些发行版本 你需要在这一个步骤中添加组:

 #> /usr/sbin/groupadd icinga

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

2.4    icinga-pnp4-cn-1.11.5安装

#>tar -xvf icinga-pnp4-cn-1.11.5.tar.xz

#>cd icinga-pnp4-cn-1.11.5

#>./configure --prefix=/usr/local/icinga--with-icinga-user=icinga -with-icinga-group=icinga --with-commond-user=icinga--with-command-group=icinga --with-mail=/usr/bin/mutt --with-perl_lib_path=/usr/lib64/perl5--with-libdbi-driver-dir=/usr/lib64 --enable-nanosleep --enable-event-broker

报错:error: 

       configure: error:Perl Module Time::HiRes not available

//perl包安装我一般去下面网站下载,目前还没发现没找到的。

https://metacpan.org/ 

1:download Time::HisRes path icinga/perl/Time-HiRes-1.9726.tar.gz

2:tar -zxvf Time-HiRes-1.9726.tar.gz

3:cd Time-HiRes-1.9726

4:perl Makefile.PL

5:make install (ensure user is root)

//重新执行./configue

#>./configure --prefix=/usr/local/icinga--with-icinga-user=icinga -with-icinga-group=icinga --with-commond-user=icinga--with-command-group=icinga --with-mail=/usr/bin/mutt --with-perl_lib_path=/usr/lib64/perl5--with-libdbi-driver-dir=/usr/lib64 --enable-nanosleep --enable-event-broker

//安装完上述步骤

#>make all

#>make fullinstall

#>make install-config

 

2.5    导入icinga表数据

# mysql -u root -p

报错:

You must SET PASSWORD before executing this statement

mysql>  SETPASSWORD = PASSWORD('123456');

mysql>create database icinga default charset=utf8;

mysql>grant usage on icinga.* to 'icinga'@'localhost' identified by 'icinga' withmax_queries_per_hour 0 max_connections_per_hour 0 max_updates_per_hour 0;

mysql>grant select,insert,update,delete,drop,create view,index,execute on icinga.* to'icinga'@'localhost';

mysql>flush privileges;

mysql>quit;

 

//向MySQL导入数据库架构:

 #> cd ./module/idoutils/db/mysql

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

升级MySQL数据库,升最新的版本,但效果不明:

 #> cd ../../../../module/idoutils/db/mysql/upgrade

 #> mysql -u root -p icinga <mysql-upgrade-x.sql

 

编辑DB配置文件自定义IDOUtils

 #> vi /usr/local/icinga/etc/ido2db.cfg

 db_servertype=mysql

 db_port=3306

 db_user=icinga

 db_pass=icinga

 

2.6    安装Icinga附带的经典web界面

 #> cd icinga-pnp4-cn-1.11.5

 #> make cgis

 #> make install-cgis

 #> make install-html

 

//安装经典web配置文件到Apache的conf.d目录下.

 #> make install-webconf

 

//创建 icingaadmin 账户,登录到Icinga经典web界面. 记住您分配给这个帐户的密码 -稍后你会需要它.

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

 

//如果你想改变用户密码,或添加另一个用户,请使用以下命令:

 #> htpasswd/usr/local/icinga/etc/htpasswd.users <USERNAME>

 

//重新载入/重新启动Apache使新的设置生效.

 #> service httpd restart

 

2.7    编译并安装nagios libexec插件

#>tar –xvf nagios-cn-plugins-2.0.tar.bz2

#>cd nagios-cn-plugins-2.0

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

 

 #> make

 #> make install

 

2.8    安装check_nrpe 插件

#>tar -zxvf icinga-nrpe-2.14.tar.gz 

#>cd icinga-nrpe-2.14  

#>./configure --prefix=/usr/local/icinga --enable-ssl

报错:

      checking for SSL headers... configure:error: Cannot find ssl headers

 

/****************openssl-develinstall********************/

rpm-ivh keyutils-libs-devel-1.4-4.el6.x86_64.rpm

rpm -Uvhlibcom_err-1.41.12-18.el6.x86_64.rpm e2fsprogs-libs-1.41.12-18.el6.x86_64.rpme2fsprogs-1.41.12-18.el6.x86_64.rpm libss-1.41.12-18.el6.x86_64.rpm

rpm-ivh libcom_err-devel-1.41.12-18.el6.x86_64.rpm

rpm-ivh libsepol-devel-2.0.41-4.el6.x86_64.rpm

rpm -Uvhlibselinux-2.0.94-5.3.el6_4.1.x86_64.rpmlibselinux-utils-2.0.94-5.3.el6_4.1.x86_64.rpmlibselinux-python-2.0.94-5.3.el6_4.1.x86_64.rpm

rpm-ivh libselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpm

rpm -Uvh krb5-libs-1.10.3-10.el6_4.6.x86_64.rpmkrb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm

rpm-ivh krb5-devel-1.10.3-10.el6_4.6.x86_64.rpm

rpm-Uvh openssl-1.0.1e-15.el6.x86_64.rpm

rpm-Uvh zlib-1.2.3-29.el6.x86_64.rpm

rpm-ivh zlib-devel-1.2.3-29.el6.x86_64.rpm

rpm-ivh openssl-devel-1.0.1e-15.el6.x86_64.rpm

 

#>cd icinga-nrpe-2.14 

#>./configure --prefix=/usr/local/icinga --enable-ssl

#>make all

#>make install-plugin

 

2.9    调整SELinux的设置

#>vi /etc/selinux/config

       SELINUX=disabled

#>reboot

2.10设置防火墙规则

//请确保您的系统的防火墙规则配置为允许访问到Web服务器,如果您要远程访问的Icinga的经典Web界面.

 #> iptables -A INPUT -p tcp -m tcp --dport80 -j ACCEPT

//或者:

 #> service iptables stop

2.11启动icinga

//验证Icinga的配置文件样本.

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

//一切正常将显示OK信息。如何有任何错误将会显示相应错误出现的未知. 启动 Icinga.

 #> service ido2db start

 #> service icinga start

 

开机重启后,发现只有icinga进程随系统启动,ido2db没有启动。需httpd和ido2db配置开机启动,还需进一步验证。

#> chkconfig --add httpd

#>chkconfig --add ido2db

 #> chkconfig --add icinga

#>chkconfig httpd on

#>chkconfig ido2db on

#>chkconfig icinga on


3     客户端源码安装

3.1    添加用户(普通账户)icinga

 #> /usr/sbin/useradd icinga

 #> passwd icinga

3.2    客户端编译和安装Icinga插件

#>tar jxvf nagios-cn-plugins-1.5.tar.bz2

 #> cd nagios-cn-plugins-1.5

 #>./configure -prefix=/usr/local/icinga  --with-package-name=icinga-plugins--with-nagios-user=icinga --with-nagios-group=icinga

 #> make

 #> make install

 

#查看播件文件是否已安装在这个目录

ls /usr/local/icinga/libexec

 

3.3    客户端编译和安装Nrpe

#>tar xvzf icinga-nrpe-2.14.tar.gz

 #> cd icinga-nrpe-2.14  

 #> ./configure --prefix=/usr/local/icinga--with-nrpe-user=icinga --with-nrpe-group=icinga  --with-icinga-user=icinga--with-icinga-group=icinga --enable-command-args --enable-ssl

报错:

      checking for SSL headers... configure:error: Cannot find ssl headers


 和服务器端一样的处理办法,装一大堆openssl所依赖的包。

 

//重新编译:

#>cd icinga-nrpe-2.14 

 #> ./configure --prefix=/usr/local/icinga--with-nrpe-user=icinga --with-nrpe-group=icinga  --with-icinga-user=icinga--with-icinga-group=icinga  --enable-command-args --enable-ssl

 

 make all

 make install

 make install-plugin

 make install-daemon

 make install-daemon-config

 make install-init

 

3.4    配置客户端Nrpe

添加nrpe服务器地址,允许服务器对其读取信息

 

 #> vi /usr/local/icinga/etc/nrpe.cfg

 #> allowed_hosts=127.0.0.1,IPADDRESS

 

 增加command字段来添加要监控的服务,建议使用带参数的方式。

3.5    启动Nrpe

#>service icinga-nrpe start

 

检测服务端check_nrpe与客户端运行的nrpedaemon之间的通信

/usr/local/icinga/libexec/check_nrpe -H ClientIPADDRESS


4    自动部署客户端

    为了方便客户端多机器部署。其他客户端可以使用源码编译后的文件。
首先需要源码安装目录下的所有文件,
第三部分我用的安装目录是/usr/local/icinga,可以将该icinga文件作为基础文件夹;
其次需要2个lib文件,它们都在/usr/lib64 下:libssl.so.1.0.1e和libcrypto.so.1.0.1e
我一般在放在/usr/local/icinga目录基础上加了个lib文件夹,专门放这些lib文件;
再次需要/etc/rc.d/init.d/icinga-nrpe文件,用来配置service服务,也放在/usr/local/icinga下
可能还会需要一些perl类库,类似lib包方式也放在/usr/local/icinga中;
最后将/usr/local/icinga打包,名叫icinga.tar.gz

4.1    添加用户icinga

 #> /usr/sbin/useradd icinga

 

4.2   客户端安装

tar-zxvf icinga.tar.gz

mv icinga /usr/local/

chown-R root:root /usr/local/icinga

chmod-R 755 /usr/local/icinga

1.2.1  添加service服务

//这样方便使用servcie icinga-nrpe start来启动服务,并能配置开机自启等。

ln-sf /usr/local/icinga/icinga-nrpe /etc/rc.d/init.d/icinga-nrpe

1.2.2  添加依赖lib库(软链接)

ln-sf /usr/local/icinga/lib/libssl.so.1.0.1e /usr/lib64/libssl.so.10

ln-sf /usr/local/icinga/lib/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10

1.3   配置客户端Nrpe

添加nrpe服务器地址,允许服务器对其读取信息

 #> vi /usr/local/icinga/etc/nrpe.cfg

 #> allowed_hosts=127.0.0.1,IPADDRESS

 

1.4   启动Nrpe

#>service icinga-nrpe start

 

如果报,则表示启动成功:

Startingnrpe: [  OK  ]

 

检测服务端check_nrpe与客户端运行的nrpedaemon之间的通信

/usr/local/icinga/libexec/check_nrpe-H ClientIPADDRESS

1.5   配置监测项目,登录web页面

//通知icinga管理员配置所需要监测的项目

//Icinga管理员配置完后,通知申请者查看web页面

测试环境ip:

http://192.168.59.15/icinga/

用户:icingaadmin

密码:admin


 

5     TroubleShooting

5.1    客户端Nrpe报错

执行命令:

/usr/local/icinga/libexec/check_nrpe-H 192.168.54.36

错误内容:

CHECK_NRPE:Error - Could not complete SSL handshake.

解决方法:

// 关闭防火墙

Serviceiptables stop

//重启客户端nrpe服务

Serviceicinga-nrpe restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值