码迷,mamicode.com
首页 > 其他好文 > 详细

Cacti 0.8.8b 安装配置(含snmp配置)

时间:2014-10-30 17:19:16      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:cacti安装 snmp配置

类别:原创 服务器

本文参考

 

第一:说明

目的:   安装cacti并配置。

其它说明:

操作系统为:centos 6.6 64位,

cactiserver的ip为:192.168.10.112,测试服务器为:192.168.1.4(windows)

 

第二:本例操作环境     

[root@i-tcz0hdhc~]# yum update -y

[root@i-tcz0hdhc ~]# uname -a

Linux i-tcz0hdhc 2.6.32-431.29.2.el6.x86_64#1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@i-tcz0hdhc ~]# more/etc/redhat-release

CentOS release 6.6 (Final)

[root@i-tcz0hdhc ~]#

第三:服务器安装和基本配置

1、 安装必须的软件包 

为求方便,本文所有软件全部使用yum 方式安装。 

 

检查软件安装

[root@i-tcz0hdhc ~]# yum install -y httpdmysql mysql-server  cacti php net-snmpcrontabs

Loaded plugins: fastestmirror

Setting up Install Process

Loading mirror speeds from cached hostfile

 *base: mirrors.yun-idc.com

 *epel: mirrors.yun-idc.com

 *extras: mirrors.yun-idc.com

 *rpmfusion-free-updates: mirror.bjtu.edu.cn

 *rpmfusion-nonfree-updates: mirror.bjtu.edu.cn

 *updates: mirrors.neusoft.edu.cn

Package httpd-2.2.15-39.el6.centos.x86_64already installed and latest version

Package mysql-5.1.73-3.el6_5.x86_64already installed and latest version

Package mysql-server-5.1.73-3.el6_5.x86_64already installed and latest version

Package cacti-0.8.8b-7.el6.noarch alreadyinstalled and latest version

Package php-5.3.3-38.el6.x86_64 alreadyinstalled and latest version

Package 1:net-snmp-5.5-50.el6_6.1.x86_64already installed and latest version

Package crontabs-1.10-33.el6.noarchalready installed and latest version

Nothing to do

[root@i-tcz0hdhc ~]#

[root@i-tcz0hdhc ~]# chkconfig httpd on

[root@i-tcz0hdhc ~]# chkconfig mysqldon   

[root@i-tcz0hdhc ~]# chkconfig crondon     

[root@i-tcz0hdhc ~]# chkconfig snmpdon   

[root@i-tcz0hdhc ~]# chkconfig

[root@i-tcz0hdhc ~]#

 

2、基本配置 

a. 修改httpd配置

[root@i-tcz0hdhc ~]# vi/etc/httpd/conf/httpd.conf

修改/etc/httpd/conf/httpd.conf将ServerName改成ServerName :80

#ServerName www.example.com:80

ServerName :80

[root@i-tcz0hdhc ~]# service  httpd restart       

[root@i-tcz0hdhc ~]#

 

b. 验证php支持

[root@i-tcz0hdhc ~]# vi/var/www/html/test.php

<?php

phpinfo()

?>

[root@i-tcz0hdhc ~]#

浏览器打开如下:http://192.168.10.112/test.php

bubuko.com,布布扣

3、cacti配置 

a. 修改cacti配置

[root@i-tcz0hdhc ~]# vi/etc/httpd/conf.d/cacti.conf

更改cacti的访问权限,根据安装的httpd的版本决定修改

<Directory /usr/share/cacti/>                 \\ 这是yum方式安装后的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                 \\ 注释掉

                Allow from all                        \\ 增加

       </IfModule>

[root@i-tcz0hdhc ~]# service  httpd restart

[root@i-tcz0hdhc ~]# cd /usr/share/cacti/

[root@i-tcz0hdhc cacti]# viinclude/config.php

修改数据库配置

$database_type = "mysql";                     \\ 数据库类型(默认)

$database_default ="cacti";                    \\ 数据库名

$database_hostname ="localhost";              \\ 数据库地址(默认)

$database_username ="cacti";              \\ 数据库用户名

$database_password ="cactipass";              \\ 数据库密码

$database_port = "3306";                       \\ 数据库端口 (默认)

$database_ssl = false;

