设为首页 收藏本站
查看: 2240|回复: 0

icinga源码安装-基于redhat6.4

[复制链接]

尚未签到

发表于 2015-11-23 14:52:17 | 显示全部楼层 |阅读模式
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类库,类&#20284;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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142730-1-1.html 上篇帖子: icinga和check_mk用户管理 下篇帖子: 云计算开源监控软件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表