免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3259 | 回复: 0
打印 上一主题 下一主题

amp--cacti+rrdtools+snmp安装和配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-31 01:39 |只看该作者 |倒序浏览

Environment
Hardware:i686
Memory:256M RAM
NIC:
rl0 —> for interenet
em0 —> for intranet
OS:FreeBSD 7.0-STABLE
安装net-snmp
cd /usr/ports/net-mgmt/net-SNMP
make install clean

make install distclean

配置net-snmp
# ee /etc/rc.conf
snmpd_enable="YES"


snmpd_flags="-a /var/run/snmpd.pid"
snmptrapd_enable="YES"
snmptrapd_flags="-a -p /var/run/snmptrapd.pid"
mkdir /usr/local/etc/snmp
# ee /var/net-snmp/snmpd.conf

rocommunity public
##############################
syslocation  somewhere
syscontact  Me
me@tiancity.com.cn
>
sysservices 77
rocommunity nexon
load 12 12 12
###############################
# /etc/netstart
启动SNMP:


自动脚本:
/usr/local/etc/rc.d/snmpd  start
chmod +x /usr/local/etc/rc.d/snmpd

手动脚本:
cd /usr/local/etc/rc.d
rm snmpd
vi snmpd.sh
#! /bin/sh
/usr/local/sbin/snmpd
chmod +x /usr/local/etc/rc.d/snmpd.sh
/usr/local/etc/rc.d/snmpd.sh start #启动snmp
检查SNMP启动
netstat -na
netstat -na |grep "LISTEN" # 查看161端口是否打开
nmap -sS localhost


测试snmp是否安装成功,在提示符下键入:
$ /usr/local/bin/snmpwalk
SNMP Version 1 or 2c specific
出现以上信息表示net-snmp安装成功。
2.snmp的使用
$ snmpwalk -v 2c 核心交换IP地址 设备的community_string

/usr/local/bin/snmpwalk
snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.4.1.2021.11.52.0
在用相应的工具程序检索新加入的MIB变量. 可以用如下任何命令:
/usr/local/bin/snmpget localhost public UCD-SNMP-TUTORIAL-MIB::ustSSSimpleString.0
/usr/local/bin/snmpwalk localhost public UCD-SNMP-TUTORIAL-MIB::ustScalarSet
***************************************************************
下次有时间再写snmpd agent的配置方法,主要用snmpconf工具。
***************************************************************

安装rrdtool
#cd /usr/ports/databases/rrdtool
make config                        —> choose which module you want to install
#make install clean


安装CACTI
下载: http://www.cacti.net/downloads/cacti-0.8.6c.tar.gz  
#cd /usr/ports/net-mgmt/cacti
#make install clean
数据库准备工作  
1. Create the MySQL database:
#mysqladmin –user=root create cacti
2. Create a mysql user/password for cacti:
(change user and/or password if required)

#echo “GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser’; FLUSH PRIVILEGES;” | mysql
# mysql -u root –p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 130 to server version: 4.1.15-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database cacti;
grant all on cacti.* to root;
grant all on cacti.* to root@localhost;
grant all on cacti.* to cacti;
grant all on cacti.* to cacti@localhost;
set password for cacti@localhost=password('kikihu');
exit

3. 导入cacti数据库:
#mysql cacti
4. 编辑/include/config.php.
#ee /usr/local/share/cacti/include/config.php
#ee /usr/cacti/include/db-settings.php                   #版本不同,配置文件不同
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “kikihu”;

$database_port = “3306″;

5. ee  /etc/crontab
*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1
Replace cacti
with the valid user specified in the previous step.
Replace /var/www/html/cacti/ with your full Cacti path.
6. httpd.conf配置cacti alias:
#ee /usr/local/etc/apache/httpd.conf
Alias /cacti/ "/usr/local/share/cacti/"

Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

