nagios+cacti部署安装

一、说明

闲暇之余,安装nagios+cacti,想看下最终实现效果;本文档规范网络监控系统安装流程及安装内容,供运维人员在部署新的运营环境时参考使用。

二、Nagios的安装

1、下载

#wget

http://jaist.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz  (nagios主程序)

#wgethttp://jaist.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz (监控插件)

#wgethttp://jaist.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.14/nrpe-2.14.tar.gz 
(nrpe插件)

2、需要的基础套件

#rpm-q gcc glibc glibc-common gd gd-devel openssl-devel httpd php

3、创建用户和组

#useradd nagios

#mkdir /usr/local/nagios

#chown -R nagios.nagios /usr/local/nagios

4、编译安装

#./configure --prefix=/usr/local/nagios

#make all

#make install

#make install-init

#make install-commandmode

#make install-config

#make install-webconf

5、创建Apache用户验证文件

创建一个nagiosadmin账户:

#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

6、常用的命令

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

7、安装nagios-plugins

#./configure  --with-nagios-user=nagios--with-nagios-group=nagios

#make&& make install

8、安装nrpe(监控端)

#./configure

#make all && make install-plugin

9、被监控端安装

1、系统环境

10、下载

#wgethttp://jaist.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz (监控插件)

#wgethttp://jaist.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.14/nrpe-2.14.tar.gz (nrpe插件)

11、创建用户

#useradd nagios

#passwd nagios

12、检查基础套件

#rpm-q gcc glibc glibc-common gd gd-devel openssl-devel

13、安装nagios-plugins

#./configure

#make && make install

14、修改目录权限

#chown nagios.nagios /usr/local/nagios

#chown -R nagios.nagios /usr/local/nagios/libexec

15、安装nrpe

#./configure

#make all

#make install-plugin  安装check_nrpe

#make install-daemon

#make install-daemon-config

16、配置nrpe

#vi /usr/local/nagios/etc/nrpe.cfg   添加  allowed_hosts=192.168.40.128

17、启动nrpe

#/usr/local/nagios/bin/nrpe  -c/usr/local/nagios/etc/nrpe.cfg -d

18、测试一下

#/usr/local/nagios/libexec/check_nrpe -H localhost

19、随机启动

#echo "/usr/local/nagios/bin/nrpe  -c/usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.local

20、配置

1、# vi /usr/local/nagios/etc/objects/commands.cfg

definecommand{

command_name    check_nrpe

command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c$ARG1$

}

参考资料:http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html

至此nagios的服务端与客户端搭建完成

三、安装cacti

Cacti的运行需要LAMP(Linux+Apache + MySQL + PHP), RRDTool ,net-snmp , AMP

正确配置各主机网络参数,本实验以一台机器既为服务端也为被监测端

[[email protected]~]#vim/etc/sysconfig/network-scrip/ifcfg-eth0

在被监测端安装net-snmp软件包,net-snmp软件需要用到lm_sensors提供的硬件监视模块,安装时直接使用RHEL5系统光盘中的rpm包文件,依次安装lm_sensors、net-snmp两个软件包即可。

[[email protected]~]# cd /mnt/Server/

[[email protected]]# rpm -ivh lm_sensors-2.10.0-3.1.i386.rpm

[[email protected]]# rpm -ivh net-snmp-5.3.1-14.el5.i386.rpm

3、配置及启动snmpd服务,修改文件/etc/snmp/snmpd.conf第41、62、85行,设置SNMP访问权限

41行中将default修改为cacti监测服务器的IP地址本实验为192.168.4.1将public修改为共享SNMP信息的组识别字串publicsvr,62行 将systemview修改为all,85行去掉开头注释符号

41com2sec notConfigUser  192.168.4.1       publicsvr

62access  notConfigGroup ""      any      noauth    exact  all none none

iewall    included  .1                               80

4、启动snmpd服务并设置为自启动

[[email protected]]# service snmpd start

启动 snmpd:                                              [确定]

[[email protected]]# chkconfig --level 35 snmpd on

5、配置监测服务端

Cacti监测服务端需要有apache、mysql、php网站平台的支持,且需要预先安装有gd、zlib等软件包

httpd-2.2.3-6.el5

mysql-5.0.22-2.1

mysql-server-5.0.22-2.1

mysql-connector-odbc-3.51.12-2.2

