存档

文章标签 ‘我友博客’

cacti插件汇总下载

2011年4月9日 没有评论

Handy Repopulate Poller Cache Script

Download and Documentation http://forums.cacti.net/about10292.html

New Advanced Ping Template Version

Download and Documentation http://forums.cacti.net/about10049.html 阅读全文…

cacti上监控mysql状态

2011年4月9日 没有评论

转自:http://blog.appleandroid.com/post/46/

环境 cacti-0.87d-cn
mysql-5.1.39
插件 mysql-cacti-templates-1.1.2.tar.gz
一,脚本下载以及设置

wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.2.tar.gz

tar -xzvf mysql-cacti-templates-1.1.2.tar.gz
cd mysql-cacti-templates-1.1.2
cp ss_get_mysql_stats.php /usr/local/apache2/htdocs/cacti/scripts
可以看到里面有多个监控项目,报告监控apache和nginx.我这只测试mysql,mysql相关的就2个文件:
模板文件:cacti_host_template_x_db_server_ht_0.8.6i.xml
插件:ss_get_mysql_stats.php
修改ss_get_mysql_stats.php 文件 第30行
$mysql_user = ‘cacti’;
$mysql_pass = ‘123123’;
$cache_dir  = “/usr/local/apache2/htdocs/cacti/cache/”;
设置准备监控的数据库的账户相关信息
mkdir /usr/local/apache2/htdocs/cacti/cache/
chown -R cache:cacti /usr/local/apache2/htdocs/cacti/cache/
chmod 777 /usr/local/apache2/htdocs/cacti/cache/
默认在获取的数据/tmp/下,会有cacti不能读取的情况。所以放在cacti目录来。
二,创建监控Mysql需要的账户以及权限
配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。
mysql> grant process,super on *.* to ‘cacti’@’%’ identified by ‘123123’;
mysql> grant all privileges on cacti.*  to cacti@”%” identified by “123123”;
三,模板导入
在cacti管理界面(Import Templates)导入cacti_host_template_x_db_server_ht_0.8.6i.xml。

四,添加设备
创 建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

见图:
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片

cacti监控nginx图解

2011年4月1日 1 条评论

Cacti或者是Cactiez监控主机:192.168.12.5

Nginx服务器:192.168.16.5

1、 首先nginx编译时允许http_stub_status_module,不然是监控不到nginx的运行状态的

2、编辑配置文件

# vi /usr/local/nginx/conf/nginx.conf
location /stub_status/ {
stub_status on;
access_log off;
allow 192.168.0.0/16;#意思是只允许内网能看到监控信息
deny all;
}

3、重新加载nginx的配置文件

# kill -HUP cat /usr/local/nginx/logs/nginx.pid

4、在Cacti主机上下载nginx监控模板

# wget http://forums.cacti.net/download.php?id=12676
# tar xvfz cacti-nginx.tar.gz
# cp cacti-nginx/get_nginx_socket_status.pl /data/cacti/scripts/
# cp cacti-nginx/get_nginx_clients_status.pl /data/cacti/scripts/
# chmod 755 /data/cacti/scripts/get_nginx*

5、检测插件
# /data/cacti/scripts/get_nginx_clients_status.pl http://192.168.9.25/NginxStatus/

输出信息:nginx_active:245 nginx_reading:11 nginx_writing:4 nginx_waiting:230

/data/cacti/scripts/get_nginx_socket_status.pl http://192.168.9.25/NginxStatus/

输出信息:nginx_accepts:41377 nginx_handled:41377 nginx_requests:223307

6、在cacti管理面板导入
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml

7、添加主机,在创建图形的时候会提示你输入URL of nginx stub status,后面你所监控的页面额url,比如上面我们的http://192.168.9.25/NginxStatus/,然后稍等下数据就会出来了。

8、如果你在测试第5步的过程中出现了以下信息:no (LWP::UserAgent not found),出现这个问题是perl里缺少组件,你可以按照下面的步骤解决:

# perl -MCPAN -e shell
# cpan> install LWP::UserAgent

如果perl组件安装成功,那么在此检测你就会得到正常的数据了。

 

注意:在创建主机过程中,

cacti监控nginxcacti监控nginxcacti监控nginx

cacti监控Disk(磁盘)I/O

2011年4月1日 1 条评论
转载:http://blog.csdn.net/wonitazansa1/archive/2011/01/25/6163424.aspx

平台环境

CentOS5.4

cacti-0.8.7e(cacti-0.8.7g已经测试安装正常)

snmpdiskio-0.9.6

安装步骤

安装cacti平台就不提了,网上多得是,今天主要是如何添加disk io监控的模板.

监控机上操作:

1.将下载的snmpdiskio-0.9.4.tar.gz上传到cacit服务器上,解压缩,将partition.xml拷贝resource/snmp_queries下.

tar zxvf snmpdiskio-0.9.4.tar.gz

cp snmpdiskio-0.9.4 /usr/local/apache2/htdocs/cacti/resource/snmp_queries/

2.在cacti服务器的web界面下导入cacti_data_query_snmp_disk_statistics.xml和cacti_graph_template_disk_io_bytessec.xml

被监控机操作:

3.将下载的snmpdiskio-0.9.4.tar.gz上传到被监控机上,解压缩,将目录下可执行文件snmpdisk拷贝/usr/local/bin/下.i

tar zxvf snmpdiskio-0.9.4.tar.gz

install -m 0755 -o root -g root -p -v snmpdiskio /usr/local/bin/,

4.由于9.4太老不支持2.6内核,需要修改,出自http://forums.cacti.net/viewtopic.php?p=124793#124793 中dverlaeckt 的“code”

添加到配置文件后面或者前面都可以,默认的配置文件,你可以不动。

Vim snmpdiskio 

