一、Cacti概述
1、cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2、Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3、snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。
二、Cacti架构及原理
1、基本架构
2、工作原理
三、Cacti的安装
1、基本需求
apache+php+mysql
注意:
PHP必须开启snmp、socket、gd这三个函数库。
如果您的PHP是通过源码安装且已经支持GD库,但没有安装和开启snmp和socket库。那么,您可以按照下列方式动态安装这两个库,而不必重新编译安装。
假设您的PHP源码路径为:/usr/local/software/php-5.3.5,安装路径为:/usr/local/php5,php.ini文件路径为:/usr/local/php5/etc/php.ini
编译sockets
# cd /usr/local/software/php-5.3.5/ext/sockets
# /usr/local/php5/bin/phpize
# ./configure --with-php-config=/usr/local/php5/bin/php-config
# make && make install
编译SNMP
# cd /usr/local/software/php-5.3.5/ext/snmp
# /usr/local/php5/bin/phpize
# ./configure --with-php-config=/usr/local/php5/bin/php-config
# make && make install
复制刚编译的扩展到PHP扩展目录
# cp /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/sockets.so /usr/local/php5/etc/
# cp /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/snmp.so /usr/local/php5/etc/
修改php.ini
# vi /usr/local/php5/etc/php.ini
加入:
extension=sockets.so
extension=snmp.so
2、安装snmp
查看《linx+snmp的安装及配置说明》
3、安装RRDTool
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.0.x/rrdtool-1.0.50.tar.gz
# tar zxvf rrdtool-1.0.50.tar.gz
# cd rrdtool-1.0.50
# ./configure --prefix=/usr/local/rrdtool
# make
# make install
4、安装Cacti
A、解压cacti包,并且将解压缩的包拷贝至www目录中。
# tar xzvf cacti-version.tar.gz
# mv cacti-version /var/www/cacti
注:该处的/var/www为你服务器上对应的web根目录。
B、在mysql中创建cacti数据库,并且导入基本数据。
# mysqladmin --user=root create cacti
# mysql cacti < cacti.sql
C、修改include/config.php配置文件
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
D、新增cacti系统用户,设置cacti的log及rra文件夹权限
# useradd -r -M cactiuser
# chown -R cactiuser rra/ log/
E、将轮询程序增加到/etc/crontab中
# vi /etc/crontab
加入:*/5 * * * * cactiuser php /var/www/cacti/poller.php > /dev/null 2>&1
说明:请勿使用root执行上面命令,不然还要再执行上一步骤(设定log及rra文件夹权限)。
F、登录及基本设置
登录地址为:http://your-server/cacti/
账号及密码:默认账号和密码都是admin
登录后需要基本配置(功能路径:console/configuration/settings/paths)中设置rrdtool、php、snmpwalk、snmpget等命令的具体位置(绝对路径)。
四、相关参考阅读
分享到:
相关推荐
能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios...
13.构建Linux下Cacti监控平台.mp4 14.Linux下Cacti深入配置.mp4 15.Linux下Kickstart自动化安装平台构建.mp4 16.Linux下构建Rsync同步服务器.mp4 17.Linux下Shell编程实战.mp4 18.Linux Shell编程必杀技命令.mp4 19....
(1)NRPE:用来在监控的远程Linux/Unix 主机上执行脚本插件以实现对这些主机资源的监控 (2)NSCA:用来让 被监控的远程Linux/Unix 主机主动将监控信息发送给Nagios 服务器(这在冗余 监控模式中特别要用到) (3)...
Cacti和Nagios是现在使用比较多的网络监控软件了,对于这两款监控软件的区别,应该说是侧重点的不同。 Cacti比较着重于直观数据的监控,易于生成图形,用来监控网络流量、cpu使用率、硬盘使用率等可以说在合适不过。...
能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios...
3.1. 9 Cacti监控平台搭建 46 3.1. 10 Nagios监控平台搭建 50 3.1. 11 Kickstart自动化安装平台 56 4. Linux编程篇 60 4.1 Linux Shell编程 60 4.1. 1 Shell编程简介 60 4.1. 2 Shell变量设置 61 4.1. 3 Shell流程...
本文档主要实现nagios监控windows主机,nagios监控windows系统有三种实现方式:SNMP、NSClient++、NRPE,后面两种方式都需要在windows上安装agent,因目前服务器上都开启了SNMP,所以本文档只介绍使用SNMP方式来监控...
Zabbix具备创建商业监控软件所具备的功能,例如主机性能监控、网络设备性能监控、数据库性能监控、ftp等通用协议的监控,能够利用灵活的可定制警告机制,允许用户对事件发送基于E-mail的警告,保证相关维护人员对...
Nagios与Cacti是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。
会有性能问题,建议监控主机数少于20台,并且监控项数据少于100个。 注意 本系统用户管理界面的switch开关不起作用 使用的技术 Web框架使用Flask,默认Jinja模版 ORM框架使用Peewee 前端套用基于BootStrap的AdminLTE...
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的...
nagios使用飞信发送报警信息,监控主机存活状态,主机服务存活状态。