RHEL5.2 cacti

转载自: [url]http://www.linuxtone.org/thread-535-1-1.html[/url]
作者:Xiajc
注: 使用RHEL5.2
一. 安装apache
./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=" proxy proxy_ http proxy_ftp proxy_connect headers"
make
make install

二.安装 mysql
//添加用于启动MySQL的用户及用户组
groupadd mysql
useradd mysql -g mysql

tar -xvzf mysql-5.0.51a- linux-i686.tar.gz
cp -rf mysql-5.0.51a-linux-i686 /usr/local/
//建立符号链接,如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后重新做一个符号链接就可以了。这样非常方便,数据也更加 安全
ln -s /usr/local/mysql-5.0.51a-linux-i686 /usr/local/mysql

//初始化授权表
scripts/mysql_install_db --user=mysql

//修改MySQl目录的所有权
chown -R mysql.mysql /usr/local/mysql-5.0.51a-linux-i686
chown -R mysql.mysql /usr/local/mysql

//启动Mysql
/usr/local/mysql/bin/safe_mysqld --user=mysql &

// 配置 系统启动时自动启动MySQl
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld

三 安装PHP

先安装zlib,freetype,libpng,jpeg以便于让PHP支持GD库(Cacti的WeatherMap 插件必须要较新GD库的支持)

// 下载需要的库
[url]http://oss.oetiker.ch/[/url] rrdtool/pub/libs/      freetype-2.3.5.tar.gz,libpng-1.2.18.tar.gz,zlib-1.2.3.tar.gz
[url]http://www.optix.org/~dxy/solaris/jpegsrc/[/url]         jpegsrc.v6b.tar.gz
[url]http://www.libgd.org/releases/[/url]            gd-2.0.35.tar.gz
[url]http://fontconfig.org/release/[/url]          fontconfig-2.6.0.tar.gz

1).安装zlib
tar zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install


2).安装libpng
tar zxvf libpng-1.2.18.tar.tar
cd libpng-1.2.18
cp scripts/makefile.linux ./makefile
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个


3).安装freetype
tar zxvf freetype-2.3.5 .tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make
make install


4).安装Jpeg
tar -zvxf jpegsrc-1.v6b.tar.gz
cd jpeg-6b/
mkdir /usr/local/libjpeg
mkdir /usr/local/libjpeg/include
mkdir /usr/local/libjpeg/bin
mkdir /usr/local/libjpeg/lib
mkdir /usr/local/libjpeg/man
mkdir /usr/local/libjpeg/man/man1

./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
make
make install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库


5).安装Fontconfig
tar -zxvf fontconfig-2.6.0.tar.gz
cd fontconfig-2.6.0
./configure --with-freetype-config=/usr/local/freetype/bin/freetype-config
make
make install


6).安装GD
tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/libgd --with-png --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg --with-jpeg=/usr/local/libjpeg --with-zlib-dir=/usr/local/zlib
make
make install

编译时显示以下信息:
** Configuration summary for gd 2.0.34:

Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: yes
Support for Xpm library: no
Support for pthreads: yes

make时出错
configure.ac:64: error: possibly undefined macro: AM_ICONV
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
需要安装以下的软件包
gettext-0.14.6-4.el5.i386.rpm
gettext-devel-0.14.6-4.el5.i386.rpm
分别在第2,3张光盘里


7).编辑/etc/ld.so.conf,添加以下几行到此 文件中。
/usr/local/zlib/lib
/usr/local/freetype/lib
/usr/local/libjpeg/lib
/usr/local/libgd/lib
并执行ldconfig 命令,使用动态装入器装载找到共享库

8).安装PHP

PHP下载地址: [url]http://www.[/url] php.net/downloads.php#v5

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/local/libgd --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr --with-zlib-dir=/usr/local/zlib --enable-xml --enable-mbstring --enable-sockets

对于使用rpm安装的mysql,不需指定--with-mysql=/usr/local/mysql,而应该为--with-mysql

对php编译选项的解释:
--prefix=/usr/local/php //指定PHP的安装目录
--with-apxs2=/usr/local/apache2/bin/apxs //支持 Apache模块
--with-mysql=/usr/local/mysql //支持MySQl
--with-gd=/usr/local/libgd //支持GD库
--enable-gd-native-ttf //激活对本地 TrueType 字符串函数的支持
--with-ttf //激活对 FreeType 1.x 的支持
--with-freetype-dir=/usr/local/freetype //激活对 FreeType 2.x 的支持
--with-jpeg-dir=/usr/local/libjpeg //激活对 jpeg-6b 的支持
--with-png-dir=/usr //激活对 png 的支持
--with-zlib-dir=/usr/local/zlib //激活对zlib 的支持
--enable-mbstring //激活mbstring模块
--enable-gd-jis-conv //使JIS-mapped可用,支持日文字体
--with-mail //支持Mail函数
--enable-xml //支持XML
--enable-sockets //支持套接字
make
make test (6)
make install

cp php.ini-recommended /usr/local/php/lib/php.ini
ln �Cs /usr/local/php/bin/* /usr/local/bin/

vi /usr/local/apache/conf/httpd.conf
查找AddType application/x-compress .Z
在其下加入
AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico

修改DirectoryIndex 行,添加index.php

# vi /usr/local/apache/htdocs/test.php

添加以下行:

//php标记(用<代替[)

<?php

Phpinfo();

?>

wq保存退出。

测试: [url]http://ip/etst.php[/url] 出现php版本相关信息,则表示OK

四 安装RRDTool

由于rrdtool需要一些库文件支持,在安装php之前已经安装了一部分,还需要安装libart_lgpl-2.3.17.tar.gz,cgilib-0.5.tar.gz

安装 cgilib-0.5.tar.gz
make

1.安装 libart_lgpl-2.3.17.tar.gz
./configure
make
make install

2.安装RRDTool
cp /usr/local/freetype/lib/pkgconfig/freetype2.pc /usr/lib/pkgconfig/
ln -s /usr/local/include/libart-2.0 /usr/include
cp /usr/local/freetype/lib/libfreetype.* /usr/lib

./configure --disable- python --disable-tcl
make
make install

ln -s /usr/local/rrdtool-1.2.27/bin/* /usr/local/bin/

//执行rrdtool看是否安装正确



3.安装net-snmp
因为RedHat默认安装的SNMP服务,没有snmpwalk,snmpget这两个命令,所以需要编译安装NET-SNMP。
注:也可以通过安装net-snmp-utils,这个包来解决。
注:还有一种说法:(我这里说的安装SNMP服务并不是要求安装SNMPD,其实是Cacti需要用到net-snmp中的两个命令�D�Dsnmpwalk和snmpget进行数据的采集。
我们可以直接在系统中运行snmpwalk和snmpget看是否有该命令,如果有则不用安装了)
我是使用编译安装的。
NET-SNMP官方网站: [url]http://www.net-snmp.org/[/url]

./configure --prefix=/usr/local/net-snmp --enable-developer
安装过程中它会问你默认版本、用户名、 perl模块和路径之类的 问题,不理,一路回车。
make
make install


ln �Cs /usr/local/net-snmp/bin/* /usr/local/bin/
cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

/usr/local/net-snmp/sbin/snmpd //启动SNMP服务
//在rc.local上加入一行/usr/local/net-snmp/sbin/snmpd,系统启动时启动SNMP服务

SNMP客户端配置
编译安装:/usr/local/net-snmp/share/snmp/snmpd.conf
rpm安装:/etc/snmp/snmpd.conf
更改 com2sec notConfigUser default public
改为 com2sec notConfigUser 192.168.7.244 public #注 192.168.7.244 是安装 cacti服务器IP,指定只有这IP才能获取本机的SNMP信息 提高安全性
更改 access notConfigGroup "" any noauth exact systemview none none
改为 access notConfigGroup "" any noauth exact all none none
将 #view all included .1 80 前面的 # 注释去掉


4.安装Cacti
Cacti官方网站: [url]www.cacti.net/[/url]
tar �Czxvf cacti-0.8.7b.tar.gz
mv cacti-0.8.7b /usr/local/apache/htdocs/cacti

vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";


//添加cacti用户
useradd cacti
//修改cacti目录所属组
chown -R cacti.cacti /usr/local/apache/htdocs/cacti

//为cacti用户添加cron任务
su - cacti
crontab -e

*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。



5.安装Cactid (已改名为spine)

[url]http://www.cacti.net/spine_download.php[/url]

CACTID 的安装需要以下支持:
net-snmp-devel (需要编译安装net-snmp时添加--enable-developer选项)
mysql
mysql-devel (mysql源文件编译安装后默认支持)
openssl-devel (Redhat默认安装)

tar -zxvf cacti-cactid-0.8.6i.tar.gz
cd cacti-cactid-0.8.6i
./configure --with-mysql=/usr/local/mysql --with-snmp=/usr/local/net-snmp
对于使用rpm安装的mysql,使用--with-mysql
make
//这时你将在此目录下看到多出了spine、spine.conf两个文件
make install

cp spine spine.conf /usr/local/spine
vi /usr/local/spine/spine.conf //修改spine配置文件
DB_Host 127.0.0.1
DB_Database cacti
DB_User cacti
DB_Pass cacti

使用spine,(1)登陆console--Configuration--Settings--poller--Poller Type改为spine
   (2)登陆console--Configuration--Settings--paths--Spine Poller File Path添加/usr/local/spine/spine

6.数据库配置

#mysql -uroot -p

Password: (初始密码为空)

mysql> create database cacti;

Query OK, 1 row affected (0.00 sec)


mysql> grant all on cacti.* to cacti@localhost identified by "cacti";

Query OK, 1 row affected (0.00 sec)


mysql>exit

# cd /opt/apache/htdocs/cacti

# mysql -uroot -p cacti <cacti.sql

Password:


7.完成cacti的安装

1).在浏览器中输入:[url]http://ip/cacti/[/url]

默认用户名:admin 密码:admin

2).更改密码

3).设置cacti用到的命令路径

snmpwalk Binary Path /usr/local/ bin/snmpwalk
snmpget Binary Path /usr/local/ bin/snmpget
RRDTool Binary Path /usr/local/ bin/rrdtool
PHP Binary Path /usr/local/bin/php
Cacti Log File Path /opt/apache/htdocs/cacti/ log/cacti.log
Cactid Poller File Path /usr/local/spain/spain


关于cacti的使用可以看看这篇文章
[url]http://blog.sina.com.cn/s/blog_4e424e2101000b6o.html[/url]

关于错误
不出图,由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不能显示的现象,需要等几分钟查看才会正常显示。

装完cacti后经常会预览不到图片,然而点击进去该空白图进去却是能正常显示的,原因在于cacti的设置问题,因为默认cacti是用rrdtool 1.0版本的,而我们安装的时候是用了rrdtool 1.2版,故需要作如下设置:

console->setting->General->RRDTool Utility Version 这里选择RRDTool 1.2.x显示即可正常


使用:需要为每个设备建立要 监控的Data sources和 Graph
1、 cacti的流程是从Data Input Methods开始,创建一个信息采集的方法先,里面定义了采集的方法和采集需要的脚本(注意:如果使用CACTID最好使用可执行文件的全路径),可以定义一个输入和输出。输入可以为你执行这个脚本带入参数,比如连接数据库的参数,这样只要设置这个参数就可以连上不同的数据库了。输出是信息采集的输入结果,以列名+冒号+采集结果的形式返回。
2、然后是数据模版,里面需要选择Data Input Methods,如果数据输入方法中有参数的,这里可以设置参数,也可以选择忽略这个设置,然后到最后配置图形的时候再输入特定的参数。
3、创建图形模版,里面需要定义图形的ITEM,可以使用AREA方式先画一个框,然后把其他值以STACK的方式往前面的AREA上面累加。也可以使用 GPRINT方式在最下面的备注那里输出些信息(一般是输入最后采集时候的值)。这里可以定义CDEF function,这个函数可以把你显示的ITEM进行转换,比如把8k转换成8192字节等,这个函数可以自定义的(可以参考Graph Management中的CDEFs中的定义来进行自定义)。
4、创建DATASOURCE,然后创建GRAPH。
最后可以把他们放到一个TREE上


FAQ
更多见
[url]http://bbs.chinaunix.net/viewthread.php?tid=648262[/url]
[url]http://www.joecen.com/article/cacti/monitor_with_cacti_1/[/url] 强烈推荐好好看看这个



cacti的data sources和Graph Management均有debug。

有关snmp
1 netsnmp_assert !"registration != duplicate" failed agent_registry.c:535 netsnmp_subtree_load(),
这个错误不影响使用,我在使用编译安装net-snmp时出现的这个错误,是因为我更改了com2sec local localhost COMMUNITY为com2sec rhel52 192.168.7.242 public,但是下面的group却没有做相应的修改,修改正确后就不会出现这个错误了。

2 当监控其他服务器时,可以使用下面的命令测试服务器的snmp是否正常。

snmpwalk -v 2c -c public 192.168.0.1 if
该命令表示,使用SNMPV2c版本和community 名称 “public”,取服务器(192.168.0.1)的所有interface(网卡)的信息。
如果192.168.0.1的SNMP服务正常,则会返回服务器或交换设备的网卡信息。如果返回错误信息,请检查你的SNMP配置或网络是否正常。

snmpwalk -v 2c -c public 192.168.7.242 cpu
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 870

snmpwalk -v 2c -c public 192.168.7.242 memory
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 819192 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 819136 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 271660 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 4864 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 824000 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memShared.0 = INTEGER: 0 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 8960 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 226580 kB
UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:

说明snmp没问题

有关cpu的user值为nan的解决办法
原因: this server uses multiple Xeon CPUs and maybe the value is too high because it reflects the values of not only one CPU but 2 or more. ,that a dual cpu machine can have a load up to 200% - which will break the graphing。
解决:You may be correct. Check MAXIMUM values of the corresponding data source of the Data Template. If you plan to change this, remember that existing rrd files must be rrdtool tuned for this, too。

The commands I u sed, in case anyone is stuck: Code:

rrdtool tune HOST_cpu_nice_46.rrd --maximum cpu_nice:200
rrdtool tune HOST_cpu_system_47.rrd --maximum cpu_system:200
rrdtool tune HOST_cpu_user_48.rrd --maximum cpu_user:200

问题解决,相关: [url]http://forums.cacti.net/post-61630.html[/url]


关于现使用Cacti对网关服务器监控,发现CPU监控的结果有时显示为占用主频,有时显示为百分比形式,在Graph Template中的ucd/net CPU usage 可以选择
GPRINT Type----选择:Percent




一、全局:
1、什么是CACTI?它有什么用?
2、cacti的官方网站在哪里?
3、在哪里下载?
4、怎么安装它呢?
5、使用cacti需要什么知识?
6、找不到snmpwalk和snmpget命令?

二、使用:
1、为什么图像不能显示?
2、为什么rra目录下什么都没有?
3、为什么能取到流量的数据但取不到CPU和 内存的数据?
4、可以取到本机(linux)的数据,但却不能取到远程主机的数据?
5、我以前用MRTG进行流量的监测,是否可以将MRTG中的数据导入到Cacti中呢?
6、为什么我的流量达到100M以上图像就不准呢?
7、09/02/2005 02:59:58 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting,什么意思?
8、怎么备份Cacti和它的数据呀?
9、如何将数据合并?如何自定义脚本?
10、使用monitor、threshld插件
11、为什么月、年的流量图下面的字母乱码?
12、cacti是否支持中文?
13、新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”?



一、全局:

1、什么是CACTI?它有什么用?
cacti是一套PHP程序,它运用snmpget采集数据,使用rrdtool绘图。使用Cacti能统计网络设备的

流量、CPU、系统负载等参数,也可以自定义监测的指标。

2、cacti的官方网站在哪里?
[url]http://www.cacti.net[/url]

3、在哪里下载?
[url]http://www.cacti.net/download_cacti.php[/url]

4、怎么安装它呢?
官方的安装 文档: [url]http://www.cacti.net/documentation.php[/url]
我写的安装文档: [url]http://bbs.chinaunix.net/viewthread.php?tid=594019[/url]

5、使用cacti需要什么知识?
需要具有一定的使用net-snmp和rrdtool的知识。
如果要自定义监测的指标还需要一定的 shell脚本或xml语言能力。如果你想帮助cacti的开发,则

需要通晓php脚本。

6、找不到snmpwalk和snmpget命令?
请安装新的net-snmp包或打net-snmp-utils 包。

二、使用:

1、为什么图像不能显示?
先确定你的IP地址、snmp comunite、snmp version等信息配置没有错误。

如果是在linux下安装cacti的话,可以按以下步骤检测:
1.1、cacti的data sources和Graph Management均有debug。看是否有错误,比如rrd文件找不到等。

1.2、data sources里看rrd文件的名称,然后到/cacti/rra目录中看是否有该文件存在。

1.3、如果有rrd文件存在,则可以使用


rrdtool fetch yourRRDfile.rrd AVERAGE

命令,看该文件的采集的数据,如果都是“nan”,那就是没有取到数据。

1.4、有可能是snmpget、snmpwalk和rrdtool的路径错误。
1.5、排除错误后,需要重新建立该监测点(graph)。

提示:每一个图像的文件均会保存为rra目录里的一个rrd为后缀的文件(可以在“Data Sources”中看到)

。“Data Sources”和“Graph Management”中均可以进行debug,可以从debug中得出错误信息。

2、为什么rra目录下什么都没有?
2.1、请查看该目录的权限。该目录的权限应为cactiuser可以读写。

2.2、如果目录的权限没有问题,那么可能是snmp的设置有问题,请手工测试一下:


snmpwalk -v 2c -c public yourIP if

如果有数据返回,则snmp的数据没有问题。如果出现“Timeout: No Response from ...”之类的

错误信息则是snmp设置的问题。

2.3、也可能是snmpwalk、snmpget和rrdtool的路径没有设置好在Settings-》Paths中检查设置是否正确。

修改后请重建该监测点!否则不生效。


3、为什么能取到流量的数据但取不到CPU和内存的数据?
应该是snmp权限的设置问题。可以用snmpwalk手工测试一下。
如果要取CPU等数据,需要修改net-snmp的配置。如何修改请看:
[url]http://bbs.chinaunix.net/viewthread.php?tid=594019[/url]的4楼。


4、可以取到本机(linux)的数据,但却不能取到远程主机的数据?
Cacti有很多模板,有的是用SNMP进行数据采集,有的是用shell脚本进行采集。如果没有特别的原因建议都使用SNMP的。
Associated Graph Templates
前面带“ucd/net”的就是能使用ucd-snmp和net-snmp的模板。如:ucd/net - CPU Usage
Associated Data Queries
前面带SNMP的就是能使用snmp的。如:SNMP - Interface Statistics

当然,你还可以从 [url]www.cacti.net[/url]上找到新的模板或添加自己的模板。


5、我以前用MRTG进行流量的监测,是否可以将MRTG中的数据导入到Cacti中呢?
当然可以!因为我就是这样做的。
请看: [url]http://bbs.chinaunix.net/viewthread.php?tid=595090[/url]


6、为什么我的流量达到100M以上图像就不准呢?
这与snmp的版本有关,snmp1的数据是32位而snmp2c以上是64位。
首先要确定你使用的是snmp2c或以上(现在的网络设备一般都支持)。
然后点击Cacti的页面:“Console ->; Create New Graphs ->;Data Query”。你在下面看到
“Select a graph type:”的下拉菜单(默认是“In/Out bits”),要取64bits的数据所以将其改为
“In/Out bits(64-bit Counters)”,然后选择你要监测的网卡即可。
另外,该监测点的“Maximum Value”必须设置为100M以上。

如果是Linux主机要监测100M以上的流量(一般不会发生),需要带“--enable-mfd- rewrites”参数重新编译最新的net-snmp。


7、09/02/2005 02:59:58 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting,什么意思?
应该是你的监测点设置太多,导致cacti通过snmpget取完所有数据的时间超过300秒。
Cacti的作者一早就考虑到这问题,所以在cacti中有两种解决方法:

7.1、将POLLER更改为cactid。
默认的POLLER是cmd.php,而cactid是使用C写的程序,效率会比cmd.php高几倍!
注意,虽然POLLER的选项中有cactid的选择,但cactid默认并没有安装,所以即使你选择了它也不会生效的。
你可以从这里( [url]http://www.cacti.net/cactid_download.php[/url])下载cactid的源码或rpm(bin)文件进行安装。然后在PATH中指定cactid的路径即可。

7.2、在POLLER的设置中加大cmd.php的进程数,即同时运行多个cmd.php进行数据的采集。但这样的话会加重你的系统负载。
如果你的机器 性能太差,建议还是改用cactid为好。

PS:当磁盘空间满的时候会出现这个问题,原因是磁盘空间慢导致snmpget的时间变长。


8、怎么备份Cacti和它的数据呀?
只需要备份rra目录和数据库就可以了。你喜欢也可以将log目录一起备份。
如果你自己添加了一些插件的话记得也拷过去。


9、如何将数据合并?如何自定义脚本?
请看: [url]http://bbs.chinaunix.net/viewthread.php?tid=631801[/url]


10、使用monitor、threshld插件
请看: [url]http://bbs.chinaunix.net/viewthread.php?tid=631801[/url]
的四楼。


11、为什么月、年的流量图下面的字母乱码?
回答by萧筱筱:

是由于rrdtool不支持中文导致的。我的情况更为严重,当图中出现中文时,rrdtool graph的时候索性就segment fault掉了。

因为中文环境下的日期显示会缺省的把星期和月显示成中文,以致于你的图上由于无法显示中文而出现乱码。

解决的办法有2种思路,一种就是让rrdtool显示英文的日期,一种就是让rrdtool支持中文。两种方法都牵涉到修改rrdtool的源代码。我采取的是第一种思路,让rrdtool不要去读中文环境的语言环境 变量,强制让它用英文。

我是在编译rrdtool1.2时把src/rrd_graph.c文件中的这段内容改掉:

setlocale(LC_TIME,"");
改成
setlocale(LC_ALL,"en_US.ISO-8859-1");

然后再编译。这样就好了。如果还不行,你就把你的环境变量里的语言环境都改成英文:
export LC_ALL=en_US
export LANG=en_US
export LANGUAGE=en_US
export LC_CTYPE=en_US
export LC_TIME=en_US

或者,你就索性根据abel老大的方法让rrdtool支持中文吧。
[url]http://bbs.chinaunix.net/viewthr[/url] ... p;extra=&page=1


12、cacti是否支持中文?
cacti默认在某些页面不能正常显示中文,rrdtool默认也不可以显示中文。
如果真的需要使用中文,请参考下面连接。
[url]http://bbs.chinaunix.net/viewthread.php?tid=631801[/url]


13、新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”?

请先确认你的snmpd.conf中的权限设置,是否允许cacti取这些OID的数据。可以使用snmpwalk命令来进行测试,比如:

[Copy to clipboard] [ - ]
CODE:
snmpwalk -c community -v 2c hostIP if

如果你的snmpd.conf设置没有问题,那可能是下面这种情况:
旧版本的snmpwalk(比如redhat默认安装的5.0.6)缺少一些参数,比如-O中的"U"参数.(可以用snmpwalk --help来查看是否有该参数)。
而cacti-0.86g或以上版本需要这些参数,解决办法是安装一个新的net-snmp包(如:net-snmp5.2.1),从而得到一个新snmpwalk的版本。

你可能感兴趣的:(监控,RHEL,cacti,休闲,流量)