[root@i-tcz0hdhc cacti]#

 

b. 创建cacti库

[root@i-tcz0hdhc ~]# service mysqldrestart

[root@i-tcz0hdhc ~]# mysql -u root -p    
password:
输入数据库管理员的密码      
mysql> create database cacti;      
mysql> use cacti;      
mysql> grant all on cacti.* to cacti@localhost identified by"cacti";   
mysql> flush privileges;      
mysql> \q      

[root@i-tcz0hdhc ~]#

c. 导入cacti数据库

[root@i-tcz0hdhc ~]# mysql -u cacti-pcactipass cacti </usr/share/doc/cacti-0.8.8b/cacti.sql

[root@i-tcz0hdhc ~]# mysql -u cacti-pcactipass cacti

mysql> show tables;          \\ 查看导入的表,应该会列出表

mysql> \q

[root@i-tcz0hdhc ~]#

 

d. 新建自动化任务

[root@i-tcz0hdhc cacti]# crontab -l

*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php> /dev/null 2>&1

[root@i-tcz0hdhc cacti]#    
此处网上说是在php 前面加上 cacti这个用户 让这个用户来执行,但本人试了好多次都没成功 所以只能用root用户来做了。      


第四:使用cacti

本处参照了:

http://hi.baidu.com/xymclone/blog/item/19726fd3c7465b1c3bf3cf3c.html

http://linux.chinaunix.net/techdoc/net/2006/10/03/941444.shtml

1、初始化cacti

在本地浏览器里输入 http://192.168.10.112/cacti 

bubuko.com,布布扣

bubuko.com,布布扣

 bubuko.com,布布扣

按照提示 一直进行下一步,这里的 rrdtool 可以选1.4,最后点Finish

根据提示默认用户名/密码:admin/admin。第一次进入会要求更改密码。Console→ Configuration → Setting → Genneral → SNMP Defaults → SNMP Community
确认这里的community 的名称是之前我们设置的 public,当然这里的community 会作为之后新建的Devices的默认的community。 
    

bubuko.com,布布扣


2、新建监控主机(snmp客户端安装请参考文后的附言部分)

第一步创建主机 management → devices → add →devices[new]

a.  Descritpion 对服务器的描述信息,任意取一个容易记的名称

b.  Hostname 监控主机的IP地址或主机名,如果使用主机名,别忘了设置/etc/hosts

c.  Host Template 这里实际上是一个监控模板,在创建图形时会有一些默认的监控项,比如CPU、内存等。根据监控主机的类型来选择,如果是Linux系统,通常选择“Local Linux Machine”和“ucd/net SNMP Host”。监控网络设备这里一般选择了“ucd/netSNMP Host”。

d.  SNMP Community 要和snmpd.conf中的团体名一致(和设备中设置的团体名一致比如前面设置的public)

e.  SNMP Version 如果选择Version 1,就不用设置SNMPUsername和SNMP Password两项了,因为只有在Version3中才会使用。

f.  SNMP Port 默认使用161端口

g.  SNMP Timeout 获取目标主机信息的超时时间

bubuko.com,布布扣

进行完这一步,就完成了一个主机基本信息的描述。保存后在device里就生成了一条记录,点击记录再进入记录条目,此时如果SNMP infomation下面有一个红色提示snmp error说明可能是CACTI服务器连接不到目标主机,也可能是SNMP团体名设置错误,可做适当调整,直到没有错误。

如果没有错误 会出现一些设备信息,类似下面这样:    
SNMP Information
System:Linuxi-tcz0hdhc 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05
UTC 2014 x86_64
Uptime: 947782 (0 days, 2 hours, 37 minutes)
Hostname: i-tcz0hdhc
Location: Unknown (edit /etc/snmp/snmpd.conf)
Contact: Root root@localhost (configure /etc/snmp/snmp.local.conf)

 

第二步 为主机创建图形      
在上图的界面点击旁边的create Graphs for this host为刚刚创建的主机创建图形。

实际上这一步看到的界面是和前面选用的模板有关的,另外在下面还可增加监控模板。如果监控模板不对,则显示的图形不合实际或者无法显示。这里可以选择要监控那些信息。最后保存就为这个主机创建了一个流量信息图集。

 

