Cacti的安装并整合nagios

Cacti的安装并整合nagios

一:cacti环境的搭建

1.rrdtool的安装,这里需要安装的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,我用的rrdtools的版本是1.4.4.1_x86_64。

在这里没有提供rrdtool的工具,需要下载可以去这里下载上述的3个软件包

rrdtool、rrdtool-devel的地址:http://packages.express.org/rrdtool/

rrdtool-php的地址:http://pkgs.org/download/rrdtool-php

注意,rrdtool的组件和附加组件版本尽量一致,而由于rrdtool-php这个包非常稀有,所以,尽量请以rrdtool-php的版本来决定rrdtool以及rrdtool-devel的版本。还有一定要对应环境,别安装成了fedora的版本了=。=

下载完成后,本地yum安装

1 yum localinstall -y --nogpgcheck rrdtool-*

2 service mysqld start

2.配置snmp

3 vim /etc/snmp/snmpd.conf

4  # 修改3项  127.0.0.1 、 all、启用项(修改的内容详见我Cacti的安装文档,上面有非常详细的内容介绍)

5 service snmpd restart

wps_clip_image-5641

3.安装cacti

6 wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz

7 tar zxvf cacti-0.8.7h.tar.gz

8 mv cacti-0.8.7h /var/www/html/cacti

4.创建cacti数据库

9 mysql> create database cacti;

10 mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';

11 mysql> flush privileges;

5.将cacti的表内容导入创建的数据库

12 cd /var/www/html/cacti

13 mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql

6.分别编辑两个.php文件,以适应环境,修改内容相同。

14 vim /var/www/html/cacti/include/config.php

15 vim /var/www/html/cacti/include/global.php 

$database_default = "cacti";       //默认数据库名

$database_hostname = "localhost";         //主机名

$database_username = "cacti";              //登陆数据库用户名

$database_password = "cacti";              //登陆数据库密码

$database_port = "3306";

16 useradd –r –M cacti

17 chown –R cacti /var/www/html/cacti/rra/

18 chown –R cacti /var/www/html/cacti/log/

7.在cacti用户下创建计划任务以画图

19 su cacti

20 crontab –e

21 */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2&gt;&1

22 php /var/www/html/cacti/poller.php &gt; /dev/null 2&gt;&1

23 exit 

8.从web页面启动cacti,安装,并查看图形化界面

二:整合Nagios与Cacti

1.下载并安装ndoutils

24 wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz/download

25 tar zxvf ndoutils-1.4b9.tar.gz 

26 cd ndoutils-1.4b9

27 ./configure --prefix=/var/www/html/nagios --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql

28 make

2.准备配置文件

29 cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin

30 cd db

31 ./installdb -ucacti -pcacti -hlocalhost -d cacti

32 cd ..

33 cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /var/www/html/nagios/etc

34 mv /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg

35 mv /var/www/html/nagios/etc/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfg

36 chmod 644 /var/www/html/nagios/etc/ndo*

