Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1198436
  • 博文数量: 253
  • 博客积分: 5892
  • 博客等级: 大校
  • 技术积分: 1942
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 14:20
文章分类

全部博文(253)

文章存档

2012年(98)

2011年(155)

分类: 系统运维

2011-10-26 16:56:22

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,用rrdtool生成图表呈现给用户。之前的文章简单的讲到了Cacti 监控

Linux的配置,以下就是Cacti 监控Linux具体的应用。

一、Cacti 监控Linux“Devices”选项中添加新主机

注意“Host Template”选择"squid sever"。就是导入进的那个.并注意填写以下内容:
SNMP Community = passwd
SNMP Version = 1
SNMP Port = 3401

二、Cacti 监控LinuxCacti"settings"里面的注意事项

poller页的"Downed Host Detection"选择 Ping, 不要选择带有snmp字样的会出错.
在你的设备主机的最下面会见到

WebCache - Squid Statistics - Core (Verbose Query) Uptime Goes Backwards Success [1 Item, 1 Row]
WebCache - Squid Statistics - Median Based (Verbose Query) Uptime Goes Backwards Success [3 Items, 3 Rows]

1.提示:"No SNMP data returned"
可以尝试改变这个设置

view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1

2.Cacti不能生成图象.
注意,主机设置中,一定是要活的。也就是讲icmp之类一定要能ping
.
也可以尝试禁用掉存活检查。

附:测试snmp抓取数据的方法:

测试普通数据:
snmpwalk -v 1 -c passwd  127.0.0.1:161 if
snmpwalk -v 2c -c passwd  127.0.0.1:161 if

测试squid数据:
snmpwalk -v 1 -c passwd  127.0.0.1:3401 1.3.6.1.4.1.3495.1
snmpwalk -v 2c -c passwd  127.0.0.1:3401 1.3.6.1.4.1.3495.1

三、Cacti 监控Linux增加Cacti插件的方法:
Cacti系统安装TholdMonitor等插件,注意下载时注意相应版本,版本不对会产生问题。

monitor
插件,提供更简略、直观的设备状态图示;thold插件,提供设备异常预警。
安装tholdmonitor插件:注意要先备份一下

1)、安装Plugin Architecture补丁,安装后,才能启用tholdmonitor插件
shell> tar zxvf Cacti-plugin-arch.tar.gz -C /var/www/Cacti
shell> cd /var/www/Cacti/
shell> patch -p1 -N < Cacti-plugin-arch/Cacti-plugin-0.8.7a-PA-v2.1.diff
shell> /opt/mysql/bin/mysql -u Cactiuser -p Cactidb < pa.sql

2)、安装tholdmonitor插件
shell> tar zxvf settings-0.5.tar.gz -C /var/www/Cacti/plugins
shell> tar zxvf thold-0.3.4.tar.gz -C /var/www/Cacti/plugins
shell> tar zxvf monitor-0.8.2.tar.gz -C /var/www/Cacti/plugins
shell> cd /var/www/Cacti/plugins/
shell> /opt/mysql/bin/mysql -u Cactiuser -p Cactidb < thold/thold.sql
shell> /opt/mysql/bin/mysql -u Cactiuser -p Cactidb < monitor/monitor.sql


3)、修改config.php配置文件
shell> vi /var/www/Cacti/include/config.php
$config['url_path'] = "/Cacti/";  //
改为Cacti对应于web目录下的路径,本处为Cacti
$plugins = array();
$plugins[] = thold;
$plugins[] = monitor;

4)、刷新Cacti系统的web管理界面,可以看到多出两个标签页(tholdmonitor)。

5)、使用monitor插件

1>打开“Console->Settings->Misc”,可以调整Monitor的各项配置。例如:勾选“Show Icon Legend”可以在监控页面显示图例;
“View”
可以选用Tiles类型,以显示设备状态表格。

2>Cacti添加新设备时,勾选上“Monitor Host”项。对已添加的设备可以通过“Management->Devices”进去修改。

3>单击Web页面上方的“monitor”标签链接,可以进入查看各设备/主机的状态图示。