php-5.1.6-5.el5

php-mysql-5.1.6-5.1.6-5.el5、

php-common-5.1.6-5.1.6-5.el5、php-pdo-5.1.6-5.el5

注:此处用源码包安装如下(也可用yum安装)

编译安装apache

[[email protected]]# tar zxvf httpd-2.2.9.tar.gz – C /usr/src

[[email protected]]# ./configure --prefix=/usr/local/apache2 --enable-so--enable-rewrite --enable-ssl --with-ssl=/usr/lib --enable-auth-digest--enable- cgi --enable-suexec --with-suexec-caller=daemon--with-suexec-docroot=/usr/local/apache2/htdocs

[[email protected]]# make && make install

查看相关服务

[[email protected]]# ls /usr/local

apache2  bin etc  games  include lib  libexec  sbin share  src

执行启动服务

[[email protected]]# ./apachectl start

安装mysql

[[email protected]]# useradd -M -s /sbin/nologin mysql

[[email protected]]# tar zxvf mysql-5.0.56.tar.gz -C /usr/src

[[email protected]]# ./configure --prefix=/usr/local/mysql

[[email protected]]# make & make install

[[email protected]]# cp support-files/my-medium.cnf /etc/my.cnf

[[email protected]]# chown -R root:mysql /usr/local/mysql

[[email protected]]# chown -R mysql /usr/local/mysql

[[email protected]]# /usr/local/mysql/bin/mysql_install_db --user=mysql

[[email protected]]# echo "/usr/local/mysql/lib/mysql" >>/etc/ld.so.conf

[[email protected]]# ldconfig

[[email protected]]# /usr/local/mysql/bin/mysqld_safe --user=mysql &

[1]13582

[[email protected]]# Starting mysqld daemon with databases from /usr/local/mysql/var

[[email protected]]# cp support-files/mysql.server /etc/init.d/mysqld

[[email protected]]# chmod +x /etc/init.d/mysqld

[[email protected]]# chkconfig -add mysqld

安装编译php

[[email protected]]# tar jxvf php-5.2.6.tar.bz2 -C /usr/src

[[email protected]]# ./configure --prefix=/usr/local/php5--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql --enable-sockets--enable-mbstring

[[email protected]]# make && make install

编辑文件vim/usr/local/apache2下的配置文件

AddTypeapplication/x-httpd-php .php

DirectoryIndex index.html index.php

(此处也可以用rpm包安装相关的依赖包)

[[email protected]]# rpm -ivh perl-DBI-1.52-1.fc6.i386.rpm

[[email protected]]# rpm -ivh mysql-5.0.22-2.1.i386.rpm

[[email protected]]# rpm -ivh perl-DBD-MySQL-3.0007-1.fc6.i386.rpm

[[email protected]]# rpm -ivh mysql-server-5.0.22-2.1.i386.rpm

[[email protected]]# rpm -ivh unixODBC-2.2.11-7.1.i386.rpm

[[email protected]]# rpm -ivh libtool-ltdl-1.5.22-6.1.i386.rpm

[[email protected]]# rpm -ivh libdbi-0.8.1-2.1.i386.rpm

[[email protected]]# rpm -ivh libdbi-drivers-0.8.1a-1.2.2.i386.rpm

[[email protected]]# rpm -ivh libdbi-dbd-mysql-0.8.1a-1.2.2.i386.rpm

[[email protected]]#rpm-ivhmysql-connector-odbc-3.51.12-2.2.i386.rpm

[[email protected]]# rpm -ivh php-common-5.1.6-5.el5.i386.rpm

[[email protected]]# rpm -ivh php-cli-5.1.6-5.el5.i386.rpm

[[email protected]]# rpm -ivh php-5.1.6-5.el5.i386.rpm

[[email protected]]# rpm -ivh php-pdo-5.1.6-5.el5.i386.rpm

启动已安装好的httpd、mysqld服务,设置为每次开机随系统自动运行

[[email protected] Server]# chkconfig --level35 mysqld on

[[email protected]]# chkconfig --level 35 httpd on

6、安装net-snmp-utils软件包

[[email protected]]# rpm -ivh net-snmp-utils-5.3.1-14.el5.i386.rpm

warning:net-snmp-utils-5.3.1-14.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID37017186

Preparing...               ########################################### [100%]

