Cacti的实例应用
1)网络设置
3)cacti常见的监测对象2)主机系统 (1)网络接口流量(进与出的带宽) (2)监控CPU的负载、内存等等 (3)监控磁盘的空间、进程数等等 .........................................等等 (1)服务器资源:CPU、内存、磁盘、进程、连接数等 (2)服务器类型:WEB、Mail、FTP、数据库、中间件 (3)网络接口:流量、转发速度、丢包率 (4)网络设备性能、配置文件(对比与备份)、路由数 (5)安全设备性能、连接数、***数 (6)设备运行状态:风扇、电源、温度 (7)机房运行环境:电流、电压、温湿度 |
1)监控网络服务(SMTP、POP3、HTTP、NNTP、PING等)
2)监控主机资源(处理器负荷、磁盘利用率等) 3)简单地插件设计使得用户可以方便地扩展自己服务的检测方法 4)并行服务检查机制 5)具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态 6)当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式) 可以通过飞信,等方式实现时,既可传递给管理员,可高效的保证服务器的维护。
7)具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位 8)自动的日志回滚 9)可以支持并实现对主机的冗余监控 10)可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等 |
(1)NRPE:用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控
(2)NSCA:用来让 被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到)
(3)NSClient++:用来监控 Windows主机时安装在Windows主机上的组件
(4)NDOUtils:则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现 这些数据的快速检索和处理
这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端
NTOP提供以下一些功能:
① 自动从网络中识别有用的信息;
② 将截获的数据包转换成易于识别的格式;
③ 对网络环境中的通信失败进行分析;
④ 探测网络环境下的通信瓶颈;
⑤ 记录网络通信时间和过程;
⑥ 自动识别客户端正在使用的操作系统;
⑦ 可以在命令行和Web两种方式下运行。
|
yum install httpd php php-mysql mysql mysql-server php-snmp -y
安装完成后让服务都启动并调整之间的连接关系.
service mysqld start # 启动mysql服务
chkconfig mysqld on #使其开机自动启动
启动完mysql后,如果出现以下画面,并能通过mysql进入,说明成功安装。
之后编辑httpd服务的配置文件,使其支持mod_status.so模块.,
只要在/etc/httpd/conf/httpd.conf的配置文件中找到
LoadModule status_module modules/mod_status.so
有这一项表示已经支持状态检测模块,所以无需额外添加,直接启动web服务即可.
service httpd start #启动http服务
chkconfig httpd on #开机自动启动httpd 服务
启动OK后,编辑
vim /var/www/html/index.php 在其中添加以下内容#
<?php
phpinfo(); ?> # 保存退出
用web浏览器访问,如果出现以下画面,则表示http支持动态php.并能与php成功连接.
接着测试与mysql的连接,先给mysql设置个管理员密码
mysqladmin -uroot password '123456' #密码设置为123456
编辑刚才的web页面
vim /var/www/html/index.php
把里面的内容改为
<?php $link=mysql_connect("localhost","root","123456"); if(!$link) echo "FAILD!"; else echo "OK!"; ?> 刷新刚才的web浏览器页面,如果出现OK!字样,则表示成功连接.
|
其中主要用到的是rrdtool-1.2.27-3.el5.i386.rpm 和rrdtool-devel-1.2.27-3.el5.i386.rpm和rrdtool-php-1.2.27-3.el5.i386.rpm这三个包,其余的包是其他扩展功能和其他脚本语言结合的.笔者就不过多演示了.
安装以上三个包
cd /root/rrdtool/ #笔者rpm包所在的地方,可以做修改
yum -y localinstall --nogpgcheck rrdtool-1.2.27-3.el5.i386.rpm
yum -y localinstall --nogpgcheck rrdtool-devel-1.2.27-3.el5.i386.rpm
yum -y localinstall --nogpgcheck rrdtool-php-1.2.27-3.el5.i386.rpm
|
登录数据库
mysql -uroot -p
##会提示你输入密码,笔者在前面设置的密码为 123456
mysql> create database cactidb;
mysql> GRANT all privileges ON cactidb.* TO cactier@localhost IDENTIFIED BY '123456';
mysql> GRANT all privileges ON cactidb.* TO [email protected] IDENTIFIED BY '123456';
mysql> GRANT all privileges ON cactidb.* TO [email protected] IDENTIFIED BY '123456';
##说明 笔者指定了一个网段的授权,是将来做监控时数据库和监控工具不在同一台主机上,网段可根据自己需要进行授权。
mysql> flush privileges;
|
(4)配置SNMP
在net-snmp的主配置文件/etc/snmp/snmpd.conf中,默认的community为public,建议将public修改为您需的密码项,笔者在此就不做修改了,使用默认密码public
接着,启动snmp进程
service snmpd restart #如果修改过snmpd.conf 则需要重启服务
|
首先要去cacti官网下载cacti的gz源码包,目前最新的版本是0.8.7.g 从官方网站的说明and a webserver that supports PHP such as Apache or IIS.就知道以上的准备工作是必须要做的.
重要说明:如果用0.8.7g版本的cacti,在后面整合nagios时可能出现bug,笔者推荐用0,8.7e版本的,笔者演示用的是0.8.7g原理一样.
下载完成后就可以解压缩了,笔者放在了/root/目录下
cd /root
tar zxvf cacti-0.8.7g.tar.gz
mv cacti-0.8.7g /var/www/html/cacti
##因为cacti的配置是在web页面下进行的,所以笔者直接把cacti-0.8.7g 移至/var/www/html/cacti
cd /var/www/html/cacti
mysql -uroot -p cactidb < cacti.sql
##将cacti.sql数据库文件导入,会提示输入密码输入前面设置的root 的密码即可
编辑cacti的主配置文件,为其指定对应的数据库参数:
vim /var/www/html/cacti/include/config.php
将下列各参数的值修改为您前面所设定的:
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactier";
$database_password = "123456";
$database_port = "3306";
修改完成后保存退出。
添加cactier用户 并给其设置密码
useradd cactier
passwd cactier cd /var/www/html/cacti/
chown -R cactier rra/ log/ #指定rra/ log/的属组属主为cactier用户
vim /etc/crontab
##编辑crontab文件 在空白行添加以下内容
*/5 * * * * cactier php /var/www/html/cacti/poller.php > /dev/null &
#每5分钟以cactier去抓取数据绘图,这个时间5分钟应该是最小间隔了,笔者不建议修改为更小值。
记的要把selinux 关闭,不然不能从web页面访问的,关闭方法如下
setenforce 0 #只是临时关闭
好了,下面就可以用web浏览器访问cacti进行配置管理了。
笔者所用虚拟机ip为192.168.0.39 ## IP根据自己实际情况可做相应修改
从浏览器直接访问以下地址 即可看到cacti配置画面
如果看到以下画面,则可以进行之后的配置
点击下一步。
如果上面全是[FOUND],则可以点击Finish 完成,中间的路径可能与图片不同。
Finish后就会出现登陆画面
用户名admin 密码admin 即可登陆 (第一次登陆后会强行让修改密码)
进入后点击graphs 会显示流量图
如果不出现图片执行以下命令让其手动绘图即可.
su - cactier
php /var/www/html/cacti/poller.php > /dev/null 2>&1
exit
数据部分启动较慢,请耐心等待,如显示如上图片数据,则成功安装配置。
##cacti的具体使用笔者不做过多介绍,有意者可去官方网站阅读官方文档。
|
Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件
下面在服务端安装Nagios和Nagios-plugins.
先下载源码包,目前官方的最新版本如下图 插件版本 下载之.笔者放在了 /root/nagios目录下 nagios 需要一些基础支持套件才能运行,如apache,gcc,glibc,gd库等。 cd /root/nagios #该目录是你下载的nagios源码包所在位置 tar zxvf nagios-3.2.2.tar.gz #解压 cd nagios-3.2.2 注意下面--with-httpd-conf 的路径,取决与你apache的,如果是yum安装的apache,则路径为: /configure --with-command-group=nagios --with-httpd-conf=/etc/httpd/conf/extra/ ##如果没有报错,就进行一下步骤 make all vim /usr/local/nagios/etc/objects/contacts.cfg ##修改nagiosadmin这行其中的邮件地址为你的email地址,以将报警邮件发到你的邮箱 make install-webconf htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ##设置登陆web界面时HTTP验证的账号密码如果apache是用源码编译安装的话,该指令改为如下所示: #/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin vim /etc/httpd/conf/httpd.conf 在空白地方添加一下两行 如果可以正常启动,下面就可以开始编译、安装nagios-plugins ##下面是一些配置
useradd -m nagios #添加一个名为nagios的用户来运行nagios
groupadd nagios #添加nagios用户组,用以通过web页面提交外部控制命令
usermod -a -G nagios daemon #将运行apache用户daemon加入nagios组
make install
make install-init
make install-config
make install-commandmode #安装完成没有报错开始以下配置
下面修改httpd.conf ,笔者是yum装的apache ,配置文件的路径为如下所示:
# nagios default settings
Include conf/extra/nagios.conf
mysql -uroot -p
注:以上config目录中的ndo2db.cfg和ndomod.cfg在ndoutils-1.4b9中是以ndo2db.cfg-sample和ndomod.cfg-sample命名的,如果您使用的是这个版本的ndoutils,请在复制时做出如上相应的修改;
db_name=ndodb
图片右边显示的是目前官方最新的ntop版本 为4.0.1下载之 1、下载安装所需要的环境: make 3、配置并启动ntop 用web页面访问http://yourIP:3000 如果出现以下换面 则表示运行正常
|
★★下面是对这三者的整合.把nagios和ntop 整合到cacti中
先让cacti支持插件功能
笔者在上文所安装的cacti版本为0.8.7g,支持插件的补丁就选用cacti-plugin-0.8.7g-PA-v2.8.tar.gz 下载后进行解压缩 tar zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz cd cacti-plugin-arch cp -R * /var/www/html/cacti/ mysql -uroot -p cactidb <pa.sql patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff 打完补丁后图片有时不会显示,这是需要修改下/var/www/html/cacti/include目录下的config.php文件 修改$url_path后面的值: $url_path = "/cacti/"; 修改完成直接web页面登陆,http://yourIP/cacti 选择左下的User Managenment 之后点击admin 在其中最后一项打钩,并保存 好了,现在cacti就支持其他插件功能了,下面把ntop和nagios加进去就可以了
先整合ntop.
- 首先去下载cacti的ntop插件,而后解压至cacti的插件目录:
- # tar zxvf ntop-0.1.tar.gz -C /var/www/html/cacti/plugins/
- 接着配置cacti的主配置文件,启用此插件:
- # vim /var/www/html/cacti/include/config.php
- 添加如下内容:
- $plugins[] = 'ntop';
- 接下来到cacti的控制台中"settings"中配置此插件,将其指向实际的ntop服务器所在的URL;然后再到cacti控制台的"user Management"中的admin用户中启用此插件即可。
设置完成后如图所示:
发现上面是不是多了一个标签Ntop,有些版本web浏览器不会显示里面内容,笔者建议用firefox,效果图如下。
下面是对nagios与cacti的整合
安装Nagios Plugin for Cacti(NPC)插件(http://trac2.assembla.com/npc) 先下载npc源码包 ,官网不知为何不让下载了,直接google搜索npc-2.0.4.tar.gz,有个论坛有下载的。 tar zxvf npc-2.0.4.tar.gz mv npc /var/www/html/cacti/plugins/ vi /var/www/html/cacti/include/config.php ## 在该文件中的"$plugins = array()"后增加如下一行内容 tar zxvf json-1.2.1.tgz && cd json-1.2.1 #npc需要json来支持某些功能 /usr/bin/phpize ./configure make make install 之后用web测试 ,index.php(前文有测试方法)如果有图片所示的这一项,则表示正常json正常安装 ## 如果phpize 没有此指令,请yum安装php-devel包 说明:如果您是使用RPM方式安装php,那么一些动态的扩展是自动被加入的,这些动态扩展 在:/etc/php.d/*.ini这些文件,这里确认一下json.ini文件有这一行内容:extension=json.so;同时还要确认一下 /usr/lib/php/modules目录下有没有json.so文件,如果没有的话,要手动复制一份到这个目录,这样才能确保json.ini起作用。 全部装完在cacti中设置如图所示
作用:将nagios的数据通过ndo2db导入到mysql数据库,然后cacti读取数据库信息将nagios的结果通过NPC展示出来。
下载完成后来到所npc-2.0.4.tar.gz 所在的目录
$plugins[] = 'npc';
//$plugins[] = 'npc';
这样先注释掉,才可以安装上npc的.否则,不能在web页面的插件管理页面看到npc插件.
应当将ndo2db.cfg里面的
db_name=cacti;
db_prefix=npc_;