---恢复内容开始---
1、安装epel扩展源
yum -y install epel-release
2、安装cacti和依赖包(mysql-server没有可用的安装包,参照另一篇随笔)
yum install httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng libpng-devel -y
yum install net-snmp net-snmp-utils rrdtool cacti -y
3、启动相关服务
/etc/init.d/mysqld start service mysqld start /etc/init.d/httpd start service httpd start /etc/init.d/snmpd start service snmpd start
systemctl start snmpd
测试验证SNMP配置的正确性,执行命令 snmpwalk -v 1 192.168.0.200 -c public system (注意,192.168.0.200更改为自己安装snmp服务的那台机器地址)
4、配置相关服务
Apache:
vim /etc/httpd/conf/httpd.conf # 增加下行,避免启动httpd服务出现关于ServerName的警告。 ServerName 自定义:80
vim /etc/httpd/conf.d/cacti.conf # 原配置文件内容如下: # <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require host localhost </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from localhost </IfModule> </Directory> # # yum安装的httpd为2.2版本,在httpd-2.2配置段的"Allow from localhost"后添加允许访问的主机IP, # 或者直接改为"Allow from all"以允许所有IP访问。 # 这样才能进行Cacti的Web端安装和监控。 $ /etc/init.d/httpd restart
PHP:
vim /etc/php.ini
# 设置时区
date.timezone = Asia/Shanghai
Mysql:
$ mysql -uroot mysql> create database cacti; mysql> grant all on cacti.* to cacti@localhost identified by 'cactipassword'; mysql> flush privileges; mysql> quit $ mysql -uroot cacti < /usr/share/doc/cacti-0.8.8h/cacti.sql
编辑cacti配置文件 vim /usr/share/cacti/include/config.php 更改如下: $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "127.0.0.1"; $database_username = "cacti"; $database_password = "cacti"; $database_port = "3306"; $database_ssl = false;
8. web访问cacti并安装
http://ip/cacti/
点两下“next” 和一次”Finish“ 即可
输入admin admin 登录,重新设置新的密码
可能出现的问题
ERROR: Your Cacti database login account does not haveaccess to the MySQL TimeZone database. Please provide the Cacti databaseaccount "select" access to the "time_zone_name" table inthe "mysql" database, and populate MySQL's TimeZone informationbefore proceeding.
# grant all privileges on *.* to cacti@localhost identified by 'cacti'; # flush privileges;
ERROR: Your MySQL TimeZone database is not populated.Please populate this database before proceeding.
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
9. 执行poller.php, 生成图形, 加入计划任务
/usr/bin/php /usr/share/cacti/poller.php添加cron任务
cront -e 增加:
*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php
二、 安装客户端(增加一个linux服务器)
1. 安装snmp
yum install -y net-snmp
2. 修改snmpd.conf
修改syslocation以及syscontact, 其中syslocation 可以写本机ip,syscontact写管理员邮箱
syslocation 11.20
syscontact Root 1212@1212.com
3. 启动snmp
service snmpd start
4. 登录cacti管理后台,点console , 再点Device, 在右上角点”Add“
Description 写本机ip或你自定义一个名字
Hostname 写本机ip
Host Template 选ucd/net SNMP Host
SNMP Version 选Version 2
点右下角的create
点右上角的”Create Graphs for this Host“
Graph Types: 选择SNMP - Interface Statistics
在下面框中选择要监控的网卡,比如我选择eth0, 在最右侧小方块里打对勾,然后点右下角的create
Graph Types: 再选择 Graph Template Based
在下面的框中,选择你要监控的项目,比如ucd/net - Load Average
在右侧小方块中打对勾,然后点右下角的create
5. 点左侧的Graph Trees
选中”Default Tree“
点右上角的Add
Tree Item Type 选择 ”Host“
Host 选择我们刚刚增加的那个机器ip
点右下角的create
6. 点左上角的Graphs
在左侧可以看到
Defaut Tree下面已经增加了我们刚刚添加的主机,图形一开始不会那么快出来,要等一小会才可以。
其他cacti帖子参考 http://www.aminglinux.com/bbs/se ... submit=yes&kw=cacti
---恢复内容结束---