1:net-snmp-utils

###########################################[100%]

7、安装rrdtool软件包

[[email protected] ~]# mount /dev/cdrom /mnt

mount:block device /dev/cdrom is write-protected, mounting read-only

[[email protected]~]# cd /mnt/Linux-gateway/LGS-SG6

[      [email protected] LGS-SG6]# tar zxvfrrdtool-1.2.27.tar.gz

[[email protected] src]# cd rrdtool-1.2.27/

[[email protected] rrdtool-1.2.27]#./configure --prefix=/usr/local

[[email protected] rrdtool-1.2.27]# nake&& make install

8、安装cacti文件包

[[email protected] html]# cd /var/www/html

[[email protected] html]# tar zxvf/mnt/Linux-gateway/LGS-SG6/cacti-0.8.7b-cn-utf8.tar.gz

[[email protected]]# mv cacti-0.8.7b-cn-utf8 cacti

[[email protected]]# useradd cactiuser

[[email protected]]# chown -R cactiuser.cactiuser cacti/rra/ cacti/log/

9、设置监测数据库、表,设置好授权访问数据库的用户和密码

[[email protected]]# mysql -u root -p

Enterpassword:

Welcometo the MySQL monitor.  Commands end with; or \g.

YourMySQL connection id is 2 to server version: 5.0.22

Type‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.

mysql>create database cactidb default character set utf8;

QueryOK, 1 row affected (0.00 sec)

mysql>grant all on cactidb.* to [email protected] identified by ‘[email protected]‘;

QueryOK, 0 rows affected (0.02 sec)

mysql>

[[email protected]]# mysql -u cactiuser -p cactidb < cacti/cacti.sql

Enterpassword

10、调整cacti配置文件

[[email protected]]# cd /var/www/html/cacti/

[[email protected]]# vim include/config.php

$database_type= "mysql";

$database_default= "cactidb";

$database_hostname= "localhost";

$database_username= "cactiuser";

$database_password= "[email protected]";

$database_port= "3306";

$config[‘url_path‘]="/"

11、调整httpd设置并重新启动服务

DocumentRoot"/var/www/html/cacti"

<Directory"/var/www/html/cacti>

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory"/var/www/html/cacti">

Options None

AllowOverride None

Orderallow,deny

Allowfrom all

</DirectoryOA>

DirectoryIndexindex.html index.php index.html.var//设置默认索引页

12、初始化cacti系统

为了在监测图像中正常显示中文,还需要设置RRDtool所使用的中文字体路径。同样通过左侧栏中的“设置”链接,找到路径选项卡中的“RRDtool默认字体路径”将字体路径设置为“/usr/share/fonts/zh_CN/TureType/zysong.ttl”点击右下方的“保存”即可。

 

整合cacti和nagios

整合cacti和nagios是利用了cacti的一个插件nagios for cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios的结果展示出来

(1)、安装ndoutils

首先需要安装ndoutils以将nagios的数据能导入到mysql数据库中。

yum-y install mysql-devel    安装mysql开发包以编译ndoutils

前提:因为本次安装nagios用的是4.0的版本,所以要安装2.0以上的ndoutils不然会显示加载模块不成功

tar-zcvf ndoutils-2.0.0.tar.gz

cdndoutils-2.0.0

./configure--prefix=/usr/local/nagios/ --with-mysql-inc=/usr/include/mysql--with-mysql-lib=/usr/lib/mysql --enable-mysql --disable-pgsql--with-ndo2db-user=nagios --with-ndo2db-group=nagios

Make

makeinstall

cp-v {ndomod-4x.o,ndo2db-4x,file2sock,log2ndo} /usr/local/nagios/bin

./installdb-ucactiuser [email protected] -d cactidb

cpndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

修改nagios主配置文件

#vi /usr/local/nagios/etc/nagios.cfg

10、添加以下内容

check_external_commands=1

command_check_interval=-1

event_broker_options=-1

broker_module=/usr/local/nagios/bin/ndomod.oconfig_file=/usr/local/nagios/etc/ndomod.cfg

process_performance_data=1

添加的内容至此结束

11、修改配置文件ndocmd.cfg和ndo2db.cfg,这里我的配置文件内容为:

[[email protected] downloads]# cat /usr/local/nagios/etc/ndomod.cfg |grep -v‘^#‘|sed /^$/d