7. cacti目录访问权限设置: Be sure apache gives an access to the directory (’Allow from’ keywords).
chown -R cacti rra/ log/
chown -R   cacti:cacti /usr/local/share/cacti/*
8. Open a cacti login page in your web browser and follow diagram to login with admin/admin.

http://IP/cacti
进入cacti的初始设置页面:
在这里我们要输入一些原始的信息:
输入一些信息,如rrdtool、php、snmpwalk、snmpget的位置,使用ucd-snmp还是net-snmp等 -》
输入原始的用户和密码:admin/admin -》
更改admin用户的密码 -》
点击 Save

[code]
snmpwalk Binary Path : /usr/bin/snmpwalk
snmpget Binary Path: /usr/bin/snmpget
RRDTool Binary Path: /usr/rrdtool-1.3/src/rrdtool
PHP Binary Path: /www/php/bin/php
Cacti Log File Path: /www/htdocs/cacti/log/cacti.log
Cactid Poller File Path: /www/htdocs/cacti/poller.php



安装Spine(原名为Cactid )
cd /usr/ports/net/cacti
make install clean ;


cd /usr/ports/net-mgmt/cacti-spine/
make install clean ;
ee /usr/local/etc/spine.conf                           //修改spine配置文件

ee /usr/local/etc/cactid.conf                                   //老版本
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass kikihu
使用spine

(1)登陆console--Configuration--Settings--poller--Poller Type改为spine
(2)登陆console--Configuration--Settings--paths--Spine Poller File Path添加/usr/local/bin/spine


插件列表:
http://cacti.net/additional_scripts.php

http://forums.cacti.net/about15067.html


http://cactiusers.org/downloads/



安装 Plugin Architecture

要使用cacti插件必须先扩展cacti架构,来支持插件。
1.    安装cacti插件架构扩展
下载地址:fetch
http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz

1).解压下载的tar包,你会得到一个cacti-plugin-arch目录
# tar –zxvf cacti-plugin-arch.tar.gz
# cd cacti-plugin-arch
# ls
cacti# cd cacti-plugin-arch
cacti# ls
LICENSE                   files-0.8.7b
Readme.txt                 pa.sql
cacti-plugin-0.8.7b-PA-v2.1.diff
2).有两中方法来安装cacti的插件架构扩展:
第一种方法是使用patch文件,patch文件包含了原始文件与修改后文件的不同之处,所以可以使用patch文件来得到新的文件。
第二种方法是使用pre-patched文件进行直接覆盖,将与cacti相对应版本的files-0.8.6*目录下的文件直接拷贝到cacti目录下进行覆盖。
在此选择使用patch文件进行安装(这也是官网推荐的方法)。将与cacti相应版本的cacti-pligin-0.8.6*.diff文件拷贝到cacti目录下,然后使用patch命令进行安装。
# cp cacti-plugin-0.8.7b-PA-v2.1.diff  /usr/local/share/cacti/
# cd /usr/local/share/
#cp -r cacti /usr/local/share/cacti.bak    //备份cacti目录,以备插件扩展安装失败后能恢复到原状态
# cd /usr/local/share/cacti/
# patch -p1 -N cacti-plugin-0.8.7b-PA-v2.1.diff
3).安装后配置,首先查看你的cacti配置文件,看cacti相关的数据库信息是否被覆盖,如果被覆盖请直接从备份中拷贝一份到配置文件目录。
# cp ../include/config.php ./include/config.php
ee /usr/local/share/cacti/include/global.php
打开cacti配置文件,找到以下选项
$config['url_path'] = "/";
如过你的cacti能够在浏览器中使用以下方法直接访问,则不用修改cacti配置文件。
http://www.youdomain.com 或
http://cacti机器ip
           如果cacti在浏览器中使用以下方法直接访问,
           http://www.youdomain.com/cacti 或
           http://cacti机器ip/cacti
则$config['url_path'] = "/";必须被修改为$config['url_path'] = "/cacti/";
           注意前后的/不能丢。
           到此cacti插件结构的扩展完成,现在可以下载并安装你需要的cacti插件了。


1.    安装插件
cd /usr/local/share/cacti/plugins/
Monitor插件下载地址:
http://cactiusers.org/downloads/

Threshold插件下载地址:
http://download.cactiusers.org/downloads/thold.gzip

1).下载插件,在此以Monitor插件为例。
# tar -zvcf monitor-0.7.tar.gz   
2).安装Monitor,只需要将monitor目录拷贝到cacti/plugins/目录下即可。如果是升级安装,只需要完全覆盖原monitor目录即可。
3).激活monitor插件,修改cacti配置文件(cacti目录下的include/config.php)。在配置中查找$plugins = array();行,在此行下面加入:
$plugins[] = 'monitor';                 #变换不同插件
注意:上面monitor的名字必须与cacti/plugins/目录下插件目录的名字相同。
4).有些插件需要进行额外的配置,请根据插件的安装文档进行配置,在此略述。
5).移除插件时只要修改cacti配置文件,注释掉与插件相关的行即可。
如:
     //$plugins[] = 'monitor';
6).在console选项卡下,点击左侧菜单中的Settings--web--Misc选项卡来配置Monitor插件。
7)在console选项卡,在左侧菜单中点击Settings--Alerting/Thold选项卡,来设置Threshold插件。

1. 其它插件
其它插件可到http://cactiusers.org/downloads/自行下载安装,在此只略述一二。
1).Discovery:This plugin adds the ability to auto-discover devices on a subnet that are not monitored by Cacti and and tells you if they are SNMP enabled.
2). Flowviewer:A simple viewer for viewing reports based on data from flows created by Netflow.
3).Mac Track:The Mac Track plugin for Cacti by The Witness.
4).Settings:This plugin houses common settings and functions used by different plugins.
5).Network Weathermap:这是一个比较复杂的cacti插件,他需要GD库的支持,可以参照
cacti的安装
小节来支持GD库。使用它可以画出漂亮的网络状况图。

官网说明:
http://www.network-weathermap.com/node/79

下载地址:
http://www.network-weathermap.com/download

安装方法:
http://www.network-weathermap.com/manual/0.92/pages/install-cacti-editor.html


安装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中添加Advanced Pingv1.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监控图。
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 Graph Templates中添加想要监控MySQL状态的Graph Templates(如teMySQL – Index Usage模板,此套模板是以teMySQL开头的一系列模板)。并点击最上面的Create Graphs for this Host链接,在Graph Templates的选择框中选择teMySQL – Index Usage,然后点击Create按钮,出现以下WEB页。
在上面填写有权限访问MySQL数据库的用户名及密码,然后点击create按钮。
选中刚添加的Graph Templates,点击create按钮来创建Graph。
在控制台选项卡下左侧菜单中选择Graph Trees可以组织一个树状视图。
在graphs选项卡下浏览创建的MySQL监控图。

3.其他模板

其他模板在以后慢慢加入,敬请期待。如果各网友有什么好的模板,也请不吝赐教,大家一同提高。


附录:
Cacti官网:
http://www.cacti.net/index.php

Cacti官网论坛:
http://forums.cacti.net/

Cacti文档:
http://docs.cacti.net/

Cacti插件:
http://cactiusers.org/index.php

Network Weathermap:
http://www.network-weathermap.com/

RRDTool官网:
http://oss.oetiker.ch/rrdtool/

NET-SNMP官方网站:
http://www.net-snmp.org/

Apache官网:
http://httpd.apache.org/

MySQL官网:
http://www.mysql.com/

PHP官网:
http://www.php.net/



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/67466/showart_1160357.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP