做者: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 –s /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 p_w_picpath/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中的两个命令――snmpwalk和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 –s /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 –zxvf 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
一、 cacti的流程是从Data Input Methods开始,建立一个信息采集的方法先,里面定义了采集的方法和采集须要的脚本(注意:若是使用CACTID最好使用可执行文件的全路径),能够定义一个输入和输出。输入能够为你执行这个脚本带入参数,好比链接数据库的参数,这样只要设置这个参数就能够连上不一样的数据库了。输出是信息采集的输入结果,以列名+冒号+采集结果的形式返回。
二、而后是数据模版,里面须要选择Data Input Methods,若是数据输入方法中有参数的,这里能够设置参数,也能够选择忽略这个设置,而后到最后配置图形的时候再输入特定的参数。
三、建立图形模版,里面须要定义图形的ITEM,可使用AREA方式先画一个框,而后把其余值以STACK的方式往前面的AREA上面累加。也可使用 GPRINT方式在最下面的备注那里输出些信息(通常是输入最后采集时候的值)。这里能够定义CDEF function,这个函数能够把你显示的ITEM进行转换,好比把8k转换成8192字节等,这个函数能够自定义的(能够参考Graph Management中的CDEFs中的定义来进行自定义)。
四、建立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?它有什么用?
二、cacti的官方网站在哪里?
三、在哪里下载?
四、怎么安装它呢?
五、使用cacti须要什么知识?
六、找不到snmpwalk和snmpget命令?
2、使用:
一、为何图像不能显示?
二、为何rra目录下什么都没有?
三、为何能取到流量的数据但取不到CPU和
内存的数据?
四、能够取到本机(linux)的数据,但却不能取到远程主机的数据?
五、我之前用MRTG进行流量的监测,是否能够将MRTG中的数据导入到Cacti中呢?
六、为何个人流量达到100M以上图像就不许呢?
七、09/02/2005 02:59:58 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting,什么意思?
八、怎么备份Cacti和它的数据呀?
九、如何将数据合并?如何自定义脚本?
十、使用monitor、threshld插件
十一、为何月、年的流量图下面的字母乱码?
十二、cacti是否支持中文?
1三、新建的device的Data Query里面的状态老是“ Success [0 Items, 0 Rows]”?
1、全局:
一、什么是CACTI?它有什么用?
cacti是一套PHP程序,它运用snmpget采集数据,使用rrdtool绘图。使用Cacti能统计网络设备的
流量、CPU、系统负载等参数,也能够自定义监测的指标。
二、cacti的官方网站在哪里?
[url]http://www.cacti.net[/url]
三、在哪里下载?
[url]http://www.cacti.net/download_cacti.php[/url]
四、怎么安装它呢?
官方的安装
文档:
[url]http://www.cacti.net/documentation.php[/url]
我写的安装文档:
[url]http://bbs.chinaunix.net/viewthread.php?tid=594019[/url]
五、使用cacti须要什么知识?
须要具备必定的使用net-snmp和rrdtool的知识。
若是要自定义监测的指标还须要必定的
shell脚本或xml语言能力。若是你想帮助cacti的开发,则
须要通晓php脚本。
六、找不到snmpwalk和snmpget命令?
请安装新的net-snmp包或打net-snmp-utils 包。
2、使用:
一、为何图像不能显示?
先肯定你的IP地址、snmp comunite、snmp version等信息配置没有错误。
若是是在linux下安装cacti的话,能够按如下步骤检测:
1.一、cacti的data sources和Graph Management均有debug。看是否有错误,好比rrd文件找不到等。
1.二、data sources里看rrd文件的名称,而后到/cacti/rra目录中看是否有该文件存在。
1.三、若是有rrd文件存在,则可使用
rrdtool fetch yourRRDfile.rrd AVERAGE
命令,看该文件的采集的数据,若是都是“nan”,那就是没有取到数据。
1.四、有多是snmpget、snmpwalk和rrdtool的路径错误。
1.五、排除错误后,须要从新创建该监测点(graph)。
提示:每个图像的文件均会保存为rra目录里的一个rrd为后缀的文件(能够在“Data Sources”中看到)
。“Data Sources”和“Graph Management”中都可以进行debug,能够从debug中得出错误信息。
二、为何rra目录下什么都没有?
2.一、请查看该目录的权限。该目录的权限应为cactiuser能够读写。
2.二、若是目录的权限没有问题,那么多是snmp的设置有问题,请手工测试一下:
snmpwalk -v 2c -c public yourIP if
若是有数据返回,则snmp的数据没有问题。若是出现“Timeout: No Response from ...”之类的
错误信息则是snmp设置的问题。
2.三、也多是snmpwalk、snmpget和rrdtool的路径没有设置好在Settings-》Paths中检查设置是否正确。
修改后请重建该监测点!不然不生效。
三、为何能取到流量的数据但取不到CPU和内存的数据?
应该是snmp权限的设置问题。能够用snmpwalk手工测试一下。
若是要取CPU等数据,须要修改net-snmp的配置。如何修改请看:
[url]http://bbs.chinaunix.net/viewthread.php?tid=594019[/url]的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]上找到新的模板或添加本身的模板。
五、我之前用MRTG进行流量的监测,是否能够将MRTG中的数据导入到Cacti中呢?
固然能够!由于我就是这样作的。
请看:
[url]http://bbs.chinaunix.net/viewthread.php?tid=595090[/url]
六、为何个人流量达到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。
七、09/02/2005 02:59:58 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting,什么意思?
应该是你的监测点设置太多,致使cacti经过snmpget取完全部数据的时间超过300秒。
Cacti的做者一早就考虑到这问题,因此在cacti中有两种解决方法:
7.一、将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.二、在POLLER的设置中加大cmd.php的进程数,即同时运行多个cmd.php进行数据的采集。但这样的话会加剧你的系统负载。
若是你的机器
性能太差,建议仍是改用cactid为好。
PS:当磁盘空间满的时候会出现这个问题,缘由是磁盘空间慢致使snmpget的时间变长。
八、怎么备份Cacti和它的数据呀?
只须要备份rra目录和数据库就能够了。你喜欢也能够将log目录一块儿备份。
若是你本身添加了一些插件的话记得也拷过去。
九、如何将数据合并?如何自定义脚本?
请看:
[url]http://bbs.chinaunix.net/viewthread.php?tid=631801[/url]
十、使用monitor、threshld插件
请看:
[url]http://bbs.chinaunix.net/viewthread.php?tid=631801[/url]
的四楼。
十一、为何月、年的流量图下面的字母乱码?
回答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
十二、cacti是否支持中文?
cacti默认在某些页面不能正常显示中文,rrdtool默认也不能够显示中文。
若是真的须要使用中文,请参考下面链接。
[url]http://bbs.chinaunix.net/viewthread.php?tid=631801[/url] 1三、新建的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的版本。