标签:snmp cacti
#########################################################
#### lnamp环境搭建 ##
#########################################################
略
#########################################################
### rrdtool的安装 ##
#########################################################
rrdtool的安装 (这里我采用yum安装)
[root@vm_web1 ~]# yum -y install rrdtool
#########################################################
### snmp的安装与测试 ##
#########################################################
一)安装net-snmp(也采用yum安装)
[root@vm_web1 ~]# yum -y install net-snmp net-snmp-libs net-snmp-utils
二) 更改配置文件
[root@vm_web1 ~]# cp -a /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak # 修改配置文件前先备份
[root@vm_web1 ~]# vi /etc/snmp/snmpd.conf # 修改配置文件--这里我先删除原来配置文件中的所有信息重新编写
# 1 首选是定义一个共同体名(community--这个可以理解为一个明文的暗号),这里是snmppass,及可以用snmppass这个暗号用户名(sec name),这里是snmpUser。snmppass相当于用户snmpUser的密码:)
# sec.name source community
com2sec snmpUser default snmppass
# 2 定义一个组名(groupName)这里是snmpGroup,及组的安全级别v2c,把snmpUser这个用户加到这个组中
#groupName securityModel securityName
group snmpGroup v2c snmpUser
# 3 建立一个VIEW,VIEW的基本语法是"view NAME TYPE SUBTREE [MASK]"。 这里我们先拿系统运行时间来举例.1.3.6.1.2.1.1.3.0
view snmpView include .1.3.6.1.2.1.1.3.0
view snmpView included .1 # .1 代表.1开头的所有
# 像上面这句话的意思就是赋予snmpView这个view能够查看.1.3.6.1.2.1.1.3.0下面所有节点的权限。
# 4 最后要做的是设定哪些组的人,哪些view的用户可以做什么具体的事情,用access来设置,基本语法是"access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY"。
# group context sec.model sec.level prefix read write notif
access snmpGroup "" any noauth exact snmpView snmpView none
下面把配置文件去除注释后重写一遍
# sec.name source community
com2sec snmpUser default snmppass
# groupName securityModel securityName
group snmpGroup v1 snmpUser
group snmpGroup v2c snmpUser
# name incl/excl subtree mask(optional)
view snmpView included .1.3.6.1.2.1.1
view snmpView included .1.3.6.1.2.1.25.1.1
view snmpView included .1
# group context sec.model sec.level prefix read write notif
access snmpGroup "" any noauth exact snmpView none none
三) 启动服务
[root@vm_web1 ~]# service snmpd restart # 重启snmpd
四) 测试
[root@vm_web1 ~]# snmpwalk -v 2c -c snmppass localhost .1.3.6.1.2.1.1.5.0 # 通过获取主机名来测试是否成功
SNMPv2-MIB::sysName.0 = STRING: vm_web1 # 得到 vm_web1 说明已经成功了
五) 安装snmp的php扩展
[root@vm_web1 config]# yum -y install php-snmp
#################################################################################################################
### cacti的安装与测试如果源码包配置不成功可以采用yum -y install cacti 来安装 ##
#################################################################################################################
一) 下载cacti压缩包解压
[root@vm_web1 software]# tar -zxvf cacti-0.8.8b.tar.gz
二) 配置一个apache的虚拟主机用来给cacti监控使用
[root@vm_web1 sites-available]# vi apache_main.conf
<VirtualHost *:8080>
DocumentRoot /data/wwwroot/web/cacti.me
ErrorLog "/data/wwwroot/log/www.cacti.me-apache-error.log"
CustomLog /data/wwwroot/log/www.cacti.me-apache-access.log
ServerName www.cacti.me
<Directory "/data/wwwroot/web/cacti.me">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
[root@vm_web1 web]# ln -s /data/conf/sites-available/apache_main.conf /data/conf/sites-enabled/
三) 把cacti的代码复制到指定文件夹并修改权限
[root@vm_web1 sites-available]# cd /data/wwwroot/web/
[root@vm_web1 web]# mkdir cacti.me
[root@vm_web1 web]# cd /data/wwwroot/web/cacti.me/
[root@vm_web1 cacti.me]# cp -a /data/software/cacti-0.8.8b/* ./
[root@vm_web1 cacti.me]# chown -R www:www ./*
四) 创建cacti的数据库
[root@vm_web1 cacti.me]# mysql -u root -p123456
MariaDB [(none)]> create database cactidb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use cactidb;
Database changed
MariaDB [cactidb]> source /data/wwwroot/web/cacti.me/cacti.sql; # 导入数据
MariaDB [cactidb]> GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser‘; # 创建一个mysql用户专门用来操作cactidb这个数据库
Query OK, 0 rows affected (0.04 sec)
五) 修改cacti.me相关配置文件代码
[root@vm_web1 ~]# cd /data/wwwroot/web/cacti.me/include/
[root@vm_web1 include]# vi config.php # 修改配置文件
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
$database_ssl = false;
/*
Edit this to point to the default URL of your Cacti install
ex: if your cacti install as at http://serverip/cacti/ this
would be set to /cacti/
*/
//$url_path = "/cacti/";
$url_path = "/"; // 这一行非常重要设置cacti程序访问路径的
六)安装初始化
在xp的系统上绑定host文件访问
192.168.1.244 www.cacti.me
1 直接在web浏览器上输入www.cacti.me:8080(我apache开启的是8080端口)会跳转到http://www.cacti.me:8080/install/
2 点击next 选择new install点击next
3 出现如图2所示页面,填写如图
。点击finish
4 出现如图
所示登录页面。默认用户名和密码都是admin
5 登录之后要求强制修改密码这里我改成admin123456
6 修改密码之后就进入了cacti的管理界面了。如图
############################################################
### cacti的使用 ##
############################################################
假设这里被监测的服务器名叫vm_web1 IP:ip地址为127.0.0.1(自己监控自己),SNMP的community为snmppass。
进入Cacti的console面板->
点击“Devices”进入设备面板-> 如图
点击add 添加新设备。具体参数填写如图
点击create保存信息。如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出现“SNMP error”。如果没有错误信息则页面下方会出现:
如图
所示的一些选项。这里我们选择 cpu 内存 负载 挂载点等信息。点击save
点击左边的New Graphs,进入如图
所示页面。勾选想要绘图的项。点击create
点击Graph Trees,进入Graph Trees面板点击Add添加一个Graph Trees 并把想要在这个Graph Trees绘图的项勾选
############################################################
## 使用crontab让cacti自动绘图 ##
############################################################
chown -R www:www /data/wwwroot/web/cacti.me
su -l www
/usr/bin/php /data/wwwroot/web/cacti.me/poller.php # 手动访问一下看是否有错误信息
# 如果没有错误信息则
vi /etc/crontab # 添加下面这一行
*/5 * * * * www /usr/bin/php /data/wwwroot/web/cacti.me/poller.php &>/dev/null # 让cacti自动绘图
如果没有任何错误的话,经过一段时间之后可以看到如图
所示画面
# 注意 如果手动访问有错。查看 php.ini 中设置的disable_functions open_basedir 等项是否设置有问题
标签:snmp cacti
原文地址:http://bingdonghuoyan.blog.51cto.com/9677664/1665907