第三步 创建图形树

做完了第二步,实际上在graphs里是看不到图形的,需要用图形树把图形链接出来,使用自己创建的图形树的目的是为了规划图形分类,让管理更清晰。      
Management→ Graph Trees → Graph Trees → add 
新建图形树

bubuko.com,布布扣    

NAME 起一个一级目录的名字     
sortingtype分类类型 实际上是目录排序,分别是无排序、安字母、自然排序、数字排序。一般选无排序。

创建完了一级目录后,进入一级目录,单击Add创建二级目录

bubuko.com,布布扣

此项注意: 先选择节点类型,因为选择节点类型后页面要刷新,其他的白选。页面类型如下    
Header  是菜单项,意思就是点击后弹出子菜单。     
Graphs  图形 点击后链接到具体的一个图形。     
Host 主机点击后现实设备中定义的主机下所有的图形集。     
这一级菜单只有header可以定义名称。graphs和host是集成前面定义的名称来的。所以有的时候为了看起来清晰明了 需要将你的主机再向下包含一层目录。

到此简单的流量监控图就创建完了,主菜单的graphs项列出了我们创建的图形树,点击可看到相应的数据图表。

 

第五:错误解决

1、[root@jedy ~]# snmpwalk -v1 -c test localhost 报下面的错误     
End of MIB      
[root@jedy ~]#      
参考:这个错误一般是在 snmp.conf 里view 里面没有允许该OID ,甚至做了显式拒绝,解决办法是允许该 OID.     
加入: view all included .1      
本处参照了 
http://ilexes.blog.51cto.com/705330/243937 但原文有一点错误      
[root@jedy ~]#

2、[root@jedy ~]# snmpwalk -v1 -c public localhost      
getaddrinfo: localhost1 Name or service not known       
snmpwalk: Unknown host (localhost)

说明 主机名不对或是snmp服务不正常

 

3、[root@jedy ~]# snmpwalk -v 1 -c test localhost 
Timeout: No Response from localhost

说明Community 不正确 或是snmp服务不正常

以下错误是从网上摘抄的,供参考。本人没有碰到过,所以没有测试。

图片不能显示

总结cacti图形采集正确,却无法实现部分监控图像的问题     
有些时候,使用的cacti出现莫名其妙的问题,网卡图形无法显示,其他图形正常显示,      
在确保snmp数据采集正常的情况下,总结如下

1.--console-----system utilities - → Rebuild poller cache    
2.系统时间不准确,重新设置时间      
3.图像没有生成,运行#/usr/bin/php /srv/www/htdocs/cacti/poller.php--force      
4.权限问题,修改权限#chmod 777 -R /srv/www/htdocs/cacti/rra     
5.数据库表有损坏,修复#mysqlcheck -ao cacti --auto-repair -uroot-p      
6.重启snmpd服务#service snmpdrestart      
7.cacti的日志太大,清理日志      
8.查看日志,---console-----System Utilities---View Cacti logFile"      
一般查看日志,会出现大量数据采集失败的警告

不同网段之间别忘记了路由问题

 

附:snmp客户端安装和基本配置 

1、 Linux客户端的安装配置

a. 检查软件安装

[root@i-tcz0hdhc~]# yum install -y  net-snmp

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

 *base: mirrors.yun-idc.com

 *epel: mirrors.yun-idc.com

 *extras: mirrors.yun-idc.com

 *rpmfusion-free-updates: mirror.hust.edu.cn

 *rpmfusion-nonfree-updates: mirror.hust.edu.cn

 *updates: mirror.oasis.onnetcorp.com

Setting up Install Process

Package 1:net-snmp-5.5-49.el6_5.4.x86_64already installed and latest version

Nothing to do

[root@i-tcz0hdhc~]#

[root@i-tcz0hdhc~]# chkconfig

[root@i-tcz0hdhc~]# chkconfig snmpd on

[root@i-tcz0hdhc~]# chkconfig

 

b. 配置本机snmpd(想要被cacti监控的linux主机都要修改)

只需修改以下几个地方,其它地方保持默认即可。下面是改好后的样子

[root@i-tcz0hdhc~]# more/etc/snmp/snmpd.conf  | egrep -v"^$|^#"

