Cacti
监控软件详细配置
——及功能介绍
目录
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的监控插件
|
http://faemalia.com/Technology/
|
注:以上还缺什么基础包,先安装了,再装apache mysql php cacti,然后相关的插件
# 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
# 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
可以使用
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服务,
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';
> grant all privileges on cacti.* to
cacti@127.0.0.1 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
然后登陆的时候,初始的用户名:admin 密码:admin,因此,你需要作修改,把密码修改为其它密码,为了安全性,必修改。
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 公用配置
User management 在这里可以添加管理用户和密码
以上就是功能列表介绍,具体的介绍,不说了,以后大家用了,就会明白了。
mysql
数据库监控
4.1 脚本下载,编译
与
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");
?>就可以了。
<?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' \
'--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来帮助就可以了。
大家想要清晰的文档,请下载文档。有待更新。
转载于:https://blog.51cto.com/lovevickie/559977