instance_name=default

output_type=tcpsocket

output=127.0.0.1

tcp_port=5668

output_buffer_items=5000

buffer_file=/usr/local/nagios/var/ndomod.tmp

file_rotation_interval=14400

file_rotation_timeout=60

reconnect_interval=15

reconnect_warning_interval=15

data_processing_options=-1

config_output_options=2

[[email protected]]# cat /usr/local/nagios/etc/ndo2db.cfg |grep -v ‘^#‘|sed /^$/d

ndo2db_user=nagios

ndo2db_group=nagios

socket_type=tcp

socket_name=/usr/local/nagios/var/ndo.sock

tcp_port=5668

db_servertype=mysql

db_host=127.0.0.1

db_port=3306

db_name=cacti

db_prefix=npc_

db_user=cacti

db_pass=cacti2008

max_timedevents_age=1440

max_systemcommands_age=10080

max_servicechecks_age=10080

max_hostchecks_age=10080

max_eventhandlers_age=44640

debug_level=1

debug_verbosity=1

debug_file=/usr/local/nagios/var/ndo2db.debug

max_debug_file_size=1000000

12、#/usr/local/nagios/bin/ndo2db-c /usr/local/nagios/etc/ndo2db.cfg    启动ndo2db

(2)、安装安装php-json  npc展示部分用到json,需要在php中安装php-json的支持

Yuminstall php-devel    否则,phpsize命令不好用

#wgethttp://www.aurore.net/projects/php-json/php-json-ext-1.2.0.tar.bz2

#tarxvjf  php-json-ext-1.2.0.tar.bz2

#cdphp-json-ext-1.2.0

#phpize            编译前初始化php环境

#./configure

#make

#makeinstall

#vi/etc/php.d/json.ini

extension=php_json.so

#cp/usr/lib/php/modules/json.so /usr/lib/php/modules/php_json.so  这一步骤很关键,因为,apache否则日志报错加载不到php_json.so文件。

#/usr/sbin/httpd-k graceful    重启apache

为了验证是否成功可使用phpinfo查看是否已支持json

(3)安装npc

wgethttp://www.assembla.com/spaces/npc/documents/aUjAwmdW8r3BuPab7jnrAJ/download?filename=npc-2.0.0b.166.tar.gz

wget   http://dlwt.csdn.net/fd.php?i=659714146741849&s=796b68562511c6534bfc15d7b04711f4/npc-2.0.3.tar.gz  新链接可用

#mv npc /usr/local/wwwroot/cacti/plugins/

启用cacti的插件功能,以admin用户登陆cacti,在console中的usermanagement里对admin的用户权限进行编辑,勾选上PluginManagement,然后到插件管理中心安装并启用NPC即可。

在‘User Management‘中选择‘admin‘,在下边‘Realm Permissions‘中钩选‘Plugin Management‘。这时右侧会出现‘Plugin Management‘连接,进去后在‘uninstalled‘中安装npc,然后在‘intalled‘中enablenpc,然后在回去admin的‘RealmPermissions‘中会出现‘use npc‘,如果没有钩选就把它选中。

接着在右侧栏目中选择settings,点选npc的标签

钩选Remote Commands

NagiosCommand File Path:     /usr/local/nagios/var/rw/nagiosNaNd

<这个文件启动nagios后会产生,根据实际的位置写>

NagiosURL:     [url]http://yourserver/nagios/[/url]

保存就可以了。

至此安装就完成了

启动mysql httpd ndo nagios

servicemysqld start

servicehttpd start

/usr/local/nagios/bin/ndo2db-c /usr/local/nagios/etc/ndo2db.cfg

servicenagios start

访问[url]http://yourserver/cacti/[/url]

(4)测试页面

在IE浏览器的地址栏输入:http://192.168.30.162/cacti

用户名:admin      密码:admin

第一次登录的时候,会提示修改管理员密码,按照提示修改即可。

查看npc是否显示

(5)正常显示

报错解决

A、安装完成npc之后无法显示页面,最终找到解决办法是因为php的扩展不支持

解决如下

安装前准备

yum -y install php-devel php-pear gcc make

2.安装json

pear install pecl/json

或者

pecl install json

3.让php支持json

我的php是yum安装的,所以

cd /etc/php.d

echo "extension=json.so" > json.ini

重启apache

