Cacti spine 支持中文

本文详细介绍了如何配置Cacti的spine绘图器以支持中文,包括Cacti的工作流程、软件下载、安装net-snmp、创建数据库、安装Cacti、配置spine、安装rrdtool并支持中文字符,以及收尾工作,确保Cacti能正确显示中文设备名和图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.描述

   Cacti就是rrdtool的一个forefront,它内置了快速的获数据取工具、优秀的绘图模板以及许多设计精良的数据获取脚本,从而可以 通过结合rrdtool强大的数据抓取、数据存储和绘图功能,轻松实现主机负载、网络流量等信息的走势图的绘制。目前其最新的软件版本是0.8.7g。

   关于cacti的绘图器有两种选择,一种是cmd.php和spine,spine是一个基于C语言的,非常快速的轮询引擎。使用 spine 比 使用 cmd.php  效率高,特别是在当 cmd.php 执行接近或超过 300 秒的时候。cmd.php采集存在大的延迟,从添加设备到up,spine通常不到一分钟,而cmd.php等的时间较长,超过10分钟。当设备down 后 2分钟之内spine可以发出alert,而cmd.php可能需要10分钟以上。

 NET-SNMP是一種开放源代码简单网络管理协议


二:cacti 前期准备

1.       Cacti 工作流程结构

2.       软件下载

Cacti 相关软件列表

cacti-spine-0.8.7g.tar.gz

 http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz

ttfonts-zh_CN-2.14-6.noarch.rpm

ftp://ftp.sunet.se/pub/Linux/distributions/centos/4.8/os/s390x/CentOS/RPMS/ttfonts-zh_CN-2.14-6.noarch.rpm

rrdtool-1.2.13.tar.gz

http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.13.tar.gz

net-snmp-5.3.1

  ftp://ftp.kr.freebsd.org/pub/FreeBSD/ports/distfiles/net-snmp-5.3.1.tar.gz

(我是yum的)

cacti 0.8.7b   

http://www.cacti.net/downloads/ (英文版,这里可以不下载,字体根据自己喜好来设置吧)

PHP 版本 5.1.6

Apache/2.2.3

中文汉化 http://cactiusers.org/ cactiez

cacti-0.8.7b-cn-utf8.tar.gz  

http://blogimg.chinaunix.net/blog/upfile2/080822131849.gz

cacti-plugin-0.8.7b-PA-v2.1-cn-utf8.diff.gz

http://blogimg.chinaunix.net/blog/upfile2/080822131839.gz

补充:因为cacti 需要http 提供服务,当你的服务器运行多种服务时,注意端口的占用。

当无法修改apache的端口时,可以用stenforce 0 关闭selinux。

三:安装

1 . 安装net-snmp

rpm -qa | grep net-snmp

net-snmp-perl-5.3.2.2-9.el5_5.1

net-snmp-libs-5.3.2.2-9.el5_5.1

net-snmp-5.3.2.2-9.el5_5.1

net-snmp-devel-5.3.2.2-9.el5_5.1

net-snmp-utils-5.3.2.2-9.el5_5.1

2.创建cacti数据库

mysql –u root –p

mysql>create database cacti default character set utf8;

mysql>grant all on cacti.* to cacti@localhost IDENTIFIED BY 'cacti';

mysql>flush privileges;

mysql> quit

3.       安装cacti

cacti-0.8.7b-cn-utf8.tar.gz

tar –zxvf cacti-0.8.7b-cn-utf8.tar.gz

将解压的目录放到你http的目录

mv cacti-0.8.7b-cn-utf8 /var/www/html/cacti

cd /var/www/html/cacti

修改连接数据库文件

vi include/config.php

$database_type = "mysql";

$database_default = "cacti"; #你建的数据库

$database_hostname = "localhost"; #主机一般不要改

$database_username = "cacti";#cacti 数据库用户

$database_password = "cacti";#密码

$database_port = "3306";# 端口一般不要修改

导入数据信息

pwd

/var/www/html/cacti

mysql -u cacti -p cacti < cacti.sql

4.       安装cacti的spine 绘图器

tar –xzf cacti-spine-0.8.7g.tar.gz

cd cacti-spine-0.8.7g

打补丁:

wget http://www.cacti.net/downloads/spine/patches/0.8.7g/unified_issues.patch

patch -p1 -N < unified_issues.patch

执行以下步骤安装

cacti]# aclocal

cacti]# libtoolize --force

Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'