#!/bin/bash

# $Id: snmpdiskio,v 1.5 2008/01/31 21:19:50 dverlaeckt Exp $

# snmpdiskio v0.9.6 (c) 2008 Dieter Verlaeckt <dieter.verlaeckt@gmail.com>

# snmpdiskio v0.9.5 (c) 2007 Pablo Destefanis <pdestefanis@gmail.com>

# snmpdiskio v0.9.4 (c) 2006 Mikael Fridh <mikael@meanstreak.se>

# Fields in /proc/partitions (kernel 2.4)

# major minor #blocks name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

# Fields in /proc/diskstats (kernel 2.6) for disks (i.e. hda)

# major minor name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

 

# Fields in /proc/diskstats (kernel 2.6) for partitions (i.e. hda1)

# major minor name rio rsect wio wsect

# InBlocks = sectors written to disk

# OutBlocks = sectors read from disk

# Set default procfile for kernel 2.4

PROCFILE=”/proc/partitions”

MODE=”linux24″

# Probably kernel 2.6:

if [ -f /proc/diskstats ]; then

PROCFILE=/proc/diskstats

MODE=”linux26″

fi

function hdNum()

{

awk ‘ BEGIN { num=0 } $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { num++ } END { print num } ‘ $PROCFILE

}

function hdIndex()

{

awk ‘ BEGIN { num=0 } $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { num++; print num } ‘ $PROCFILE

}

function hdDescr()

{

if [ “$MODE” = “linux26” ]; then

awk ‘ $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { printf “%s\n”, $3 }’ $PROCFILE

else

awk ‘ $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { printf “%s\n”, $4 }’ $PROCFILE

fi

}

function hdInBlocks()

{

if [ “$MODE” = “linux26” ]; then

awk ‘ $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 7 { printf “%.0f\n”, $7 * 512 }

$1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 14 { printf “%.0f\n”, $10 * 512 } ‘ $PROCFILE

else

awk ‘ $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 15 { printf “%.0f\n”, $11 * 512 } ‘ $PROCFILE

fi

}

function hdOutBlocks()

{

if [ “$MODE” = “linux26” ]; then

awk ‘ $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 7 { printf “%.0f\n”, $5 * 512 }

$1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 14 { printf “%.0f\n”, $6 * 512 } ‘ $PROCFILE

else

awk ‘ $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 15 { printf “%.0f\n”, $7 * 512 } ‘ $PROCFILE

fi

}

function usage()

{

cat <<-EOUSAGE

Usage: $0 <hdNum|hdIndex|hdDescr|hdInBlocks|hdOutBlocks>

EOUSAGE

}

if [ 1 -ne $# ]; then

usage

exit 1

fi

case $1 in

hdNum|hdIndex|hdDescr|hdInBlocks|hdOutBlocks)

$1

;;

‘hdNum’)

hdNum

;;

‘hdIndex’)

hdIndex

;;

‘hdDescr’)

hdDescr

;;

‘hdInBlocks’)

hdInBlocks

;;

‘hdOutBlocks’)

hdOutBlocks

;;

*)

usage

exit 1

;;

esac

 

exit 0

5.修改被监控机的snmpd.conf,在文件的结尾添加如下:

exec .1.3.6.1.4.1.2021.54 hdNum /bin/sh /usr/local/bin/snmpdiskio hdNum

exec .1.3.6.1.4.1.2021.55 hdIndex /bin/sh /usr/local/bin/snmpdiskio hdIndex

exec .1.3.6.1.4.1.2021.56 hdDescr /bin/sh /usr/local/bin/snmpdiskio hdDescr

exec .1.3.6.1.4.1.2021.57 hdInBlocks /bin/sh /usr/local/bin/snmpdiskio hdInBlocks

exec .1.3.6.1.4.1.2021.58 hdOutBlocks /bin/sh /usr/local/bin/snmpdiskio hdOutBlocks

这里增加了/bin/sh,我在网上搜索了许多,都没有加上这个,我测试就是不成功.

Service snmpd restart

6.测试

snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.58

[root@localhost ~]# snmpwalk -v 2c -c public localhost  .1.3.6.1.4.1.2021.58 

UCD-SNMP-MIB::ucdavis.58.1.1 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.58.2.1 = STRING: “hdOutBlocks”

UCD-SNMP-MIB::ucdavis.58.3.1 = STRING: “/bin/sh /usr/local/bin/snmpdiskio hdOutBlocks”

UCD-SNMP-MIB::ucdavis.58.100.1 = INTEGER: 0

UCD-SNMP-MIB::ucdavis.58.101.1 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.2 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.3 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.4 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.5 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.6 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.7 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.8 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.9 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.10 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.11 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.12 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.13 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.14 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.15 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.16 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.17 = STRING: “390659584”

UCD-SNMP-MIB::ucdavis.58.101.18 = STRING: “823808”

UCD-SNMP-MIB::ucdavis.58.101.19 = STRING: “386556928”

UCD-SNMP-MIB::ucdavis.58.101.20 = STRING: “827904”

UCD-SNMP-MIB::ucdavis.58.101.21 = STRING: “5120”

UCD-SNMP-MIB::ucdavis.58.101.22 = STRING: “2224640”

UCD-SNMP-MIB::ucdavis.58.101.23 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.24 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.101.25 = STRING: “0”

UCD-SNMP-MIB::ucdavis.58.102.1 = INTEGER: 0

UCD-SNMP-MIB::ucdavis.58.103.1 = “”

出现如上数据,表示正常.

 

7.在cacti的devicesà Associated Data Queries添加SNMP – Disk Statistics

cati-io

Create Graphs for this Host选择

cati-io

你会发现要选择的硬盘太多,你可以用iostat命令,照这里添加

