(马世龙)Linux下CACTI完全搭建技术文档二

续(马世龙)Linux下CACTI完全搭建技术文档一

6.完成cacti的安装
1. 首先检查一下rra/下面,有没有数据
2. snmpwalk -v 2c -c public ServerIP if 用来测试被控对象(serverIP)是否开启了SNMP服务
3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU负载的数据返回
4. /usr/local/bin/php /usr/local/apche2/htdocs/cacti/poller.php 用来测试PHP是否可以采集到数据。如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux。
5. 如果按第2步snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改PHP.ini,很有可能是PHP权限问题。

 
打开浏览器 http://本机IP地址/cacti
进入 cacti 的初始设置页面
第一次默认登陆账号:admin 密码 admin
登陆后它就会让你立即修改新密码
说一下 cacti 设置页中各项“零件”的路径。
当修改好新密码进入,第一个显示出的页面就是让你设置 rrdtool,snmp 等工具的路径。这是个很重要的环节,必须无误,要不然 cacti 将无法生成出统计图。

snmpwalk Binary Path : /usr/bin/snmpwalk
snmpget Binary Path: /usr/bin/snmpget
RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool
PHP Binary Path: /usr/local/php/bin/php
Cacti Log File Path: /data/web_server/admin/cacti/log/cacti.log
Cactid Poller File Path: /data/web_server/admin/cacti/poller.php


默认的配置中会出现许多“ NotFound ”
按照上边的路径把“ NotFound ”的项都重新填上。
手动运行一次
/usr/local/php/bin/php /data/web_server/admin/cacti/poller.php > /dev/null 2>&1
你就能在顶上 graphs 中 localhost 里头看到本机的内存,CPU,登陆用户等的统计图 .

图1. Cacti 统计图
 
但默认 Cacti 是没有创建网卡流量的监控图的。要我们自己来加。
回到 console 菜单
选择 Devices 监控设备。

图2. 设备监控


图3. 添加设备
 
然后点击右上角的 Add 进行添加
Description 设备名称 ( 可随意输入 )
Hostname 设备地址 ( 如果是本机就填 127.0.0.1 )
Host Template 设备的类型 ( 选择 ucd/net SNMP Host )
然后其他按照默认即可,如下图

图4. 添加的新设备
 
点 create 创建。
如果刚才填写的地址无误,创建成功后,会在该页面左上方出现所新建设备的 SNMP Information
然后点击隔壁醒目的 * Create Graphs for this Host 即开始创建监控图表

图5. 创建图表-1


图6. 创建图表-2
 
如图 6,沟选你所要监控的网卡以及 IP,点 create 。
这样就完成了你所指定设备统计图的创建。

图7. 添加的设备统计图
 
点击菜单中的 Graph Management即可浏览到你刚才所创建的图表,如图 7 箭头所示。

图8. 统计图表
 
有一个小技巧,初次要求 cacti 创建指定设备的统计图表,通过 Graph Management 进入图 8 所示页面时,统计表图片会是一个 X ( 叉 ) 。这是因为在配置初期指定系统中每 5 分钟执所行的 php 语句还没到点运作。要么你就等 5 分钟,要么你就直接进入系统手动执行:

/usr/local/php/bin/php /data/web_server/admin/cacti/poller.php > /dev/null 2>&

然后曲线表中就能出现第一个峰值,每 5 分钟自动更新。 24 小时后,曲线图就能完整地出现在你眼前。
回到图 7 Graph Management的界面勾选新建的图表项,然后在下边
Choose an action 框中选择 Place on a Tree(default Tree)
就能把该图表类似快捷方式的样子张贴到本文图 1 所示的 Graphs,Default tree 栏目中。然而你也能自己在菜单栏的 Graph Trees中新建定制栏目,然后用相同的方法把新建的统计图往你所定制的栏目中放。
Cacti 的强大功能不单止可以通过 snmp 获取装有 Linux,Unix 操作系统服务器的运行状态,还能监控 Windows 系统服务器。跟诸如 Cisco,Linksys, 路由器,交换机,无线 AP 。或者其他支持 snmp 管理协议的网络设备。


 
回页首

实际应用
下边我们举出实应用的例子。
设备结构:
网络入口路由器 Linksys RV042。
Linksys 的一款路由器,主要负责,外网接入路由,防火墙,以及端口映射。
server1 WEB 应用服务器
操作系统: Linux RedHat As4
Eth0,Eth1 双网卡工作。前者接入路由器映射至外网。后者直连至 server2
进行反向代理 ( proxy ) 以及数据备份以及同步等功能。
IP 分别为 192.168.3.2 以及 192.168.10.2
server2储存,FTP与WEB 应用服务器
操作系统: Windows2003 r2
与 server1 网络环境相仿,双网卡工作。
IP 分别为 192.168.3.3 以及 192.168.10.3
Cacti 已经配置完成,安装在 server1 上。第一台添加到监控表里边的是路由器 RV042 。打开路由器的 WEB 设置页面,勾选并启用 SNMP 功能。如图 9
Send SNMP Trap to: 192.168.3.2( server1 的 IP )
然后其他输入框按照默认留空即可,但需留意 Get Community Name: 所填写的组名: public 。保存设置。

图9. 保存设置
 
登陆 Cacti ,console 菜单栏中点击 Devices。跟前边图 1 至 8 添加新设备以及创建统计图表的步骤相同
Description 设备名称 ( 我们这里自定为 Linksys RV042)
Hostname 设备地址 ( 路由器的地址 192.168.3.1 )
Host Template 设备的类型 ( 选择 ucd/net SNMP Host 或者是 Cisco Router )
然后其他按照默认即可。
创建成功后,也会在该页面左上方出现所新建设备的 Linksys RV042 SNMP Information
点击隔壁 *Create Graphs for this Host 创建监控图表

图10. 创建监控图表
 
路由器 RV042 的端口以及 IP 等数据都取出来了。
勾选好所要监控的端口,点击 create 就能完成路由器监控图表的建立。
Cacti 运行在 Server1 上,所以配置方式跟前边所介绍是一样的,这里就掠过了。但顺带说一下,如果环境中还存在 Server3,而且跟 Server1 一样都是 Linux 系统,需要添加到 cacti 里头。哪么只需在该服务器上修改 snmp 配置,修改的内容也跟 server1 上几乎一样,不同的是。
编辑 /etc/snmp/snmpd.conf 的时候,原来填 127.0.0.1 ( 本机地址 ) 的地方换成 Cacti 所在运行的服务器 IP,即 server1: 192.168.3.2
com2secnotConfigUser default public
改为:com2secnotConfigUser 192.168.3.2(server1 地址) public
access  notConfigGroup ""  any   noauth    exact  systemview  none none
改为:accessnotConfigGroup""anynoauthexact all none none
#view all    included  .1         80
将前面的 # 注释 去掉。
保存退出 :wq
重新启动 snmp 服务
# service snmpd restart
在 Cacti ,Devices中创建新设备,
填写 Server3 IP 地址,设备类型: ucd/net SNMP Host , 创建图表 , 完成。
到 Server2 的 win2003 系统了。
给 Windows 安装 SNMP 协议支持
通常由于 SNMP 是一个建议关闭的协议 ( 因为有安全漏洞 ),所以 Windows 2003 不是缺省安装的。但 Cacti 用的就是 SNMP 协议,而且服务器处于内网中,有路由器防火墙对外隔着,所以装吧。
控制面板– > 添加或删除程序– > 添加 / 删除 Windows 组件– > 管理和监视工具– > 简单网络管理协议 (SNMP)
修改 SNMP 的安全设置
这台服务是被监控方,所以需要像刚才举例的 Server3 那样修改 SNMP 的配置。否则在 server 1 里头的 Cacti 则永远也收不到 SNMP 的消息。打开 Services 窗口并找到 SNMP 服务,打开右键菜单,选择属性。在打开的窗口中找到“安全”选项页。在选项页中有两部分设置,上半部分是指 SNMP 服务接受哪种 Community 指示字,缺省情况下 Windows 2003 不对任何指示字反馈,我一般都添加设置为。
团体名称:public, 权限:只读
下半部分添加可信任的主机名、IP 或是 IPX 名称。这里就也是添加 server1 的 IP 192.168.3.2 如图 11


图11. 修改SNMP 的安全设置
 
修改防火墙
如果你安装了防火墙,还要记得打开 UDP 161 端口。
完成后重新启动 SNMP server 服务
登陆 Cacti 点 Devices创建新设备。
填写 Server2 IP 地址,设备类型:Windows 2000/XP hosts
从 Windows 上获取到的 SNMP 信息也挺多,CPU,内存,虚拟内存,硬盘空间使用,网卡流量,一应俱全。最后创建图表 , 完成。
七、rrdtool-1.2的安装
如果 ./configure 时出现下面这个错误

configure: error: Please fix the library issues listed above and try again.

表明系统有功能缺失,需安装 libart_lgpl-devel.rpm 这个包
如果还是提示听样的错误,有可能是找不到 FreeType
把 /usr/local/freetype2/lib/pkgconfig 下的 .pc 文件拷贝到 /usr/lib/pkgconfig 下即可
如果 make install 时出现 [tclrrd.o] 错误
就安装 tcl-8.4.7-2.i386.rpm 以及 tcl-devel-8.4.7-2.i386.rpm 这 2 个包

1.2版的rrdtool画出的图,比1.0的要漂亮些.1.0用的是GD画图,1.2用的是libart和freetype画图.1.2的画图会慢一点.
1.2版的安装,可以见http://bbs.chinaunix.net/forum/viewtopic.php?t=552224
上面的安装比较麻烦,需要装不少库,其实,可以,可以直接RPM安装,RedHat的系统,直接从安装光盘上找到这几个库,安装就可.主要的包有:
libart_lgpl
libart_lgpl-devel
libpng
libpng-devel
zlib
zlib-devel
freetype
freetype-devel
找到上面这些包,直接rpm –ivh *.rpm
cgilib好象没有,而且,从rrdtool官方网站下载的cgilib无法安装.我们也不需要rrdcgi,所以,可以不考虑了.
安装完后,解压1.2版的rrdtool
./configure –prefix=/usr/local/rrdtool –disable-rrdcgi
make
make install
cp /usr/local/rrdtool/bin/* /usr/local/bin/





     本文转自 wqmsl 51CTO博客,原文链接:http://blog.51cto.com/wqmsl/309758,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目经理如何管理情绪?这三本书管理书籍你必须要看

本文主要是介绍三本管理的书籍,需要全部书籍的可以加Q群375508415去拿走。里面很多大神的PMP资料。 大家有没有觉得项目经理有时像个政委,做员工思想工作; 有时像个HR,操心员工的稳定和发展; 有时像个咨询顾问&#xf…

java 外部接口调用 设计模式_《Java设计模式》之接口模式

-----------模式是思想的体现,而非具体的实现。抽象的讲,类的接口是类允许其他类对象访问的方法与字段集。接口通常代表一种承诺,即方法需要实现接口方法名表示的操作,遵循代码注释和其他文档说明,类的实现就是方法体中…

BFS(广度优先搜索)

Catch That Cow Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer …

leetcode111. 二叉树的最小深度(队列)

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回它的最小深度 2.代码 /*** Definition for a binary tree no…

企业网站6个常见的优化漏洞

导读:企业做营销网站目的,就是希望通过网络营销,挖掘目标客户。目标客户怎么来,那就需要通过网站优化,把网站关键词优化排名到首页,这样才能更多的机会被潜在客户点击。很多企业网站上线之前,没…

aspx 微型_最初的十亿分钟:正在向世界授课的微型非营利组织背后的数字

aspx 微型by Quincy Larson昆西拉尔森(Quincy Larson) 最初的十亿分钟:正在向世界授课的微型非营利组织背后的数字 (The First Billion Minutes: The Numbers Behind the Tiny Nonprofit That’s Teaching the World to Code) People have now spent more than 1 b…

[RN] React Native 自定义导航栏随滚动渐变

React Native 自定义导航栏随滚动渐变 实现效果预览: 代码实现: 1、定义导航栏 NavPage.js import React, {Component} from react; import {View, Text, Image, StyleSheet, TouchableOpacity, Platform, Dimensions} from react-native;/*** 自定义导航…

【CSS 技能提升】 :before和:after的使用

前几天的晚上较全面的去看了下css的一些文档和资料,大部分的样式运用都没什么大问题了,只是有些许较陌生,但是也知道他们的存在和实现的是什么样式。今天主要想在这篇学习笔记中写的也不多,主要是针对:before和:after写一些内容&a…

c语言模拟java面向对象_纯c语言实现面向对象分析与示例分享

#include #include //接口#ifndef Interface#define Interface struct#endif//类#ifndef Class#define Class struct#endif//抽象形状类Class Shape;typedef Class Shape shape;//抽象形状类的方法声明shape* Shape(int edges);int shape_getEdges(shape *);int shape_getArea(…

leetcode152. 乘积最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 代码 class Solution {publi…

成功试验基于C#/.NET的Android开发

今天最开心事情莫过于摸索验证了一个事情,C#也能进行Android和IOS开发,白天安装了开发环境,晚上进行测试,直到此时此刻,已经成功的导出一款基于C#/.NET的安卓APK,并且能够成功的导入到安卓手机运行&#xf…

使用机器学习预测天气_如何使用机器学习根据文章标题预测喜欢和分享

使用机器学习预测天气by Flavio H. FreitasFlavio H.Freitas着 如何使用机器学习根据文章标题预测喜欢和分享 (How to predict likes and shares based on your article’s title using Machine Learning) Choosing a good title for an article is an important step in the …

深入理解了MySQL,你才能说熟悉数据库

先抛出几个问题 1.为什么不建议使用订单号作为主键?2.为什么要在需要排序的字段上加索引?3.for update 的记录不存在会导致锁住全表?4.redolog 和 binlog 有什么区别?5.MySQL 如何回滚一条 sql ?6.char(50) 和 varchar(50) 效果是一样的么?索引知识回顾 对于 MySQL 数据库…

ibatis mysql 自增_mybatis自增主键

简单介绍:在使用mybats插入数据是,有很多需要和id关联的其他数据,所以在插入一条信息时获取其主键信息是很常见的操作。一 mysql数据库的主键自增(int类型的主键)1 创建一个表,设置表的id(此id必须是int类型),设置为au…

DataGridView控件用法二:常用属性

通常会设置的DataGridView的属性如下: AllowUserToAddRows - False指示是否向用户显示用于添加行的选项,列标题下面的一行空行将消失。一般让其消失。AllowUserToDeleteRows - False指示是否允许用户从DataGridView删除行。一般不允许。AllowUserToOrder…

leetcode面试题 16.21. 交换和(二分查找)

给定两个整数数组,请交换一对数值(每个数组中取一个数值),使得两个数组所有元素的和相等。 返回一个数组,第一个元素是第一个数组中要交换的元素,第二个元素是第二个数组中要交换的元素。若有多个答案&…

谈谈IP和MAC捆绑的破解之道

来源:[url]http://l-y.vicp.net[/url]我们学校最近将MAC和IP进行了捆绑,又在服务器(2K)上进行了上网时间的限制,真是烦死人了,我想我可是一个从不受限制的人啊,怎么可以就这样束手就擒呢!古话说…

如何在JavaScript中区分深层副本和浅层副本

by Lukas Gisder-Dub卢卡斯吉斯杜比(LukasGisder-Dub) 如何在JavaScript中区分深层副本和浅层副本 (How to differentiate between deep and shallow copies in JavaScript) New is always better!新总是更好! You have most certainly dealt with copies in Java…

网站QQ全屏PHP代码,QQ技术导航升级版 超级导航美化版带后台版 PHP源码

QQ技术导航升级版 超级导航美化版带后台版改进F2样式,主针对QQ教程网、卡盟、博客、提供更好收录的位置。改进QQ技术导航背景,增加整体美观效果。去掉死链页面,站长操作使用更加有扩大空间。优化后台登陆界面,去掉织梦后台携带的广…

MySQL基础操作(一)

MySQL操作 一、创建数据库 # utf-8 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;# gbk CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 二、用户管理 创建用户create user 用户名IP地址 identified by 密码; 删…