哪位Cacti高手可以指点下 Cacti如何用脚本来抓数据和如果把数据画成图。本人新手。

哪位Cacti高手可以指点下 Cacti如何用脚本来抓数据和如果把数据画成图。本人新手。,第1张

我现在日常就用着cacti,cacti用脚本抓取数据其实很简单的,简单步骤:

1,把脚本放在cacti安装目录下的scripts下

2,脚本获取的数据输出格式为 xxx:123 ,前面的xxx为变量名称,后面的数字为脚本抓到的值

3,到cacti里建立一个数据输入模板,数据类型选择脚本,填上脚本的路径比如<path_cacti>/scripts/host_avg_num_cpu.sh <hostname>(后面<>中为自己定义需要传递给脚本的变量,可以多个)

3.1,新建Input Fields,就是上面自己定义的变量(有部分内置变量,详看Special Type Code的说明)

3.2,新建Output Fields,名称一定要和上面脚本输出的xxx一样,记得选上Update RRA

4,新建数据模板,主要是选择对输入模板名称和输入模板中的Output Fields,数据类型默认的好

5,新建图形模板,选择上一步建立好的数据模板中的数据;画线的话可以选择LINE1,细项自己看一下就清楚了,很简单的。需要注意的是画图一定需要选择average,选择其它会造成不出图;下面的数据限制默认会是100,需要改成0,要不超100的数据也不会画。

cacti0.8.7e安装:

1、必备的人品吗安装包:

httpd、mysql-server、php、php-mysql、rrdtool、gd、net-snmp、php-snmp、net-snmp-utils、net-snmp-devel、mysql-devel、openssl-devel

2、各个RPM安装包的作用:

httpd:WEB服务器apache

mysql-server:mysql数据库

php:php环境

php-mysql:使php支持mysql

rrdtool:用来生成cacti图像

gd:rrdtool绘制图像需要的图形库

net-snmp:安装snmp

php-snmp:php支持snmp

net-snmp-utils:一些snmp扩展命令,如snmpwalk,snmpget等,cacti需要

net-snmp-devel、mysql-devel、openssl-devel: cactid/spine需要

3.安装时可以使用yum进行安装

4.安装完成后启动相关服务

service httpd start

service mysqld start

service snmpd start

chkconfig httpd on

chkconfig mysqld on

chkconfig snmpd on

二、mysql数据配置

启动并初始化mysql数据库

#service mysqld start

为root用户设置密码(以linuxpad为例),并更改登录权限,默认密码为空

#mysql –u root –p 回车后输入密码(空)

mysql>use mysql

mysql>update user set password=password(‘linuxpad’) where user=‘root’

mysql>grant all privileges on *.* to root@localhost identified by ‘linuxpad’ with grant option

mysql>flush privileges

添加cacti库和cacti用户,并为其设置权限

mysql>create database cacti default character set utf8 //数据库字符集设置utf8,否则乱码

mysql>grant all privileges on cacti.* to cacti@localhost identified by ‘linuxpad’ with grant option

mysql>flush privileges

三、安装cacti

1、

cd /root

wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz

2、解压到/var/www/html下

#cd /root

#tar zxvf cacti-0.8.7e.tar.gz

#mv cacti-0.8.7e /var/www/html/cacti-0.8.7e

修改配置文件

#vi /var/www/html/cacti0.8.7e/include/config.php

修改内容如下

$database_type = "mysql"

$database_default = "cacti"

$database_hostname = "localhost"

$database_username = "cacti"

$database_password = "linuxpad"

添加一个cacti用户,更改rra和log目录属主为cacti,

chown -R cacti /var/www/html/cacti-0.8.7e/log

chown -R cacti /var/www/html/cacti-0.8.7e/rra

然后在cacti用户环境下设置crontab,crontab -e

内容为:

*/5 * * * * php /var/www/cacti/poller.php >/dev/null &2>1

apache2.2.8+mysql5.0.51+php5.2.5+snmp5.14+rrdtool+cacti 配置

OS fedora7 安装选包定制

全选开发包

服务器 一个没选

本机IP 192.168.1.254

安装 mysql

所有安装程序 在 /usr/local下

[root@localhost usr]# groupadd mysql

[root@localhost usr]# useradd -g mysql mysql

[root@localhost usr]# cd /usr/local