avg-cpu:  %user   %nice %system %iowait  %steal   %idle 

1.11    0.28    1.61    0.55    0.00   96.45

 

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               2.70        23.93        38.02     763647    1213086

sda1              0.00         0.05         0.00       1609         14

sda2              2.69        23.68        38.01     755634    1212824

sda3              0.00         0.05         0.00       1617          0

sda4              0.00         0.00         0.00         10          0

sda5              0.01         0.14         0.01       4345        248

我使用虚拟机测试的

cati-io

排错

如果出现

snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.58
UCD-SNMP-MIB::ucdavis.58 = No Such Object available on this agent at this OID

你先执行snmpwalk -v 2c -c public localhost,看看是否正常,如不正常,说明snmpd.conf其他配置有问题,如正常,说明刚才添加exec有问题,请检查.

Snmp.conf提前设置

40 #       sec.name  source          community

41 com2sec notConfigUser  default       mynetsnmp

61 #       group          context sec.model sec.level prefix read   write  notif

62 access  notConfigGroup “”      any       noauth    exact  all    none none

77 ##     group.name sec.model  sec.name

78 group MyRWGroup  v1        local

79 group MyRWGroup  v2c        local

80 group MyRWGroup  usm        local

86 ##           incl/excl subtree                          mask

87 view all    included  .1                               80

cacti中spine安装配置详解

2011年3月17日 没有评论
最近装了台server用来对网络设备进行准实时监控
系统组成
Centos5.2
mysql -4.1.22
php-4.6.4
apache2.1.2
 
cacti 0.8.7d
rrdtool 1.0.5 为什么还使用1.0.5呢,主要是这个版本集成了很多库,安装调试方便,而只是生成的图稍微颗粒点,没有多大的关系。
NET-snmp5.1.22
spine-0.8.7c
本来不打算安装spine的,就使用cmd.php来完成数据采集,可是后来发现cmd.php采集存在很大的延迟,执行效率太低了。两厢比较了一下,从添加device好到设备up,spine只需要不到一分钟,而cmd等的时间较长,超过10分钟。
当设备down后 2分钟之内spine可以发出alert,而cmd可能需要10分钟以上。
所以还是要使用spine
=========================
顺便一提:最近因为搞这个监控,找来找去到最后发现cacti的报警使用移动的邮箱最好了! 139的邮箱现在提供“邮件到达通知”而且是免费的,只要有邮件到达,就会有一个短消息给你。
2009年3月份139邮箱升级后,邮件到达通知可以有好多选择,支持超长短信了。把接受到的邮件主题和内容作为短信发送给你,长度达到350个字符!
 
使用139邮箱,实现cacti实时报警发送sms的很有效途径,我觉得比网络上现在那些所谓的pushmail及时、准确多了。关键是不用花钱!!
=========================
 