service httpd restart

如果有selinux,执行下面命令

chcon system_u:object_r:textrel_shlib_t /usr/lib/php/modules/json.so

chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t/usr/lib/php/modules/json.so

4.验证

php -m|grep json

json

可以看到php已经支持json了,现在可以重新去执行了php页面了.

B、页面显示之后,可惜的是nagios显示off的状态,找各种办法,是ndoutils的版本问题,重新安装即可,至此可正常显示

时间: 2024-09-30 09:31:41

nagios+cacti部署安装的相关文章

nagios+cacti部署

nagios+cacti部署安装 一.说明 闲暇之余,安装nagios+cacti,想看下最终实现效果:本文档规范网络监控系统安装流程及安装内容,供运维人员在部署新的运营环境时参考使用. 二.Nagios的安装 1.下载 #wget http://jaist.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz  (nagios主程序) #wgethttp://jaist.dl.sourcefo

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(五)cacti安装

1.安装LAMP环境这里就不做介绍,网上一堆的相关文档,还有很多牛人写的自动化安装脚本 2.安装rrdtoolyum install cairo-devel libxml2-devel pango pango-devel rrdtool –y 3.安装SNMP操作系统一般自带SNMP,如果没有即安装 yum -y install net-snmp net-snmp-libs net-snmp-utils 4.安装Cacti (1)下载Cacti#wget http://www.cacti.net

Nagios监控基础安装与监控项部署(上)

前言:NAGIOS介绍: Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. 主要功能 (1)网络服务监控(SMTP.POP3.HTTP.NNTP.ICMP.SNMP.FTP.SSH) (2)主机资源监控(CPU load.diskusage.system logs),也包括Windows主机(使用NSC

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(一)介绍

以nagios为核心.伴以多款开源软件来进行的整合部署,从而实现监控信息图形化.web页面定义监控配置.监控信息存储.图形化监控主机和服务等一系列功能的解决方案. pnp4nagios是基于RRD轮循(环状)数据库中所提供的综合信息,以可视化图形的方式呈现给用户的一款nagios插件:nconf是基于PHP使用户通过web页面实现对nagios各项属性进行配置,诸如模板定义.添加修改监控的主机/服务等操作:ndoutils可以导出nagios通过SNMP捕获到的当前和历史数据并存储到MySQL数

centos6.5下cacti部署说明

一.Cacti简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdtool是cacti的关键.Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成. 2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名.主机ip.snmp团体名.端口号.模板信息等变量. 3. snmp抓到数据不是存储在mysql中,而

合nagios+cacti+微信、飞信实现网络监控报警

系统环境:rhel6.3         selinux disabled  和 iptables     整合cacti和nagios是利用了cacti的一个插件nagiosfor cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios的结果展示出来. 一.nagios监控本地主机 注释掉localhost.cfg,新增加hosts.cfg,services.cfg [[email protected]

Cacti使用安装具体解释

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监測图形分析工具.Cacti是通过 snmpget来获取数据.使用 RRDtool绘绘图形,而且你全然能够不须要了解RRDtool复杂的參数.它提供了很强大的数据和用户管理功能.能够指定每个用户能查看树状结构.host以及不论什么一张图.还能够与LDAP结合进行用户验证,同一时候也能自己增加模板.功能很强大完好.界面友好. 软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了主要的 Snmp

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(七)nagios+cacti整合

nagios和cacti的安装请参考之前的文章安装,这里介绍二者如何整合在一起. ndoutils将nagios的监控数据写入数据库 cacti则将ndoutil插件写入数据库的数据展示在页面上,因为数据写入数据库会因为各种因素延时,所以有时候nagios自身的页面有的监控项已经告警,但是cacti页面可能还是正常状态. 所以这套方案的核心还是nagios,所有监控和故障通知都由nagios完成,cacti只是担任web管理页面. 1.修改数据库结构 mysql> use nagios; mys

linux 架设nagios+cacti+nconf完整配置,生产环境中的配置。

以下是傻瓜配置,复制粘贴可以完成.有空我会写个script来帮助大家进一步解决傻瓜的复制粘贴步骤. 但还是希望大家了解nagios cacti nconf是怎样工作的,框架是怎样的. 下面是配置全过程 1.先安装各个nagios+cacti的依赖包 更新源rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm yum update yum -y install httpd p