[root@localhost local]# tar -zxvf mysql-5.0.51.tar.gz

[root@localhost local]# cd mysql-5.0.51

[root@localhost mysql-5.0.51# ./configure --prefix=/usr/local/mysql

[root@localhost mysql-5.0.51]# make

[root@localhost mysql-5.0.51]# make install

[root@localhost mysql-5.0.51]# cd ../mysql

[root@localhost mysql]# scripts/mysql_install_db --user=mysql

[root@localhost mysql]# chown -R root .

[root@localhost mysql]# chown -R mysql var

[root@localhost mysql]# chgrp -R mysql .

[root@localhost mysql]# ./bin/mysqld_safe --user=mysql &

[root@localhost mysql]# ./bin/mysqladmin -uroot password mysql

[root@localhost mysql]# cp ../mysql-5.0.51/support-files/my-large.cnf /etc/my.cnf

[root@localhost mysql]# cp ../mysql-5.0.51/support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@localhost mysql]# chkconfig --add mysqld

[root@localhost mysql]# chkconfig --level mysqld 345 on

[root@localhost mysql]# chkconfig --list mysqld

[root@localhost mysql]#

Mysql 安装结束

安装apache

[root@localhost usr]# tar -zxvf httpd-2.2.8.tar.gz

[root@localhost usr]# cd httpd-2.2.8

[root@localhost httpd-2.2.8]# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so

[root@localhost httpd-2.2.8]# makemake install

[root@localhost httpd-2.2.8]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

[root@localhost httpd-2.2.8]# cd /etc/rc3.d

[root@localhost rc3.d]# ln -s /etc/init.d/httpd S85httpd

[root@localhost rc3.d]# ln -s /etc/init.d/httpd K85httpd

[root@localhost rc3.d]# /usr/local/apache/bin/apachectl star

Apache 安装完毕

安装PHP

安装支持图形处理,自己可以找最新的安装。

##### zlib#####

cd zlib-1.2.3

./configure --prefix=/usr/local/zlib

make

make install

cd ..

##### FreeType ##### freetype-2.3.5.tar.gz

cd freetype-2.3.5

./configure --prefix=/usr/local/freetype

make

make install

cd ..

##### LibPNG #####

cd libpng-1.2.20

cp scripts/makefile.linux makefile

make test

make install

cd ..

##### Jpeg ##### jpegsrc.v6b.tar.gz

cd jpeg-6b

mkdir /usr/local/jpeg

mkdir /usr/local/jpeg/bin

mkdir /usr/local/jpeg/lib

mkdir /usr/local/jpeg/include

mkdir /usr/local/jpeg/man

mkdir /usr/local/jpeg/man/man1

./configure --prefix=/usr/local/jpeg --enable-shared --enable-static

make

make install

cd ..

##### gd ##### gd-2.0.33.tar.gz

cd gd-2.0.33

./configure --prefix=/usr/local/gd \

--with-jpeg=/usr/local/jpeg \

--with-freetype=/usr/local/freetype \

--with-png \

--with-zlib

[root@localhost local# tar -zxvf php-5.2.5.tar.gz

[root@localhost local# cd php-5.2.5

[root@localhost php-5.2.5]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-

mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc --with-openssl=/usr/local/ssl --with-gd=/usr/local/gd --

with-gdbm=/usr/lib --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg --with-png-dir --with-

zlib=/usr/local/zlib --enable-mbstring --enable-sockets

[root@localhost php-5.2.5]# makemake install

[root@localhost php-5.2.5]# cp php.ini-dist /usr/local/php/etc/php.ini

[root@localhost php-5.2.5]# vi /usr/local/apache/conf/httpd.conf

按 I 键 添加 AddType application/x-tar .tgz

AddType application/x-httpd-php .php

AddType image/x-icon .ico

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

保存退出 :wq

[root@localhost php-5.2.5]# /usr/local/apache/bin/apachectl restart

Php安装完毕

设置mysql

[root@localhost httpd-2.2.8]# /usr/local/mysql/bin/mysql -u root -pmysql

mysql>create database cactidb

mysql>grant all on cactidb.* to root

mysql>grant all on cactidb.* to root@localhost

mysql>grant all on cactidb.* to cactiuser

mysql>grant all on cactidb.* to cactiuser@localhost

mysql>set password for cactiuser@localhost=password('cactipw')

注:以上语句输出 Query OK, 0 rows affected (0.01 sec) 表示成功

mysql>exit

Mysql设置完毕

检测apache + php + mysql

[root @tsai usr]# cd /www/htdocs

[root @tsai htdocs]# touch info.php

[root @tsai htdocs]# vi info.php

<?

phpinfo( )

?>

保存退出 :wq

[root @tsai htdocs]# touch mydqltest.html

[root @tsai htdocs]# vi mysqltest.html

<html>

<body>

<?

$link=mysql_connect('localhost','root')

mysql_select_db('mysql')

$str="select * from user"

$result=mysql_query($str,$link)

$show=mysql_num_rows($result)

mysql_close($link)

for ($i=0$i <$show$i++)

{

$arr[$i]=mysql_fetch_array($result)

}

?>

<table align=center border=1>

<tr align=center>

<td>Host</td>

<td>User</td>

<td>Password</td>

</tr>

<?for ($i=0$i<$show$i++){?>

<tr>

<td><?echo $arr[$i][Host]?></td>

<td><?echo $arr[$i][User]?></td>

<td><?echo $arr[$i][Password]?></td>

</tr>

<?}?>

</body>

</html>

保存退出 :wq

重启mysql + apache 服务

[root @localhost htdocs]# service mydql restart

[root @localhost htdocs]# service httpd restart

进入浏览器检查

http://192.168.1.254/info.php 和 http://192.168.1.254/mysqltest.html

安装rrdtool

[root@localhost usr]# tar zxvf rrdtool-1.0.50.tar.gz

[root@localhost usr]# cd rrdtool-1.0.50

[root@localhost rrdtool-1.0.50]# ./configure

[root@localhost rrdtool-1.0.50]# make &&make install

我的是fedora 7,用下面的方法。

[root@localhost usr] yum install rrdtool

Rrdtool安装完毕

安装net-snmp、snmpwalk和snmpget命令

[root@localhost usr]# rpm -qa | grep net-snmp

net-snmp-5.0.9-2.30E.15

net-snmp-devel-5.0.9-2.30E.15

net-snmp-libs-5.0.9-2.30E.15

net-snmp-utils-5.0.9-2.30E.15

[root@localhost usr]# vi /etc/snmp/snmpd.conf

更改 1、com2sec notConfigUser default public

改为:com2sec notConfigUser 127.0.0.1 public

2、access notConfigGroup "" any noauthexact systemview none none

改为:access notConfigGroup "" any noauthexact all none none

3、#view allincluded .1 80

将前面的 # 注释 去掉。

保存退出 :wq

[root@localhost usr]# service snmpd restart

使用yum安装更方便:

[root@localhost usr]# yum install net-snmp

[root@localhost usr]# yum update net-snmp

配置还是使用上面的方法修改。

或者使用:net-snmp-5.1.4.tar.gz安装

[root@localhost local]# tar -zxvf net-snmp-5.1.4.tar.gz

[root@localhost local]# cd net-snmp-5.1.4

[root@localhost local]# ./configure

[root@localhost local]# make

[root@localhost local]# make install

运行snmpconf -g basic_setup,会在当前目录下生成一个snmpd.conf配置文件:

[root@localhost local]# snmpconf -g basic_setup

运行后会出现一个询问菜单,按如下步骤进行回答:CODE:[Copy to clipboard]Do you want to configure the information returned in

the system MIB group (contact info, etc)? (default = y): y

The location of the system: Shenzhen, China

The contact information: master@emerson.com

Do you want to properly set the value of the sysServices.0 OID (if you don't know, just say no)? (default = y): y

does this host offer physical services (eg, like a repeater) [answer 0 or 1]: 1

does this host offer datalink/subnetwork services (eg, like a bridge): 0

does this host offer internet services (eg, supports IP): 1

does this host offer end-to-end services (eg, supports TCP): 1

does this host offer application services (eg, supports SMTP): 1

Do you want to configure the agent's access control? (default = y): y

Do you want to allow SNMPv3 read-write user based access (default = y): n

Do you want to allow SNMPv3 read-only user based access (default = y): n

Do you want to allow SNMPv1/v2c read-write community access (default = y): n

Do you want to allow SNMPv1/v2c read-only community access (default = y): y

The community name to add read-only access for: public

The hostname or network address to accept this community name from [RETURN for all]: (RETURN)

The OID that this community should be restricted to [RETURN for no-restriction]: (RETURN)

Do you want to configure where and if the agent will send traps? (default = y): n

Do you want to configure the agent's ability to monitor various aspects of your system? (default = y): y

Do you want to configure the agents ability to monitor processes? (default = y): y

Name of the process you want to check on: sshd(需要监控的进程)

Maximum number of processes named ' sshd' that should be running [default = 0]: 1

Minimum number of processes named ' sshd' that should be running [default = 0]: 0

Do another proc line? (default = y): n

Do you want to configure the agents ability to monitor disk space? (default = y): y

Enter the mount point for the disk partion to be checked on: /

Enter the minimum amount of space that should be available on /var: %100

Do another disk line? (default = y): y

Enter the mount point for the disk partion to be checked on: /var

Enter the minimum amount of space that should be available on /var: %100

Do another disk line? (default = y): y

Enter the mount point for the disk partion to be checked on: /usr

Enter the minimum amount of space that should be available on /usr: %100

Do another disk line? (default = y): y

Enter the mount point for the disk partion to be checked on: /home

Enter the minimum amount of space that should be available on /home: %100

Do another disk line? (default = y): n

Do you want to configure the agents ability to monitor load average? (default = y): y

Enter the maximum allowable value for the 1 minute load average: 12

Enter the maximum allowable value for the 5 minute load average: 12

Enter the maximum allowable value for the 15 minute load average: 12

Do another load line? (default = y): n

Do you want to configure the agents ability to monitor file sizes? (default = y): n(如果想监控文件的大小,可以选y)

4.运行net-snmp:

# snmpd -c /path/snmpd.conf (要上面生成的绝对路径)

测试一下看看net-snmp是否配置成功:

#snmpwalk -v 1 -c public localhost .1 (是否可以从.1开始采集服务器数据)

#snmpwalk -v 1 -c public localhost dskPercent.1 (看看刚配置过的硬盘监测是否成功)

如果有数据了,恭喜你snmp安装成功了。

注:如果你机器内没有snmpwalk和snmpge命令,请到安装盘里查找 net-snmp-utils 包,rpm -ivh net-snmp-utils-*.rpm 只后这两个命令就

在系统里了。其他包也都在安装盘里 确保安装这四个包就OK

安装/ 配置cacti

[root@localhost usr]# useradd cactiuser -g users

[root@localhost usr]# passwd cactiuser (pwd:cactipw)

[root@localhost usr]# cp cacti-0.8.7.tar.gz /var/www/html

[root@localhost usr]# cd /var/www/html

[root@localhost html]# tar -zxvf cacti-0.8.7.tar.gz

[root@localhost html]# mv cacti-0.8.6g cacti

[root@localhost html]# cd cacti

[root@localhost cacti]# /usr/local/mysql/bin/mysql -u root -p cactidb <cacti.sql

passwork:

[root@localhost cacti]# chown -R cactiuser rra/ log/

[root@localhost cacti]# cd scripts

[root@localhost scripts]# chown cactiuser:users *

[root@localhost scripts]# vi /www/htdocs/cacti/include/config.php

$database_type = “mysql”

$database_default = “cactidb”

$database_hostname = “localhost”

$database_username = “cactiuser”

$database_password = “cactipw”

更改用户、密码 等项 与上面给出的对应 保存退出

[root@localhost scripts]# crontab -u cactiuser -e

加入

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

保存退出:wq

全部设置完毕。

打开浏览器 http://192.168.1.254/cacti 进入cacti的初始设置页面

第一次默认登陆账号:admin 密码 admin

登陆后在新改个密码就OK

需要说明的还有路径

snmpwalk Binary Path : /usr/bin/snmpwalk

snmpget Binary Path: /usr/bin/snmpget

RRDTool Binary Path: /usr/bin/rrdtool

PHP Binary Path: /usr/local/php/bin/php

Cacti Log File Path: /var/www/html/cacti/log/cacti.log

Cactid Poller File Path:/var/www/html/cacti/poller.php

如果你是按我的步骤做的 那上面的路径一定不会错。

注:此时graphs还不能显示图形,需要将服务重新启动一下

[root@localhost scripts]# service snmpd restart

[root@localhost scripts]# service mysql restart

[root@localhost scripts]# service httpd restart


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7930750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存