下载的是cacti-spine-0.8.7c
tar -zxvf ./tools/cacti-spine-0.8.7c.tar.gz 按照install文档执行之!
[root@mycentos52 cacti-spine-0.8.7c]# aclocal
[root@mycentos52 cacti-spine-0.8.7c]# libtoolize –force
Using AC_PROG_RANLIB' is rendered obsolete by AC_PROG_LIBTOOL’
Putting files in AC_CONFIG_AUX_DIR, `config’.
[root@mycentos52 cacti-spine-0.8.7c]# autoconf
[root@mycentos52 cacti-spine-0.8.7c]# autoheader
[root@mycentos52 cacti-spine-0.8.7c]# automake
[root@mycentos52 cacti-spine-0.8.7c]# ./configure
-bash: ./configure: Permission denied
[root@mycentos52 cacti-spine-0.8.7c]# chmod 755 configure
[root@mycentos52 cacti-spine-0.8.7c]# ./configure
checking build system type… i686-redhat-linux-gnu
checking host system type… i686-redhat-linux-gnu
checking for a BSD-compatible install… /usr/bin/install -c
checking for mysql_init in -lmysqlclient_r… no
configure: error: MySQL libraries not found
下载 mysql的共享包
检查安装位置:
rpm -qlp  MySQL-shared-standard-4.1.22-0.rhel4.i386.rpm
/usr/lib/libmysqlclient.so
/usr/lib/libmysqlclient.so.15
/usr/lib/libmysqlclient.so.15.0.0
/usr/lib/libmysqlclient_r.so
/usr/lib/libmysqlclient_r.so.15
/usr/lib/libmysqlclient_r.so.15.0.0
/usr/lib/libndbclient.so
/usr/lib/libndbclient.so.2
/usr/lib/libndbclient.so.2.0.0
执行安装:
[root@mycentos52 tools]# rpm -ivh MySQL-shared-standard-4.1.22-0.rhel4.i386.rpm
Preparing…                ########################################### [100%]
   1:MySQL-shared-standard  ########################################### [100%]
查看:
[root@mycentos52 tools]# cd /usr/lib
[root@mycentos52 lib]# ls libmysql*
libmysqlclient_r.so     libmysqlclient_r.so.14.0.0  libmysqlclient.so.14
libmysqlclient_r.so.14  libmysqlclient.so           libmysqlclient.so.14.0.0
[root@mycentos52 lib]#
执行spine的编译:
[root@mycentos52 cacti-spine-0.8.7c]#./configure
checking for mysql_thread_init in -lmysqlclient_r… yes
configure: error: Cannot find SNMP headers.  Use –with-snmp= to specify non-default path.
提示snmp的目录没有发现,指定自己安装的snmp的目录后再进行编译
[root@mycentos52 cacti-spine-0.8.7c]# ./configure –with-snmp=/usr/local/net-snmp/ 
checking if UCD-SNMP needs crypto support… no
checking if Net-SNMP needs crypto support… yes
checking for snmp_timeout in -lnetsnmp… yes
checking for the spine results buffer size… 1024 bytes
checking for the maximum simultaneous spine .s… 20
checking for the maximum MySQL buffer size… 65536
checking whether we are using nifty popen… no
checking for glibc gethostbyname_r… yes
checking for Solaris/Irix gethostbyname_r… no
checking for HP-UX gethostbyname_r… no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config/config.h
config.status: executing depfiles commands
编译成功了!
下面 make;make install
将产生spine的安装目录[root@mycentos52 spine]#pwd
/usr/local/spine
[root@mycentos52 spine]#cp ./etc/spine.conf.dist ./spine.conf 建立spine的配置文件
[root@mycentos52 etc]# vi spine.conf
检查数据库名、用户名等
试着运行spine看行不行?、
 ./spine
SPINE: Using spine config file [spine.conf]
MYSQL: Connection Failed: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
11/02/2007 04:02:51 PM – SPINE: Poller[0] FATAL: Connection Failed: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) (Spine init)
google问题,最后
在/var/lib/ 下建立mysql文件夹
[root@monitor mysql]# pwd
/var/lib/mysql
[root@monitor mysql]#
[root@monitor mysql]# ln -s /tmp/mysql.sock  /var/lib/mysql/mysql.sock
产生一个mysql.sock 的文件。 和tmp目录下的连接起来。 tmp下的mysql.sock 是安装mysql的时候产生的,而/var/lib/mysql/mysql.sock ln产生的。
然后
[root@mycentos52 bin]# ./spine
SPINE: Using spine config file [../etc/spine.conf]
SPINE: Version 0.8.7c starting
SPINE: Time: 2.8546 s, Threads: 1, Hosts: 5
[root@mycentos52 bin]#
不知道spine的conf文件是怎么回事,一定要到/var/lib/mysql/下去找mysql.sock 这个文件。也不知道怎么调整。所以就做了这么个ln来解决。

cacti中的配置

修改Cacti配置

Console -> Cacti Settings->Paths->Spine Poller File Path
填入cacti-spine安装路径
/usr/local/spine/bin/spine
我友博客
修改Cacti使用的Poller Type
Console -> Cacti Settings->Poller->Poller Type
在下拉中选择spine
我友博客

nagios和cacti整合-实测

2011年3月8日 没有评论

这里nagios和cacti的安装我就不作讲解,主要是ndoutils和pnp的安装过程。

json模块的安装,这里参考本博客

ndoutils-1.4b安装
这个软件其实是将Nagios的配置及监控信息存储到数据库里,NPC通过调用ndo所存储的数据来展
现Nagios的信息 下载ndoutils-1.4b7.tar.gz,我试过ndoutils-1.4b9.tar.gz遇到几次挫折,没配
置成功,我就换这个版本。

依照自己安装的mysql-lib和mysql-inc指定它的目录,我的mysql是yum安装的,所有路径是默认
路径。如果configure没有任何错误信息,就可以make一下,make后我们仅需要它的部分文件。
执行make来进行编译
编译完成后(不需要make install)

进入 ndoutils-1.4b7/src目录<以下为ndo的执行文件>

进入 ndoutils-1.4b7/config目录<以下为ndo的配置文件>

配置ndo2db.cfg

以上为需要根据自己的实际情况配置的信息,其他配置可以根据自己需求来进行配置。

配置ndomod.cfg

以上是需要根据自己的实际情况修改的,yum安装和源码安装相关文件的位置可能不一样,根据自己
的情况来写吧,ndo默认的配置是按照源码默认安装的文件配置的。
配置nagios.cfg文件

以上为需要更改的nagios.cfg的内容。

7 Npc的安装

解压,然后将整个文件夹cp至/var/www/html/cacti/plugins/下
修改/var/www/html/cacti/include/global.php
添加:

让cacti知道有这个插件

在’User Management’中选择’admin’,在下边’Realm Permissions’中钩选’Plugin Management’。这
时右侧会出现’Plugin Management’连接,进去后在’uninstalled’中安装npc,然后在’intalled’中
enable npc,然后在回去admin的’Realm Permissions’中会出现’use npc’,如果没有钩选就把它选中。

接着在右侧栏目中选择settings,点选npc的标签
钩选Remote Commands
Nagios Command File Path: /var/nagios/rw/nagios.cmd
<这个文件启动nagios后会产生,根据实际的位置写>
Nagios URL: http://yourserver/nagios/
保存就可以了。

至此安装就完成了
启动mysql httpd ndo nagios

访问http://yourserver/cacti/
选择npc标签就可以看到nagios所检测的主机信息,唯一不足的是我打开这个页面的速度有些慢,需要进一步寻找原因来进行优化

nagios日志:

如果是下面这样是正确的
ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad (nagios@nagios.org)
[1272020945] ndomod: Successfully connected to data sink.  4897 queued items to flush.
[1272020951] ndomod: Successfully flushed 4897 queued items to data sink.
[1272020951] Event broker module ‘/usr/local/nagios/bin/ndomod-3x.o’ initialized successfully.

可能出现的问题
1.npc页面空白或者提示无法访问npc.php
确认安装并配置php-jsion正确
2.cacti无图或者没有数据
这个问题很多
检查ndo2db.cfg 里面的数据库配置。
3.出现类似Error: Missing Dependency: mysql = 5.0.45-7.el5 is needed by package mysql-server的情况
请删除系统中已经安装的包,例如已经安装不同版本的mysql则出现上述问题

下面是我的截图。

nagios和cacti整合 我友博客

nagios和cacti整合 我友博客

nagios和cacti整合 我友博客

nagios和cacti整合 我友博客

Cacti的监控插件安装和使用

2011年3月7日 没有评论

本文链接: http://www.php-oa.com/2009/06/04/plugin-architecture.html

1,安装cacti的Plugin Architecture
要安装别的插件前,先要安装cacti的一个patch--Plugin Architecture,才能支持插件
PA和cacti版本的关系
PA 1.0 = cacti 0.8.6i
PA 1.1 = cacti 0.8.6i et 0.8.6j
PA 2.0 = cacti 0.8.7b
PA 2.2 = cacti 0.8.7c
PA 2.4 = cacti 0.8.7d

我们用的0.8.7所以用最新的2.4
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2.4.zip
unzip cacti-plugin-0.8.7d-PA-v2.4.zip -d cacti-plugin-arch
cp -R cacti-plugin-arch/* /usr/share/cacti/
#cd /usr/share/cacti/
#mysql -ucacti -p cacti < pa.sql 如果你是中文的cacti,就执行下面的命令(需要下载) patch -p1 -N < cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff 如果你是英文的,就下载原来的 patch -p1 -N < cacti-plugin-0.8.7d-PA-v2.4.diff 这样做完后,可能会图象不对(前提,你设置的url是http://xxx/cacti),那么需要修改如下的内容. vim include/global.php $config['url_path'] = ‘/cacti/’; 进入"用户管理"->点admin->区域权限->Plugin Management

安装settings,thold,monitor插件
monitor插件,提供更简略、直观的设备状态图示;
thold插件,提供设备异常预警。

cd cacti/plugins
#wget http://mirror.cactiusers.org/downloads/plugins/settings-0.5.tar.gz
#tar zxvf settings-0.5.tar.gz
#wget http://mirror.cactiusers.org/downloads/plugins/thold-0.4.1.tar.gz
#tar zxvf thold-0.4.1.tar.gz
#wget http://cactiusers.org/downloads/monitor.tar.gz
#tar zxvf monitor.tar.gz

#vim ../include/global.php
在$plugins = array();的后面加上如下内容
$plugins[] = ‘thold’;
$plugins[] = ‘settings’;
$plugins[] = monitor;

使用插件
使用monitor插件
刷新cacti系统的web管理界面,可以看到多出两个标签页(thold、monitor)。
1>打开“Console->Settings->Misc”,可以调整Monitor的各项配置。例如:勾选“Show Icon Legend”可以在监控页面显示图例;
“View”可以选用Tiles类型,以显示设备状态表格。
2>为cacti添加新设备时,勾选上“Monitor Host”项。对已添加的设备可以通过“Management->Devices”进去修改。
3>单击Web页面上方的“monitor”标签链接,可以进入查看各设备/主机的状态图示。

使用thold插件
1>打开“Console->Settings->Mail/DNS”,可以调整“SMTP Options”和“DNS Options”等配置,用于确保预警邮件能够发出。
2>打开“Console->Settings->Alerting/Thold”,可以调整Thold的各项配置。例如:“Dead Host Notifications Email”处可填写设备当机时发送警告信息到哪个邮箱;勾选“

Send alerts as text”项,可以设置只发送文本格式的邮件。
3>打开“Templates->Threshold Templates”,可以添加、取出需要关联到预警系统的模板,例如:可以添加和“Interface-Traffic”模板的关联,选择 “traffic_in”、

“traffic_out”数据项,分别设置警告阈值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的关联……。
4>打开“Create->New Graphs”,选择需要提供预警的设备,单击右侧上方的“Auto-create thresholds”创建预警项目。
5>打开“Management->Thresholds”,可以管理已经创建的预警项目。

中文cacti安装完全使用手册

2011年3月7日 1 条评论

1、安装apache
tar xvf httpd-2.2.15.tar.tar
cd httpd-2.2.15
makedir /usr/local/apache2
./configure –prefix=/usr/local/apache2 –enable-so –enable-mods-shared=most –with-mpm=worker –enable-disk-cache –enable-mem-cache
make
make install

2、安装mysql
安装mysql
rpm -ivh MySQL-client-community-5.1.49-1.rhel5.i386.rpm
rpm -ivh MySQL-devel-community-5.1.49-1.rhel5.i386.rpm
rpm -ivh MySQL-server-community-5.1.49-1.rhel5.i386.rpm
service mysql stop
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
service mysql start

3、安装php(php不能用5.3及以上的版本,因为废除了以前很多函数。导致cacti的程序不兼容)
3.1、安装jpegsrc.v6b.tar.gz
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir /usr/local/jpeg6/man
mkdir /usr/local/jpeg6/man/man1
gunzip jpegsrc.v6b.tar.gz
tar xvf jpegsrc.v6b.tar
cd jpeg-6b/
./configure –prefix=/usr/local/jpeg6 –enable-shared –enable-static
make
make install

3.2、安装libpng-1.4.3.tar.gz
gunzip libpng-1.4.3.tar.gz
tar xvf libpng-1.4.3.tar
cd libpng-1.4.3
./configure –prefix=/usr/local/libpng
make
make install

3.3、安装freetype-2.4.1.tar.gz
gunzip freetype-2.4.1.tar.gz
tar xvf freetype-2.4.1.tar
cd freetype-2.4.1
./configure –prefix=/usr/local/freetype
make
make install

3.4、安装zlib-1.2.5.tar.gz
gunzip zlib-1.2.5.tar.gz
tar xvf zlib-1.2.5.tar
cd zlib-1.2.5
./configure –prefix=/usr/local/zlib
make
make install

3.5、安装gd库
前提是要安装 gettext
gunzip gettext-0.18.1.1.tar.gz
tar xvf gettext-0.18.1.1.tar
cd gettext-0.18.1.1
./configure –prefix=/usr/local/gettext
make
make install
最好装gettext-devel以便能找到对应的库文件,否则会报错

gunzip gd-2.0.35.tar.gz
tar xvf gd-2.0.35.tar
cd gd-2.0.35
./configure –prefix=/usr/local/gd2 –with-jpeg-dir=/usr/local/jpeg6 –with-png=/usr/local/libpng –with-zlib-dir=/usr/local/zilb –with-freetype=/usr/local/freetype –enable-m4_pattern_allow
make
make install

3.6、安装libxml2-2.7.7.tar.gz
gunzip libxml2-2.7.7.tar.gz
tar xvf libxml2-2.7.7.tar
cd libxml2-2.7.7
./configure –prefix=/usr/local/libxml2
make
make install

3.7、安装libxslt-1.1.22.tar.gz
gunzip libxslt-1.1.22.tar.gz
tar xvf libxslt-1.1.22.tar
cd libxslt-1.1.22
./configure –prefix=/usr/local/libxslt –with-libxml-prefix=/usr/local/libxml2
make
make install

3.8、安装php5
gunzip php-5.2.14.tar.gz
tar xvf php-5.2.14.tar
cd php-5.2.14
./configure –prefix=/usr/local/php5 –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql –with-gd=/usr/local/gd2 –with-ttf –with-freetype-dir=/usr/local/freetype –with-jpeg-dir=/usr/local/jpeg6 –with-png-dir=/usr/local/libpng –with-zlib-dir=/usr/local/zlib –with-iconv –enable-xml –enable-mbstring –enable-sockets –enable-gd-native-ttf –enable-track-vars –enable-force-cgi-redirect –with-config-file-path=/usr/local/php5/etc
make
make install

cp php.ini-development /usr/local/php5/etc/php.ini
vi /usr/local/php5/etc/php.ini将register_globals = Off改成register_globals = On
;date.timezone = 改为date.timezone = utc
;extension=php_mbstring.dll 改为 extension=php_mbstring.dll
;mbstring.func_overload = 0修改为:mbstring.func_overload = 7

配置apache
最后修改httpd.conf,使apache能使用php,增加如下参数
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType image/x-icon .ico

DirectoryIndex index.php index.html index.html.var

4、安装rrd
4.1、安装cgilib
gunzip cgilib-0.5.tar.gz
tar xvf cgilib-0.5.tar
cd cgilib-0.5
make CC=gcc CFLAGS=”-O3 -fPIC -I.”
mkdir -p /usr/local/cgilib/include
cp *.h /usr/local/cgilib/include/
mkdir -p /usr/local/cgilib/lib
cp libcgi* /usr/local/cgilib/lib/

4.2、安装libart_lgpl-2.3.21.tar.gz
gunzip libart_lgpl-2.3.21.tar.gz
tar xvf libart_lgpl-2.3.21.tar
cd libart_lgpl-2.3.21
./configure –disable-shared –prefix=/usr/local/libart_lgpl
make
make install

编辑/etc/ld.so.conf,增加如下参数
/usr/local/zlib/lib
/usr/local/freetype/lib
/usr/local/jpeg6/lib
/usr/local/cgilib/lib
/usr/local/libart_lgpl/lib
配置完后执行ldconfig命令,使用动态装入器装载到共享库

4.3、安装rrdtool(最好用1.3,目前cacti能支持的最高只到1.3)
gunzip rrdtool-1.4.4.tar.gz
tar xvf rrdtool-1.4.4.tar
cd rrdtool-1.4.4
./configure –prefix=/usr/local/rrdtool –disable-python –disable-tcl
make
make install

5、安装net-snmp
gunzip net-snmp-5.5.tar.gz
tar xvf net-snmp-5.5.tar
cd net-snmp-5.5
./configure –prefix=/usr/local/net-snmp –enable-developer
make
make install
ln -s /usr/local/net-snmp/bin/* /usr/local/bin
cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

启动net-snmp
/usr/local/net-snmp/sbin/snmpd
可以在rc.local里面设置为自动启动

6、安装cacti
useradd cactiuser -g users
passwd cactiuser
gunzip cacti-0.8.7e-cn-utf8.tar.gz
gunzip cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff.gz
cp cacti-0.8.7e-cn-utf8.tar /usr/local/apache2/htdocs/
cd /usr/local/apache2/htdocs/
tar xvf cacti-0.8.7e-cn-utf8.tar
mv cacti-0.8.7e-cn-utf8 cacti
cd cacti
mv ./* ../
cd ../
patch -p1 < /root/software/cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff mysql -uroot mysql>create database cacti default character set utf8;
mysql>grant all on cacti.* to cactiuser@localhost identified by ‘cactiuser’;
mysql>flush privileges;
mysql>quit
mysql -uroot cactirrdtool应该程序的版本改成安装的版本(1.3.x)
路径–>设置不对的文件名,改成正确的路径+文件名

Cacti的使用简易教程
1. 监控远程Linux主机
开启远程主机的SNMPD服务

2. 在Cacti里,进行如下操作,步骤的过程为:添加Devices(增加设备)->Graphs(增加图象)->Tree(增加到图象树)
2.1. Console->Management->Devices->add (增加监控设备)
Description:主机描述,可随便写
Hostname:主机IP地址
Host Template:主机模板,可以选UCD/Net snmp Host,也可以选None
SNMP Community:主机中的Community字段值,默认是public
SNMP Version:一般选Version1或Version2
2.2. Console->Management->Devices 选中刚才添加的主机,进入编辑界面(给监控主机增加要生成的”图像模板”和进行的”数据查询”)
Associated Graph Templates:加入
1) ucd/net – CPU Usage
2) ucd/net – Load Average
3) ucd/net – Memory Usage
如果是本机,可以加入以下模板:
1) Linux – Memory Usage
2) Unix – Ping Latency
3) Unix – Load Average
4) Unix – Logged in Users
5) Unix – Processes
Associated Data Queries:加入
1) SNMP – Interface Statistics
2.3. Console->Create ->New Graphs(生成2.2步骤中增加的图象和数据)
在列表框中选中刚添加的主机,再选中所有Graph Templates和Data Query,再Create。
2.4. Console->Management->Graph Trees->Default Tree->Add(使生成的图象和数据能在”查看图象”即在”Graphs”中以图象的方式显示出来)
Parent Item:父节点,默认是根
Tree Item Type:节点类型,Host
Host:选择主机
Sorting Type:排序方式
[Create]
2.5. Graphs->Default Tree->HostName查看看监控结果

3. 监控本地机
默认Cacti自动安装了监控本地机的模板,也可以自己重建,可按上面的方式,在第一步的Host Template中,选Local Linux Host就可,或者直接用IP,不用本地方式。
4. 日志
日志设置:Console -> Settings -> General -> Poller Logging Level,一般选Low既可,可以选Medium查看SNMPWALK的输出,Debug调试。
日志查看:Console -> Utilities -> View Log File
日志清除:Console -> Utilities -> Clear Log File
5. 图表删除
直接在Devices里删除主机,将删除相关所有数据。
在Console -> Graph Management里的Graph Management可单独删除一个图表,在Data Sources可删除一个查询。
6. 树的管理
Console -> Graph Trees,可以很方便的管理多台主机,将多台主机组成一个树形结构,并且,可以为树指定用户权限.
7. 权限的管理
Console -> User Management,可以管理用户,并指定权限.

报警的实现:

如果需要提供报警功能还需要安装其他插件
1、增加cacti插件的方法:为cacti系统安装Thold、Monitor等插件

插件下载地址:http://cactiusers.org/downloads/
注意下载时注意相应版本,版本不对会产生问题。

monitor插件,提供更简略、直观的设备状态图示;
thold插件,提供设备异常预警。

安装thold、monitor插件:注意要先备份一下

(1)、安装Plugin Architecture补丁,安装后,才能启用thold、monitor插件

shell> tar zxvf cacti-plugin-arch.tar.gz -C /var/www/cacti
shell> cd /var/www/cacti/
shell> patch -p1 -N < cacti-plugin-arch/cacti-plugin-0.8.7a-PA-v2.1.diff shell> /opt/mysql/bin/mysql -u cactiuser -p cactidb < pa.sql (2)、安装thold、monitor插件 shell> tar zxvf settings-0.5.tar.gz -C /var/www/cacti/plugins
shell> tar zxvf thold-0.3.4.tar.gz -C /var/www/cacti/plugins
shell> tar zxvf monitor-0.8.2.tar.gz -C /var/www/cacti/plugins

shell> cd /var/www/cacti/plugins/
shell> /opt/mysql/bin/mysql -u cactiuser -p cactidb < thold/thold.sql shell> /opt/mysql/bin/mysql -u cactiuser -p cactidb < monitor/monitor.sql (3)、修改config.php配置文件 shell> vi /var/www/cacti/include/config.php

$config[‘url_path’] = “/cacti/”; //改为cacti对应于web目录下的路径,本处为cacti
$plugins = array();
$plugins[] = thold;
$plugins[] = monitor;

(4)、刷新cacti系统的web管理界面,可以看到多出两个标签页(thold、monitor)。

(5)、使用monitor插件

1>打开“Console->Settings->Misc”,可以调整Monitor的各项配置。例如:勾选“Show Icon Legend”可以在监控页面显示图例;

“View”可以选用Tiles类型,以显示设备状态表格。
2>为cacti添加新设备时,勾选上“Monitor Host”项。对已添加的设备可以通过“Management->Devices”进去修改。
3>单击Web页面上方的“monitor”标签链接,可以进入查看各设备/主机的状态图示。

(6)、使用thold插件

1>打开“Console->Settings->Mail/DNS”,可以调整“SMTP Options”和“DNS Options”等配置,用于确保预警邮件能够发出。
2>打开“Console->Settings->Alerting/Thold”,可以调整Thold的各项配置。例如:“Dead Host Notifications Email”处可填写设备当机时发送警告信息到哪个邮箱;勾选“Send alerts as text”项,可以设置只发送文本格式的邮件。
3>打开“Templates->Threshold Templates”,可以添加、取出需要关联到预警系统的模板,例如:可以添加和“Interface-Traffic”模板的关联,选择“traffic_in”、“traffic_out”数据项,分别设置警告阈值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的关联……。
4>打开“Create->New Graphs”,选择需要提供预警的设备,单击右侧上方的“Auto-create thresholds”创建预警项目。
5>打开“Management->Thresholds”,可以管理已经创建的预警项目。

2、cacti监控硬盘I/O的方法:

cacti本身的模板只可以监控硬盘的使用大小,而不能监控使用百分率,所以我们可以自定义cdef来监控硬盘使用率,并借助thold插件实现报警功能。网上找的资料都是在cacti.0.8.6版上实现的,而我用的是cacti.0.8.7版。因此,根据实际情况做如下改动:

在cacti目录下,vi global_arrays.php
搜索custom_data_source_types,修改这一段如下:

$custom_data_source_types = array(
“CURRENT_DATA_SOURCE” => “Current Graph Item Data Source”,
“ALL_DATA_SOURCES_NODUPS” => “All Data Sources (Don’t Include Duplicates)”,
“ALL_DATA_SOURCES_DUPS” => “All Data Sources (Include Duplicates)”,
“SIMILAR_DATA_SOURCES_NODUPS” => “All Similar Data Sources (Don’t Include Duplicates)”,
“SIMILAR_DATA_SOURCES_DUPS” => “All Similar Data Sources (Include Duplicates)”,
“CURRENT_DS_MINIMUM_VALUE” => “Current Data Source Item: Minimum Value”,
“CURRENT_DS_MAXIMUM_VALUE” => “Current Data Source Item: Maximum Value”,
“CURRENT_GRAPH_MINIMUM_VALUE” => “Graph: Lower Limit”,

//添加以下两行
“CURRENT_GRAPH_MAXIMUM_VALUE” => “Graph: Upper Limit”,
“VALUE_OF_HDD_TOTAL” => “Value of hdd_total data source”);

//中文版汉化为:
“CURRENT_GRAPH_MAXIMUM_VALUE” => “图像: 上限”,
“VALUE_OF_HDD_TOTAL” => “所有硬盘数据的值”);

在cacti界面的Graph Management-cdefs新建cdef模块,名字自己起,添加字段如下:

Item #1 Special Data Source: CURRENT_DATA_SOURCE
Item #2 Custom String: 100
Item #3 Operator: *
Item #4 Special Data Source: VALUE_OF_HDD_TOTAL
Item #5 Operator: /

也就是说
cdef=CURRENT_DATA_SOURCE,100,*,VALUE_OF_HDD_TOTAL,/

这样就可以在Threshold Templates里面添加监控硬盘的模块了,我添加的是Host MIB – Hard Drive Space ,最后在Threshold CDEF里面选择刚自定义的cdef,这样就可以正常监控硬盘使用率了。

官方论坛上有介绍,地址http://forums.cacti.net/about8777-0-asc-0.html

下面把使用方法摘录如下:

1. Copy net-snmp_devio.xml to /resource/snmp_queries/net-snmp_devio.xml

2. Import all *_templ.xml via Cacti “Import Templates” interface – These templates should include all their dependancies

3. Add “ucd/net – Get Device I/O” Data Query to your SNMP Enabled host using the “Index Count Changed” Re-index Method.

4. Create Graphs for your desired Disk and/or Memory devices.

总体注意事项:

1)、很重要的一点:在cacti的设备中一定要选择snmp的版本为>=2,否则会获取不到cpu和网卡等相关信息。

2)、cacti自带的local视图内存监控单位是错误的,可以删掉重新创建,就会改正。

3)、系统监控中,cpu图标的 200m这类数字,表示的是 万分之多少,我的理解cacti是为了方便显示画图。

4)、权限问题:cacti_path/rra log目录的权限一定要给cacti的新用户,否则会出错:有图,但是没有数据。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/passion_wang/archive/2010/08/13/5809198.aspx

cacit端口监控模板和mysql模板安装

2011年3月7日 没有评论

一、Cacti脚本及模板
Cacti脚本及模板论坛:http://forums.cacti.net/forum-12.html
一个完整的cacti脚本及模板列表:http://forums.cacti.net/about15067.html

1.Advance Ping 脚本及模板
下载地址:http://forums.cacti.net/about10049.html
注:要使用此模板,编译PHP时必须加上–enable-sockets选项来支持套接字。
1).功能:此模板用来监控一个TCP/UDP端口、ICMP的延时情况和丢包情况。
2).下载ss_fping.php脚本并放到/usr/local/apache/htdocs/cacti/scripts/目录下,下载cacti_graph_template_ping_advanced_ping_v1_3.xml模板,用cacti的模板导入页将此模板导入。

3).在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated Graph Templates中添加AdvancedPingv1.3模板。并点击最上面的Create Graphs for this Host链接。
在Graph Templates的选择框中选择PING – Advanced Ping v1.3,然后点击Create按钮,出现以下WEB页。

第一项意思是一次向要监控的端口发送多少个探测包(默认20个),第二项是使用的协议,可以是ICMP、TCP、UDP,第三项是要监控的端口号(只有第二项为TCP或是UDP时使用),填写完成后点击create按钮。
在Console控制台选项卡下的左侧菜单中选择Date Sources,选择以上新建的数据源可以修改以上填写的信息。

在控制台选项卡下左侧菜单中选择Graph Trees可以组织一个树状视图。

在graphs选项卡下浏览创建的Advanced Ping监控图。

TCP3360端口(MySQL)

TCP80端口(HTTP)
Pkt Loss:丢包数量/20 * 100%(每次ping 20个包)
Avg Loss:平均丢包情况
Latency:延时情况
Avg Latency:平均延时情况

2.MySQL stats模板
论坛讨论:http://forums.cacti.net/about11010.html
下载地址:http://www.faemalia.net/mysqlUtils/
功能:用来监控MySQL状态,其中包括索引使用情况、查询、排序、锁定情况等。
1).将mysql_stats.php 和dumpMemcachedStats.php脚本放到cacti脚本目录下(/usr/local/apache/htdocs/cacti/scripts/),导入模板时注意选择cacti_host_template_temysql_host-step300-heartbeat600.xml和cacti_host_template_memcached_host-step300-heartbeat600.xml模板(默认cacti 5分钟取一次数据)。
2).配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。
GRANT PROCESS ON *.* TO cacti@’cactimachine’ IDENTIFIED by ‘cacti’;
GRANT SUPER ON *.* TO cacti@’cactimachine’ IDENTIFIED BY ‘cacti’;
3).创建Graph。在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated GraphTemplates中添加想要监控MySQL状态的Graph Templates(如teMySQL – IndexUsage模板,此套模板是以teMySQL开头的一系列模板)。并点击最上面的Create Graphs for thisHost链接,在Graph Templates的选择框中选择teMySQL – IndexUsage,然后点击Create按钮,出现以下WEB页。

在上面填写有权限访问MySQL数据库的用户名及密码,然后点击create按钮。

选中刚添加的Graph Templates,点击create按钮来创建Graph。
在控制台选项卡下左侧菜单中选择Graph Trees可以组织一个树状视图。

在graphs选项卡下浏览创建的MySQL监控图