Putting files in AC_CONFIG_AUX_DIR, `config'.

cacti]#  autoconf

cacti]#  autoheader

cacti]# automake

cacti]#./configure

cacti]#  ./configure --prefix=/home/cacti/apps/spine

cacti]# make

cacti]# make install

3、安装后,要对配置文件进行修改

spine]#cp ./etc/spine.conf.dist ./spine.conf 建立spine的配置文件

cacti]#  vim /home/cacti/apps/spine/etc/spine.conf

DB_Host         localhost

DB_Database     cacti

DB_User         cacti

DB_Pass         cacti

DB_Port         3306

将spine.conf 拷贝到/etc/ 下

/usr/local/spine/bin/spine  #默认读取/etc/spine.conf 文件

SPINE: Using spine config file [/etc/spine.conf]

SPINE: Version 0.8.7g starting

SPINE: Time: 0.3692 s, Threads: 1, Hosts: 2 [root@mycentos52

添加自动化采集任务

*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php  > /dev/null 2>&1

如果不能出图,多手动运行几次

显示上边为正确,错误会提示你

4         安装rrdtool 支持中文

Yum 安装也可以

ftp://rpmfind.net/linux/fedora/updates/9/i386.newkey/rrdtool-1.3.4-2.fc9.i386.rpm
#rpm -ivh rrdtool-1.3.4-2.fc9.i386.rpm #但我没试过呢

因为很多cacti 支持中文,但rrdtool绘图生成的图表里边的设备名不支持中文

如:

这种情况。

此时其他的页面都是中文的,你在怎么修改页面、系统支持中文这里也不会改变,持有让rrdtool支持中文才可以。

首先查看系统支持的字符集有哪些

locale –a

xh_ZA.utf8

yi_US

yi_US.cp1255

yi_US.utf8

zh_CN

zh_CN.gb18030

zh_CN.gb2312

zh_CN.gbk

zh_CN.utf8

zh_HK

zh_HK.big5hkscs

zh_HK.utf8

zh_SG

zh_SG.gb2312

zh_SG.gbk

zh_SG.utf8

zh_TW

zh_TW.big5

zh_TW.euctw

zh_TW.utf8

zu_ZA

zu_ZA.iso88591

zu_ZA.utf8

红色部分说明支持中文,这个很重要,否则rrdtool 不能生成中文字符

安装yum install ruby        //安装ruby的语言支持环境,编译rrdtool时需要;不安装,编译也可以通过,最好是安装进去

安装字符集

下载地址:

ftp://ftp.sunet.se/pub/Linux/distributions/centos/4.8/os/s390x/CentOS/RPMS/ttfonts-zh_CN-2.14-6.noarch.rpm

rpm –ivh ttfonts-zh_CN-2.14-6.noarch.rpm

安装完成后会在/usr/share/fonts/ 下面生成一个zh_CN的目录

里边的文件有:

fonts.dir  fonts.scale  gbsn00lp.ttf  gkai00mp.ttf  zysong.ttf

红色部分是支持中文的字符集,自己可以找喜欢的设置

修改 i18n支持中文字符

sed -i -e 's/^LANG=.*/LANG="zh_CN.GB18030"/'   /etc/sysconfig/i18n

下面修改rrdtool 源码文件,让它编译的时候支持中文字符

vi /opt/cacti/rrdtool-1.2.13/src/rrd_graph.c (此为源码包的路径)

删除rrd_graph.c文件中以下两行:

setlocale(LC_TIME,"");

setlocale(LC_CTYPE,"");

在原来setlocale(LC_CTYPE,"")的位置增加以下内容

setlocale(LC_ALL,"zh_CN.gb2312");

补充:1.有些人喜欢注释掉,其实这又是会出错,编译不能进行,最好删掉

      2.有很多人将setlocale(LC_ALL,"zh_CN.gb2312"); 换成zh_CN.UTF-8,也是可以的,这就需要你系统支持那些字符了,第一种不行可以使用第二种。

编译安装rrdtool

./configure –prefix=/usr/local/rrdtool

Make && make install

安装完成(需要cacti 安装完后才能添加路径)

:修改Cacti的rrdtool设置,使其支持中文设备名和图片中输出中文

1)登陆Cacti,在主页的左边点击setting,选择paths页 (console>>setting>>paths)

将RRDTool Binary Path修改为:/usr/local/rrdtool/bin/rrdtool

还需要修改rrdtool的字体设置。

2)登陆Cacti,在主页的左边点击setting,选择paths页 (console>>setting>>paths)

将RRDTool Default Font Path修改为:/usr/share/fonts/zh_CN/TrueType/gkai00mp.ttf

点击save。

 

5        收尾工作

1.       修改apache 默认支持关闭gb2312

如:

#AddDefaultCharset UTF-8

AddDefaultCharset  GB2312

2.       设置防火墙,开放80

Iptables –A INPUT -m state --state NEW -m tcp -p tcp --dport 80 –j ACCEPT

 访问:http://ip/cacti

 3  .进行安装

  1第一次登陆默认用户名和密码都是admin

  2路径设置



3.常规设置


 

这两个地方很重要,一定要写对,否则会报告错误。

4轮询器的设置

记住选择spine

来张效果图

6 错误收集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值