Cacti
监控软件详细配置
——及功能介绍
目录
一、环境需求... 2
1.1 操作系统:... 2
1.2 需要的数据包... 2
一、编译安装... 3
2.1 mysql-5.0.46.tar.gz. 3
2.2 编译安装apache. 4
三、环境登录测试... 15
3.1 首次安装cacti. 15
3.2 登陆界面... 15
3.3 进入系统... 15
3.4 系统详细功能介绍... 16
3.4.1 Console 控制台... 16
3.4.2 graphs 图型直观图... 16
3.4.3要创建设备在图上所示... 17
3.4.4 管理工具... 17
3.4.5收集方法... 17
3.4.6模板库... 18
3.4.7 导入额外的莫板块,实现插件监控和别的功能... 19
3.4.8 系统配置... 20
3.4.9 公用配置... 21
四、额外增加插件监控... 22
4.1 脚本下载,编译... 22
4.2 模板导入... 22
4.3 创建监控Mysql需要的账户以及权限... 22
4.4 添加设备... 23
4.5 脚本下载及设置... 24
4.6 创建监控Mysql需要的账户以及权限... 25
4.7 模板导入... 25
4.8 添加设备... 25
五、故障排查... 27
5.1 第一次配置,引发错误... 27
5.2 新手的,第二种报错... 27
一、环境需求
1.1 操作系统:
操作系统(
Redhat Enterprise Linux 5.3),i386单核CPU,两个硬盘
1.2 需要的数据包
需要的源码包
|
数据库
|
mysql-5.0.46.tar.gz
|
PHP
|
php-5.3.4.tar.gz
|
apache
|
httpd-2.2.17
|
phpMyAdmin
|
phpMyAdmin-3.3.8-all-languages.tar.gz
|
apr
|
apr-1.4.2.tar.gz
|
Apr-util
|
apr-util-1.3.10.tar.gz
|
cacti
|
cacti-0.8.7g.tar.gz
注:取用官方最新的包
|
cacti-cactid
|
cacti-cactid-0.8.6i.tar.gz 注:取用官方最新的包
|
cacti-spine
|
cacti-spine-0.8.7g.tar.gz
|
fontconfig
|
fontconfig-2[1].4.2.tar.gz
可以
yum安装
|
freetype
|
freetype-1.3.1.tar.gz
可以
yum安装
|
gd
|
gd-2.0.32.tar.gz
注:这个要源码安装
|
Jpeg源码包
|
jpegsrc.v6b.tar.gz
注:这个要源码安装
|
libmcrypt
|
libmcrypt-2[1].5.7.tar.gz
源码安装好点
|
libxml2-
|
libxml2-2.6.28.tar.gz
源码安装好点
|
Rrdtool合成包
|
rrdtool-1.4.4-1.el5.wrl.i386.rpm
|
rrdtool-1.4.4-1.wrl.src.rpm
|
rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm
|
gcc gcc+
|
gcc
yum安装好,没那么多麻烦
|
openssl
|
openssl openssl-level
yum安装好,没那么多麻烦
|
net-snmp-*
|
net-snmp-devel net-snmp net-snmp-utils net-snmp-libs
yum安装好,没那么多麻烦
|
glbc
|
glbc*
yum安装好,没那么多麻烦
|
openldap
|
openldap*
yum安装好,没那么多麻烦
|
autoconf
|
autoconf
yum安装好,没那么多麻烦
|
|
cacti-memcached-1.0.tar.gz
|
mysql的监控插件
|
mysql-cacti-templates-1.1.3.tar.gz
http://code.google.com/p/mysql-cacti-templates/downloads/detail?name=mysql-cacti-templates-1.1.3.tar.gz&can=2&q=
|
|
cgilib-0.5.tar.tar
|
Nginx
监控插件
|
cacti-nginx.tar.gz
|
mysql的监控插件
|
teMySQLcacti-20060810.tar.gz
http://faemalia.com/Technology/
|
注:以上还缺什么基础包,先安装了,再装apache mysql php cacti,然后相关的插件
一、 编译安装
2.1 mysql-5.0.46.tar.gz
# tar zxvf mysql-5.0.46.tar.gz
# cd mysql-5.1.46
# groupadd -g 5050 mysql
# useradd -g mysql -u 5050 -s /sbin/nologin -M mysql
# ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-charset=gbk --localstatedir=/data --with-extra-charsets=all --enable-thread-safe-client
# make
# make install
#cd /usr/local/mysql/
# chown -R mysql:mysql .
# chown -R mysql:mysql /data
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# cp share/mysql/my-large.cnf /etc/my.cnf # 在源码包解压之后那里复制
# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig
# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile
# cp share/mysql/mysql.server
/etc/init.d/mysqld # 到自身系统里面去,以便自动启动
# chmod 755 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld off
# chkconfig --level 35 mysqld on
2.2 编译安装apache
编译安装支持库
a
、 编译安装jpegsrc.v6b.tar.gz
# tar zxvf jpegsrc.v6b.tar.gz
# mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
# cd jpeg-6b/
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
# make
#
make install
b
、
编译安装libpng-1.4.4.tar.gz
# tar zxvf libpng-1.4.4.tar.gz
# cd libpng-1.4.4
# ./configure --prefix=/usr/local/libpng
# make
#
make install
c
、
编译安装freetype-2.4.3.tar.gz
# tar zxvf freetype-2.4.3.tar.gz
# cd freetype-2.4.3
# mkdir -pv /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make && make install
注:可以yum,方便快捷点。
d、 编译安装
zlib-1.2.5.tar.gz
# tar zxvf zlib-1.2.5.tar.gz
# cd zlib-1.2.5
# mkdir /usr/local/zlib
# ./configure --prefix=/usr/local/zlib
# make
#
make install
注:可以yum,方便快捷点。
e
、
编译安装curl-7.21.2.tar.gz
# tar zxvf curl-7.21.2.tar.gz
# mkdir -pv /usr/local/curl
# cd curl-7.21.2
# ./configure --prefix=/usr/local/curl
# make
#
make install
注:可以不需要
f
、编译安装libxml2-sources-2.7.8.tar.gz
# tar zxvf libxml2-sources-2.7.8.tar.gz
# cd libxml2-2.7.8/
# mkdir -pv /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make
# make install
注:最好源码安装,也可以yum安装
G
、编译安装libxslt-1.1.9.tar.gz
# tar zxvf libxslt-1.1.9.tar.gz
# mkdir -pv /usr/local/libxslt
# cd libxslt-1.1.9
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make
# make install
注:可以安装,也可以不安装
H
、编译安装fontconfig-2.8.0.tar.gz
下载地址http://fontconfig.org/release/
# tar zxvf fontconfig-2.8.0.tar.gz
# cd fontconfig-2.8.0
# mkdir -pv /usr/local/fontconfig
# ./configure --prefix=/usr/local/fontconfig --disable-docs --with-freetype-config=/usr/local/freetype/bin/freetype-config
# make
# make install
I、编译安装
gettext-0.18.tar.gz
下载地址
http://mirror.bjtu.edu.cn/gnu/gettext/
可以使用
yum install gettext安装
# tar zxvf gettext-0.18.tar.gz
# cd gettext-0.18
# mkdir /usr/local/gettext
# ./configure --prefix=/usr/local/gettext
# make
#
make install
J
、编译安装libart_lgpl-2.3.17.tar.tar
# tar zxvf libart_lgpl-2.3.17.tar.tar
# cd libart_lgpl-2.3.17
# mkdir -pv /usr/local/libart
# ./configure --prefix=/usr/local/libart #也有加上参数
--disable-shared 意义暂时不明白
# make
#
make install
K
、编译安装gd-2.0.32.tar.gz
# tar zxvf gd-2.0.35.tar.gz
# cd gd-2.0.35
# mkdir -pv /usr/local/gd2
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg
# tar zxvf httpd-2.2.15.tar.gz
注:这个源码包特殊,最好安装gd-2.0.32.tar.gz以上的包,不然会报错,这个包一路装下去也没报错。
L
、 httpd-2.2.17.tar.gz
#
cd httpd-2.2.17
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-rewrite --enable-deflate --enable-expires --disable-cgi --disable-cgid --disable-access --disable-env --disable-autoindex --disable-asis --disable-action --disable-negotiation --disable-include --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
# make
#
make install
# /usr/local/apache2/bin/apachectl -l #查看编译的模块
# /usr/local/apache2/bin/apachectl –k start #启动
http服务,
输入
http://IP出现页面表示apache安装成功
M
、安装php
1、 编译安装
zxvf php-5.3.3.tar.gz
# tar zxvf php-5.3.3.tar.gz
# mkdir -pv /usr/local/php5
# cd php-5.3.3
# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-gd --with-jpeg-dir=/usr/local/jpeg --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql
--enable-mbstring=all--enable-mbregex --enable-ftp --enable-soap --with-xsl=/usr/local/libxslt --with-config-file-path=/usr/local/php5/etc --enable-zip --with-libXML-dir=/usr/local/libxml2 -- enable
[U1] -sockets
(这个enable-sockets重要一定要有)
# make
# make install
N
整合apache和php
修改
httpd.conf文件使支持php
# vi /usr/local/apache/conf/httpd.conf
查看是否有这一行,如果没有,需要增加上,理论上
apache2.2.17与php5.3.4编译安装完成后,会自动生成这一行
LoadModule php5_module modules/libphp5.so
在第
310行下面增加下面的内容,309与310行的内容是
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在这两行下面加入下面的内容,就能支持
php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
注:关于没有
php.ini的解决,从源码目录复制
cp php.ini-development /usr/local/php5/etc/php.ini #注
php5.33以上都没有php,ini文件应该不叫php.ini-dist,这个文件是php5.2.14的
增加一个php测试页面
(现在的家目录在
$apache_home/htdocs下面)另外,测试完后不要忘记删掉这个页面
# vi /usr/local/apache/htdocs/index.php
<BODY>
<? phpinfo();
?>
O
、安装cacti
注:请在编译安装
cacti前安装好apache+mysql+php 配置web目录的具体方式在此不介绍,会在以后补充完整
1、
mysql+apache+php
mysql /usr/local/mysql
apache /usr/local/apache
web目录
/usr/local/apache/htdocs/cacti
php /usr/local/php5
P
、安装rrdtool
解决依赖关系
第一步:先安装这个包
# rpm –ivh rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm
第二步:要这样安装这样的包 (这两个包要同时安装)
# rpm –ivh rrdtool-1.4.4-1.el5.wrl.i386.rpm rrdtool-1.4.4-1.wrl.src.rpm
Q
、安装cacti
# tar zxvf cacti-0.8.7g.tar.gz
# mv cacti-0.8.7g /usr/local/apache/htdocs/cacti
# vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti"; #用户名自己弄一个
$database_password = "mysql";
#密码自己弄一个
$database_port = "3306";
# useradd cacti
# chown -R cacti:cacti /usr/local/apache/htdocs/cacti 这一步相当的重要,涉及到权限问题
# crontab -e -u cacti
*/5 * * * * /usr/local/php5/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
注:可以先在
cacti用户中运行一次
su - cacti
/usr/local/php5/bin/php /usr/local/apache/htdocs/cacti/poller.php
R
、启动mysql建立cacti数据库和用户,导入数据库模板
Mysql –u root –p mysql
> create database cacti;
> use cacti;
> source /usr/local/apache/htdocs/cacti/cacti. sql
[U2]
> grant all privileges on cacti.* to
cacti@localhost identified by 'mysql';
> flush privileges;
注解:grant all privileges on *.* to 用户名@登录主机 identified by "密码";给予全局权限
S
、安装cactid
# tar zxvf cacti-cactid-0.8.6k.tar.gz
# cd cacti-cactid-0.8.6k
# ./configure --with-mysql=/usr/local/mysql
# make
#
make install
# cp cactid cactid.conf /usr/local/cactid/
# vi /usr/local/cactid/cactid.conf
DB_Host 127.0.0.1
DB_Database cacti
DB_User cacti
DB_Pass mysql
DB_Port 3306
T
、安装snmp
# yum install net-snmp-*
#
vi /etc/snmp/snmpd.conf
com2sec notConfigUser default public
改为
127.0.0.1 这一个是cacti监控服务器的IP地址
com2sec notConfigUser 127.0.0. 1
[U3] public
access notConfigGroup "" any noauth exact systemview none none
改为
access notConfigGroup "" any noauth exact all
[U4]
none none
#view all included .1 80
去掉注释
#
view all included .1 80
三、环境登录测试
3.1 首次安装cacti
用
http://localhost/cacti首次登陆需要安装,后面的安装一直下去,知道完成。,
然后登陆的时候,初始的用户名:admin 密码:admin,因此,你需要作修改,把密码修改为其它密码,为了安全性,必修改。
3.2 登陆界面[U5]
3.3 进入系统
3.4 系统详细功能介绍
3.4.1 Console 控制台
3.4.2 graphs 图型直观图
3.4.3要创建设备在图上所示
点击create devices,要创建监控图点击create graphs.view浏览整个图表
3.4.4 管理工具
Graph management 图形管理;graph trees 树形;data sources 数据来源 devices 设备
解说devices的具体情况,如下图
3.4.5收集方法
Collection methods 收集方法;
Data Queries收据查询;
Data Input Methods数据输入方法
具体界面图如下:
3.4.6模板库
这里面系统已经含有三个模板库,可以自行应用
3.4.7 导入额外的莫板块,实现插件监控和别的功能
Import templates 倒进去模板,或者插件,监控别的功能
Import templates 导出图表或者别的功能
导出只能是xml格式的文件。
3.4.8 系统配置
Setting,设置
3.4.9 公用配置
Utilities 公用配置
System Utilities该
cacti系统信息
User management 在这里可以添加管理用户和密码
以上就是功能列表介绍,具体的介绍,不说了,以后大家用了,就会明白了。
四、额外增加插件监控
mysql
数据库监控
4.1 脚本下载,编译
在
http://faemalia.com/Technology/teMySQLcacti-20060810.tar.gz找到该数据包
tar -xzvf teMySQLcacti-20060810.tar.gz
cd teMySQLcacti
cp mysql_stats.php /usr/local/apache2/htdocs/cacti/scripts
cp dumpMemcachedStats.php /usr/local/apache2/htdocs/cacti/scripts
4.2
模板导入
在
cacti管理界面(Import Templates)导入cacti_host_template_temysql_host-step300-heartbeat600.xml
与
cacti_host_template_memcached_host-step300-heartbeat600.xml模板文件。
4.3
创建监控Mysql需要的账户以及权限
配置
MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。
mysql> grant process,super on *.* to 'cacti'@'%' identified by 'mysql';
mysql> grant all privileges on cacti.* to cacti@"%" identified by "mysql";
4.4
添加设备
创建
Graph。在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated Graph Templates中添加想要监控MySQL状态的Graph Templates(如teMySQL – Index Usage模板,此套模板是以teMySQL开头的一系列模板)。并点击最上面的Create Graphs for this Host链接,在Graph Templates的选择框中选择teMySQL - Locking and Slow,然后点击Create按钮,出现以下WEB页。
监控的对象有:
teMySQL - CPU Usage
teMySQL - Index Usage
teMySQL - InnoDB Buffers Pages/Mem
teMySQL - InnoDB File I/O
teMySQL - InnoDB InsBuffer
teMySQL - InnoDB Locks
teMySQL - InnoDB Row
teMySQL - Load Average
teMySQL - Locking and Slow
teMySQL - Network Usage
teMySQL - Old Command Stats
teMySQL - Old Handler Stats
teMySQL - Query Cache
teMySQL - Replication
teMySQL - Select Handler
teMySQL - Select Queries
teMySQL - Sorts
teMySQL - Temporary Objects
teMySQL - Threads/Abends
teMySQL - Volatile Handler
teMySQL - Volatile Queries
4.5 脚本下载及设置
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.3.tar.gz
tar -xzvf mysql-cacti-templates-1.1.3.tar.gz
cd mysql-cacti-templates-1.1.3
cp ss_get_mysql_stats.php /usr/local/apache/htdocs/cacti/scripts
修改
ss_get_mysql_stats.php 文件 第30行
$mysql_user = 'cacti';
$mysql_pass = 'mysql';
$cache_dir = "/usr/local/apache/htdocs/cacti/cacti/cache/";
设置准备监控的数据库的账户相关信息
mkdir /usr/local/apache/htdocs/cacti/cacti/cache/
chown -R cacti.cacti /xok.la/cacti/cache/
chmod 777 -R /usr/local/apache/htdocs/cacti/cacti/cache/
注意:默认在获取的数据/tmp/下,会有cacti不能读取的情况。所以放在cacti目录来。
4.6 创建监控Mysql需要的账户以及权限
配置
MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。
Mysql>use cacti;
mysql> grant process,super on *.* to 'cacti'@'%' identified by 'mysql';
mysql> grant all privileges on cacti.* to cacti@"%" identified by "mysql";
4.7 模板导入
在
cacti管理界面(Import Templates)导入cacti_host_template_x_db_server_ht_0.8.6i.xml。
4.8 添加设备
创建
Graph。在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated Graph Templates中添加想要监控MySQL状态的Graph Templates(如X MySQL Connections GT模板)。并点击最上面的Create Graphs for this Host链接,在Graph Templates的选择框中选择X MySQL Connections GT,然后点击Create按钮,出现以下WEB页。
监控的对象有:
X InnoDB Buffer Pool Activity GT
X InnoDB Buffer Pool GT
X InnoDB I/O GT
X InnoDB I/O Pending GT
X InnoDB Insert Buffer GT
X InnoDB Log GT
X InnoDB Row Operations GT
X InnoDB Semaphores GT
X InnoDB Transactions GT
X MyISAM Indexes GT
X MySQL Binary/Relay Logs GT
X MySQL Command Counters GT
X MySQL Connections GT
X MySQL Files and Tables GT
X MySQL Handlers GT
X MySQL Network Traffic GT
X MySQL Processlist GT
X MySQL Query Cache GT
X MySQL Query Cache Memory GT
X MySQL Replication GT
X MySQL Select Types GT
X MySQL Sorts GT
X MySQL Table Locks GT
X MySQL Temporary Objects GT
X MySQL Threads GT
X MySQL Transaction Handler GT
五、故障排查
5.1 第一次配置,引发错误
前期工作都准备好了,都配置完成,然后进行输入
IP地址测试。会发现,有以下的报错
date() [function.date]: It is not safe to rely on the system's timezone settings…………..后面紧跟着还有一大串的报错,说明这个定义时间,有问题,如是,可以按照以下方法设置。
1.
在页头使用date_default_timezone_set()设置我的默认时区为北京时间,路劲为:
vi /usr/local/apache/htdocs/cacti/include/ global_constants.php
即
<?php
date_default_timezone_set("PRC");
?>就可以了。
2
。在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。
我试了用第二种方法试了,不行,后来用了第一种方法,可以了,如是,报下面的错。
5.2 新手的,第二种报错
这个报错的解决方法是,在安装
php配置扩张项的时候,如加载:--enable-sockets就可以了,参考
PHP的加载命令
'./configure' \
'--prefix=/usr/local/php' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-config-file-path=/usr/local/php/etc' \
'--with-mysql=/usr/local/mysql' \
'--with-libxml-dir=/usr/local/libxml2' \
'--with-gd' \
'--with-jpeg-dir' \
'--with-png-dir' \
'--with-bz2' \
'--with-iconv-dir' \
'--with-zlib-dir' \
'--with-openssl=/usr/local/openssl' \
'--with-mcrypt=/usr/local/libmcrypt' \
'--enable-soap' \
'--enable-gd-native-ttf' \
'--enable-memory-limit' \
'--enable-ftp' \
'--enable-mbstring' \
'--enable-exif' \
'--disable-ipv6' \
'--disable-cgi' \
'--enable-sockets' \
这个是参考命令,具体的命令,大家按照
help来帮助就可以了。
本文出自 “起点安全” 博客,转载请与作者联系!