com2sec notConfigUser  default      public \\将这里的snmp团体名改成一个好记的名字,当然也可以不改,此处我改成了 public

group  notConfigGroup v1          notConfigUser

group  notConfigGroup v2c          notConfigUser

view   all           included   .1      \\增加这一行,要用all 不能用systemview 要不然取不到数据。这是增加cpu取值的

view   systemview    included   .1.3.6.1.2.1.1

view   systemview    included   .1.3.6.1.2.1.2            \\增加这一行。这是增加网卡取值的

view   systemview    included   .1.3.6.1.2.1.25.1.1

access notConfigGroup ""     any       noauth    exact all none none     \\增加这一行,要用all 不能用systemview 要不然取不到数据。这是增加cpu取值的

com2sec mynetwork  192.168.10.112/24      public       \\增加这一行,要用all 不能用systemview 要不然取不到数据。这是增加cpu取值的

view all   included  .1       80   \\增加这一行,要用all 不能用systemview 要不然取不到数据。这是增加cpu取值的

view mib2  included .iso.org.dod.internet.mgmt.mib-2 fc        \\将这一行前面的#去掉

syslocation Unknown (edit/etc/snmp/snmpd.conf)

syscontact Root <root@localhost>(configure /etc/snmp/snmp.local.conf)

dontLogTCPWrappersConnects yes

[root@i-tcz0hdhc~]#

 

c. 开放防火墙允许snmp通信端口

[root@jedy ~]# iptables -A INPUT; -s IP地址 -p udp --dport 161 -jACCEPT

注意 一定要开udp的端口,以上一行可以写到 /etc/sysconfig/iptables 中 这样 每次开机后会自动启用的

d. 测试snmp

重启 snmp服务器

[root@jedy ~]#

[root@jedy ~]# services snmpd restrart

[root@jedy ~]#netstart -tlnp | grep 161 查看服务端口有没有起来


如果没有snmptranslate;snmpwalk命令,请安装net-snmp-utils 包

[root@jedy ~]# snmptranslate -To | head 如果取到部分oid 说明snmp工作正常 当然这个正常并不代表 cacti就能取到数据。还要进行下面的测试      
.1.3       
.1.3.6       
.1.3.6.1       
.1.3.6.1.1       
.1.3.6.1.2       
.1.3.6.1.2.1       
.1.3.6.1.2.1.1       
.1.3.6.1.2.1.1.1       
.1.3.6.1.2.1.1.2       
.1.3.6.1.2.1.1.3       
[root@jedy ~]#       
[root@jedy ~]# snmpwalk -v 1 -c test localhost 后将会输出很多信息 说明snmp工作没问题      
[root@jedy ~]# snmpwalk -v 1 -c test localhost .1.3.6.1.4.1.2021.11 如果有输出,说明能取到cpu值      
[root@jedy ~]# snmpwalk -v 1 -c test localhost .1.3.6.1.4.1.2021.10.1.3 如果有输出,说明能取到cpu值      
如果上面的测试输出为:End of MIB 说明不能取到cpu的值。

需要注意的是,虽然在snmpd.conf 中配置了cpu的取值,但在cacti的图表中,cpu usage 图表常常是没有曲线图的,但下面是有数值的,这是正常的,只是因为数值太小 没法绘图    

2、 Windows 客户端的安装配置

a. 检查软件安装

开始 → 运行 → services.msc   → SNMP server 或开始 → 控制面板 → 管理工具 → 服务  → SNMP server
如果没有SNMP server请自行安装windows组件中的网络管理中的snmp服务,安装后要重新打开服务。

SNMP server启动类型设为 自动

b. 开放防火墙允许snmp通信端口

防火墙开放udp 161端口,允许cacti服务器访问。具体设置略

 

c. snmp设置

增加社区名,比如我的是 public,权限只读

增加主机权限,比如我的是 192.168.10.112

保存退出

bubuko.com,布布扣

 

所有设置完成。


本文出自 “jedy 网络技术&linux学习” 博客,请务必保留此出处http://jedy82.blog.51cto.com/425872/1569689

Cacti 0.8.8b 安装配置(含snmp配置)

标签:cacti安装 snmp配置

原文地址:http://jedy82.blog.51cto.com/425872/1569689

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!