OS: Ubuntu 7.10 Server
kernel: 2.6.14-server
内网网卡: 192.168.1.254
外网网卡: 172.18.11.220
cacti: Version 0.8.6j
PS:如果没有特别说明,下面命令都需要使用 root 权限。
1.先要安装 mysql 服务器,保存数据要使用到数据库。下面把客户端也安装上了。
apt-get install mysql-server mysql-client
2.安装 snmp 和 cacti ,安装 cacti 的过程需要提供 mysql 服务器的密码,这里要注意的是 snmp 收集程序,而不是 snmp 的服务。
apt-get install snmp cacti
3.完成后会弹出一个页面,要求确认相关的程序、日志路径,如果路径没有检测到会出现红色的叉叉。
4.配置完成后打开 http://172.18.11.220/cacti ,使用 admin / admin 登录,对启用 snmp 服务进行对应的设置。如果不检测本机流量,那么到这里就可以了。
5.由于现在本机是网关&防火墙,要监测通过本机的流量。那么本机还要安装 snmp 服务。
apt-get install snmpd
6.查看或修改 snmpd 的 配置
vi /etc/snmp/snmpd.conf
# sec.name source community
com2sec paranoid default public
#com2sec readonly default public
# 解释:定义 community 名称为 public,映射到安全名 paranoid 。(如果不要开放这么多权限,那么可以改成 readonly 或 readwrite )
# default:snmpd 采集源,改成 cacti 服务器的 ip ,这里是本机,可以不用改。
###
# sec.model sec.name
group MyROSystem v1 paranoid
# 解释:定义安全用户名 paranoid 映射到 MyROSystem 组,v1是 snmpd 的协议版本,现在有3个版本,这里可以使用的是 v1,v2c,usm(v3 的USM负责鉴别、加密、解密SNMP报文,VACM负责管理MIB数据访问权限。) 。
###
# incl/excl subtree mask
view all included .1 80
view system included .iso.org.dod.internet.mgmt.mib-2.system
# 解释:第1行定义一个view,来决定 全部用户(安全名) 可以操作的范围,这里是全部。
# 第2行定义可操作的 snmp mib 的范围,就是限制只能操作部分。
###
# context sec.model sec.level match read write notif
access MyROSystem "" any noauth exact system none none
# 解释:给 MyROSystem 组所定义 view 名 all 以只读权限。
###
# 注意:以上配置文档只是给出部分以便解释。
7.要注意 v0.8.7b 可以使用 UDP/TCP Ping ,那么要开放对应的UDP/TCP 的端口(默认是 23)
8.修改 /etc/default/snmpd 默认的IP
ubuntu 的 /etc/default/snmpd 中的 SNMPDOPTS 选项默认IP是 127.0.0.1 的,如果需要被非本机的snmp 收集程序或获取到,那么要删掉或者指定一个本地接口的IP。
9.测试是否能获取数据
在安装了 snmp 的电脑上使用
snmpwalk -v 2c -c public 172.18.11.220 .1.3.6.1.2.1.1
如果有返回数据就表示正常了。
10.数据库连接文件
默认安装的情况下是:/etc/cacti/debian.php
修改 /usr/share/cacti/site/include/config.php 这个文件是没有效果的,因为会被上面那个文件的配置覆盖掉。