37 chown nagios:nagios /var/www/html/nagios/etc/*

38 chown nagios:nagios /var/www/html/nagios/bin/*

3.修改nagios.cfg配置文件以适应当前环境

39 vim /var/www/html/nagios/etc/nagios.cfg

40  # 在文件中添加:

41      broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg

42  # 检查

43      event_broker_options=-1     ## 为Nagios开启event broker

4.修改ndo2db.cfg以适应当前环境

44 vim /var/www/html/nagios/etc/ndo2db.cfg

45  # 确保下列内容为唯一项

46  socket_type=tcp

47  db_servertype=mysql

48  db_host=localhost

49  db_port=3306

50  db_name=cacti

51  db_prefix=nagios_

52  db_user=cacti

53  db_pass=cacti

5.修改ndomod.cfg以适应当前环境

54 vim /var/www/html/nagios/etc/ndomod.cfg

55  # 确保下列项的唯一内容为

56     output_type=tcpsocket

57     output=127.0.0.1

6.为ndo2db添加启动进程

58 cp ./daemon-init /etc/init.d/ndo2db

59 vim /etc/init.d/ndo2db

60  # 检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值:

61      Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x

62 chmod +x /etc/init.d/ndo2db 

7.启动守护进程与nagios

63 service ndo2db start

64 tail -20 /var/log/messages    ## 查看其中是否有错误出现。如无报错请继续

65 service nagios start

三:安装ncp,以在Cacti中展现Nagios

1.先安装cacti扩展模块

66 wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz

67 tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz 

68 cp -R cacti-plugin-arch/* /var/www/html/cacti/

69 cd /var/www/html/cacti/

70 mysql -ucacti -pcacti cacti < pa.sql 

71 patch -p1 -N &lt; cacti-plugin-0.8.7h-PA-v3.0.diff  

72  ## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将 include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。

73 vim include/config.php

74    # 修改(或新加入)为

75     $url_path = "/cacti/";

从web进入cacti,启用cacti plugin扩展

2.安装npc

76 tar zxvf npc-2.0.4.tar.gz

77 mv npc /var/www/html/cacti/plugins/

78 vim /var/www/html/cacti/include/config.php

79  # 加入:

80      $plugins[] = 'npc';

3.安装 npc支持:json

81 wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz

82 tar zxvf json-1.2.1.tgz 

83 cd json-1.2.1

84 phpize   ## 如果发现没有Phpize文件,则是因为php-devel包没有安装导致的

85 ./configure 

86 make && make install

87

88 php -i | grep php.ini  ## 查看是否有导入信息

4.打开php.ini文件添加对json的支持

89 vim /etc/php.ini

90    # 添加

91  extension=json.so

5.为apache添加php支持。

92 vim /etc/httpd/conf/httpd.conf 

93  # 添加一行:

94      AddType application/x-httpd-php .php .phtml

95  # 修改原DirectoryIndex内容为:

96      DirectoryIndex index.html index.html.var index.php

97

98 usermod -G cacti apache

99 service httpd restart    ## 重启apache以让php生效

100 php -m   ## 查看是否有json被加载

6.修改配置文件以让npc读取到新的数据。

101 vim /var/www/html/nagios/etc/ndo2db.cfg

102      db_prefix=npc_

6.1从Web进入Cacti,确保正确使用npc选项。

6.2 修改mysql中的表结构:

103 ./mysql -ucacti -p cacti

104 mysql> use cacti;

105 mysql&gt; alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;

106 mysql&gt; alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;

107 mysql&gt; alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;

108 mysql&gt; alter table npc_notifications add long_output TEXT NOT NULL default '' after output;

109 mysql&gt; alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;

110 mysql&gt; alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;

111 mysql&gt; alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;

112 mysql&gt; alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;

7.重启ndo2db进程,重新加载配置文件重启nagios服务。

113 service ndo2db restart

114 service nagios restart

8.在Web上配置NPC以使之正常读取工作。

在Settings-&gt;npc中 ,勾上Remote Commands

Nagios Command File Path= /var/www/html/nagios/var/rw/nagios.cmd

Nagios URL=你的地址(http://ocalhost/nagios/)

接下来刷新npc就可以看到数据啦:

四:Nconf的安装与配置

1.nconf的准备工作

115 # 进入mysql数据库

116 mysql&gt; create database nconf;  

117 # 创建nconf数据库

118 mysql&gt; grant all privileges on nconf.* to nconf@localhost identified by 'nconf'; 

119 # 创建nconf用户并赋权  

120 mysql&gt; flush privileges;   

121 # 刷新特权表

122 mysql&gt; quit 

2.安装nconf

123 wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download

124 tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/ 

125 cd /var/www/html/nconf 

126 chown -R apache.apache config/ temp/ static_cfg/ output/ 

3.进入Web页面在web页面按照安装提示一步步安装

4.使用刚才创建的nconf数据库和nconf数据库用户/密码

wps_clip_image-3736

5.成功连接mysql数据库,之后一切保持默认,直到下面的,设置nconf管理员密码,此时默认登录用户为admin

wps_clip_image-26664

6.之后,网页安装完成。

127 rm -rf INSTALL INSTALL.php  UPDATE UPDATE.php  

128  # 删除安装所需的初始化文件

129 ln -s /var/www/html/nagios/bin/nagios bin/nagios  

130 chmod +x /var/www/html/nconf/bin/generate_config.pl  

131 chown -R apache.apache  bin 

132 chmod +x /var/www/html/nagios/bin/nagios

133 chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh   

134 vim /var/www/html/nconf/ADD-ONS/deploy_local.sh 

135 修改里面的Nagios路径为 /var/www/html/nagios/etc/   

7.重新刷新页面,输入admin/您设置的密码,进入nconf页面

8.点击Generate Nagios config尝试生成配置文件,以测试是否与nagios成功关联

9.最后的设置

①在web页面对监控服务和主机配置完毕,点击Generate Nagios config

②deploy_local.sh是nconf自带配置文件导入脚本

136 /var/www/html/nconf/ADD-ONS/deploy_local.sh

手动执行此脚本,将在/var/www/html/nagios/etc下生成两目录Default_collector与global

③修改nagios主配置文件

137 vim /var/www/html/nagios/etc/nagios.cfg 

138  # 将其中cfg_file=*******字段全部注释 ,并加入

139      cfg_dir=/var/www/html/nagios/etc/Default_collector

140      cfg_dir=/var/www/html/nagios/etc/global

141 service nagios reload

142  # 重载nagios配置文件使之生效

五:错误总结:

1.启动ndo2db发现日志报错:

ndomod: Could not open data sink! I'll keep trying, but some output may get lost...

解决办法:

检查 /nagios/etc目录的权限是否足够的大

确保/var/www/html/nagios/etc/nagios.cfg中有如下行出现,否则,请自行添加:

event_broker_options=-1

检查ndo2db.cfg中的配置,确保使用tcp连接

socket_type=tcp

检查ndomod.cfg中的配置,确保使用tcp套接字

output_type=tcpsocket

2.在npc安装过程中进行表操作时报错

mysql&gt; alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output; 
ERROR 1146 (42S02): Table 'cacti.npc_eventhandlers' doesn't exist

解决办法:要先在cacti页面下正确的启用npc插件,正确的启用~一个向上的箭头和一个向右的箭头都要开启才行~

3.在应用nconf的时候报错

点 nconf --&gt; Generate Nagios config --&gt; 报错了。

Error accessing or executing Nagios / Icinga binary '/var/www/html/nconf/bin/nagios'. 
Cannot run the mandatory syntax check.

解决办法:

检查你的/var/www/html/nconf/bin/nagios这个文件所链接的那个原始文件的权限,确保是777或者775

4....当然还没有发现错误,如果有,将会继续补充,欢迎网友在安装部署的过程中发现错误将错误积极交流,我将一一添加……

六:最后的样式

wps_clip_image-24558

wps_clip_image-16552

你可能感兴趣的:(安装,下载,target,blank,软件包)