(6)、使用thold插件
1>
打开“Console->Settings->Mail/DNS”,可以调整“SMTP Options”“DNS Options”等配置,用于确保预警邮件能够发出。
2>
打开“Console->Settings->Alerting/Thold”,可以调整Thold的各项配置。例如:“Dead Host Notifications Email”处可填写设备当机时发送警告信息到哪个邮箱;勾选

“Send alerts as text”项,可以设置只发送文本格式的邮件。
3>
打开“Templates->Threshold Templates”,可以添加、取出需要关联到预警系统的模板,例如:可以添加和“Interface-Traffic”模板的关联,选择“traffic_in”
“traffic_out”
数据项,分别设置警告阈值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的关联……
4>
打开“Create->New Graphs”,选择需要提供预警的设备,单击右侧上方的“Auto-create thresholds”创建预警项目。
5>
打开“Management->Thresholds”,可以管理已经创建的预警项目。

四、Cacti 监控Linux:Cacti监控硬盘I/O的方法:

Cacti本身的模板只可以监控硬盘的使用大小,而不能监控使用百分率,所以我们可以自定义cdef来监控硬盘使用率,并借助thold插件实现报警功能。网上找的资料都是在

Cacti.0.8.6版上实现的,而我用的是Cacti.0.8.7版。因此,根据实际情况做如下改动:
Cacti目录下,vi global_arrays.php

搜索custom_data_source_types,修改这一段如下:
$custom_data_source_types = array(
"CURRENT_DATA_SOURCE" => "Current Graph Item Data Source",
"ALL_DATA_SOURCES_NODUPS" => "All Data Sources (Don't Include Duplicates)",
"ALL_DATA_SOURCES_DUPS" => "All Data Sources (Include Duplicates)",
"SIMILAR_DATA_SOURCES_NODUPS" => "All Similar Data Sources (Don't Include Duplicates)",
"SIMILAR_DATA_SOURCES_DUPS" => "All Similar Data Sources (Include Duplicates)",
"CURRENT_DS_MINIMUM_VALUE" => "Current Data Source Item: Minimum Value",
"CURRENT_DS_MAXIMUM_VALUE" => "Current Data Source Item: Maximum Value",
"CURRENT_GRAPH_MINIMUM_VALUE" => "Graph: Lower Limit",

//添加以下两行
"CURRENT_GRAPH_MAXIMUM_VALUE" => "Graph: Upper Limit",
"VALUE_OF_HDD_TOTAL" => "Value of hdd_total data source");

//中文版汉化为:
"CURRENT_GRAPH_MAXIMUM_VALUE" => "
图像: 上限",
"VALUE_OF_HDD_TOTAL" => "
所有硬盘数据的值");

Cacti界面的Graph Management-cdefs新建cdef模块,名字自己起,添加字段如下:
Item #1 Special Data Source: CURRENT_DATA_SOURCE    
Item #2 Custom String: 100    
Item #3 Operator: *    
Item #4 Special Data Source: VALUE_OF_HDD_TOTAL    
Item #5 Operator:

也就是说
cdef=CURRENT_DATA_SOURCE,100,*,VALUE_OF_HDD_TOTAL,/
这样就可以在Threshold Templates里面添加监控硬盘的模块了,我添加的是Host MIB - Hard Drive Space ,最后在Threshold CDEF里面选择刚自定义的cdef,这样就可以正常

监控硬盘使用率了。

下面把使用方法摘录如下:
1. Copy net-snmp_devio.xml to /resource/snmp_queries/net-snmp_devio.xml
2. Import all *_templ.xml via Cacti "Import Templates" interface - These templates should include all their dependancies
3. Add "ucd/net - Get Device I/O" Data Query to your SNMP Enabled host using the "Index Count Changed" Re-index Method.
4. Create Graphs for your desired Disk and/or Memory devices.

Cacti 监控Linux总体注意事项:
1
)、很重要的一点:在Cacti的设备中一定要选择snmp的版本为>=2,否则会获取不到cpu和网卡等相关信息。
2
)、Cacti自带的local视图内存监控单位是错误的,可以删掉重新创建,就会改正。
3
)、系统监控中,cpu图标的 200m这类数字,表示的是 万分之多少,我的理解Cacti是为了方便显示画图。
4
)、权限问题:Cacti_path/rra log目录的权限一定要给Cacti的新用户,否则会出错:有图,但是没有数据。
阅读(1507) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~