cacti是以被监控的 devices】 为中心,devices关联了哪些图形模板,关联了哪些数据模板,关联了哪些数据收集方法,这些我们都可以在编辑devices是进行设置。

wKiom1W9zFHxVgDJAACa47pM4wA384.jpg    

每添加一个被监控的设备,有三个基本的步骤:

  1. Create devices 添加一个设备;

  2. Create graph 为新增的设备创建图形

  3. view 查看生成的图形

wKiom1PkWheiEPY1AABkV2xJNjQ592.jpg


一、配置Cacti 监控本地主机 localhost

    我们需要监控设备的状态,所以,一上来我们干的第一件事就是添加 Devices。首先我们点击“Devices“标签,进入设备面板,我们看到已经存在了一个localhost。

wKiom1PkWyzhRPpXAAEw_jAlujE654.jpg

【console】-【Devices】-【Localhost】 

    然后,我们点击Localhost,对本机主机进行配置,"Description","Hostname","Host Template"这些选项都非常直观易懂。保持默认配置就好。

    这里我们主要修改编辑 SNMP Options,如下图所示,只要选择SNMP版本为“Version2”,和指定相应的community 及 SNMP Port,其他选项都不用动,然后点击右下角“Save”即可。

  • SNMP 版本 , 根据实际安装配置 SNMP 而定

  • Community  也是根据 snmpd.conf 配置文件中的定义

wKiom1PkXRyS61cWAAHd9xUdLxU709.jpg

    如果localhost没有安装 snmp,或者snmpd服务未启动,更或者是SNMP Community错误,在页面的左上角都会报错,说明cacti和snmp通信错误。如果出现错误,请检查上述提及的这些问题。

wKiom1QBqWzz142NAADaEZdAHyw185.jpg

如果SNMP配置没有问题,那么在正常情况下,会在左上角显示该被监控机的SNMP information,如下图所示

wKioL1QBsZ-hO8XjAAEtSV6rpzE900.jpg


 通过下图用红框标记的部分,我们分别可以看出localhost这个devices所关联的"Graph Templates", "Data Queries",我们可以点击红X,删除。或者点击Add按钮,添加。 

    由此,我们也可以看出, HOST Templates 的作用, HOST Templates 结合了 Graph Templates 以及 Data Templates 。

wKioL1W__YOhZFgQAAJ68fyc0zY588.jpg


Data Source List(此主机涉及到的 rrd 文件)

    点击localhost编辑页面左上角的"Data Source List",查看数据源列表。

wKiom1QBssKyFs_OAAMpH3XQ3OQ848.jpg

然后,我们可以点击数据源的 name,并且打开数据源调试模式,以便查看更详细的信息。

wKioL1QBtKShL_pyAALCm--E6eA193.jpg

  我们可以看到此数据源名为localhost_load_1min_5.rrd,定义了数据收集完之后,保存在什么地方。那么如果我想看这个rrd文件创建时,是使用的什么命令,该怎么办呢? 我们可以点击"Turn On Data Source Debug Mode"查看,详细的创建rrd的命令,就像上图看到的。


    同样,我们也可以查看"Graph List"。

Graph List(rrdtool graph 相关)

  回到devices编辑页面,还是左上角的"Graph List",我们可以看到此devices的图形列表。

wKioL1QBxlbR7dKaAAI7kKuQhVc536.jpg

  然后我们可以继续点击 Graph Title,查看特定的图形信息。我们也可以查看具体的创建图形的语句,当我们有时候遇到不出图的情况时,但是在rrd中,我们能够通过rrdtool fetch 查看到数据,此时,我们可能就需要到这里来查看一下,是否有问题。

wKioL1QBx8fRaLBUAAMY2GcRJKU551.jpg

wKiom1QBxrCi_mUzAAKPq_LcqlU133.jpg


好了,到此我们应该对cacti的工作原理有一个大概的了解。那么这里再总结一下:

  1. 首先我们要监控一个设备,我们需要收集数据。数据从哪里来呢? 数据收集方法(Collection Methods)。

  2. 数据收集到了,如何保存呢?如何创建rrd文件呢?  数据模板(Data Templates)。

  3. 然后我们把数据模板应用到某devices之上,就有了数据源 "Data Sources",也就是可以绘图了。

  4. 有了数据源,如何绘图呢? 图形模板(Graph Templates),或者自定义


假设我要对localhost添加一些监控项,怎么办? 根据上面的思路,就很容易做了。

步骤一:添加监控项目。  添加 数据查询方法, 也就是定义如何获取数据,获取哪个设备的数据

console -> Devices -> Localhost -> "Associated Data Queries"

wKioL1QBzlmQKvTOAAG9uAmI-VA245.jpg

第二步: 创建图形

然后,我们选择页面右上角的“Create Graphs for this Host”,为这个devices数据查询创建图形。

wKioL1QB0BugVClwAADfgcPvSTg346.jpg

然后,勾选需要创建图形的复选框, 点击页面右下角的 create 即可。注意,添加完成之后,并不会立即出图,需要等待一段时间,才会出图,不要大惊小怪。由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不能显示的现象,需要等几分钟查看才会正常显示。



二、创建Graph Trees

    为了我们查看图形方便,我们可以创建Graph Trees,把监控的对象进行分类。更直观,便于我们管理。默认情况下,仅包含 Default Tree。


a. 在Cacti Web界面Graph Trees中,选择相应的列(或者系统默认的Default Tree)。

b. 进去Tree之后,点击右上角的Add,添加一个新的显示项。

c. 在Tree Item Type中选择Host,然后在下面的Host中选择我们刚才创建的主机。点击Create。

d. 此时,再进入Graphs界面,就可以看到在Default Tree下加入了我们新创建的主机。


新建Graph Trees:

点击“Graph Trees” -> “Add”

wKioL1PkjsDRWCKoAAH4OfhVUZg488.jpg

    现在,Graph trees已经创建好了,接下来我们把主机添加到graph trees中。继续在上一步的页面,点击“Add”,在“Tree Item Type”中,选择“Host”,其它默认即可,然后点击“Create”。

wKioL1PkkK_iGFl0AAI2DvTOfR0280.jpg

以后,我们要查看某个主机的信息,直接到某个类别下面找即可。这样就能够清楚的分门别类,更方便我们管理。


二、配置Cacti监控远程主机 

  上面讲解了如何监控本地的主机,那么如何监控远程的主机呢?其实过程和监控本地主机的方式是相同的。但是请注意,前提是远程的主机上需要安装SNMP,并简单的配置。

假设被监控机是类Unix系统, 比如CentOS/RHEL系列

第一步:在被监控机上安装snmp,并开启

[root@db ~]# iptables –F
[root@db ~]# setenforce 0

# yum -y install net-snmp 
# yum -y install net-snmp-utils    # 可选项
# chkconfig snmpd on

## 然后编辑配置文件,通常修改下面三行就行了
# vi /etc/snmp/snmpd.conf

#允许访问的IP,后面的是和服务器之间的认证,不建议使用默认值 public,两边必须一样,这边改了服务器那边也要修改一下。
com2sec notConfigUser  192.168.0.0/16       public
view    all    included   .1
access  notConfigGroup ""      any       noauth    exact  all none none

## 重启snmpd服务
# service snmpd restart

## 在监控机上测试, 注意被监控机的 iptables, 和 SELinux
[root@db ~]# snmpwalk -v2c -c public 192.168.1.32 system.sysUpTime.0
Timeout: No Response from 192.168.1.32
[root@db ~]# snmpwalk -v2c -c public 192.168.1.32 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9759) 0:01:37.59

第二步:在Cacti上配置添加监控主机

【Devices】 - 【Add】 添加新设备, 并填写被监控机的各种信息,然后点击右下角的【Create】即可。

wKioL1W93YmxHehSAAGrzYIXffQ955.jpg

  • 其中Host Template请选择“Local Linux Machine”或“ucd/net SNMP Host”(选择一个合适的主机模板)

  • SNMP Community 一定要确保和被监控机 snmpd.conf 中定义的一致

wKiom1W925aRhGdCAAPUyELwW1M555.jpg

    如果SNMP配置没有问题,那么此时Cacti页面左上角会出现 SNMP Information, 否则保存“SNMP error”。

如果出现 SNMP error, 请检查被监控端的snmpd 服务是开启,防火墙设定, 以及Cacti 设置的 SNMP Community 是否一致。可以手动在监控机上执行 snmpget/snmpwalk 命令进行测试。

    点击【Create Graphs for this Host】

wKioL1W93YqDWt0oAAHRTuF_d8Q152.jpg

点击右上角的“Create Graphs for this Host ”为该设备创建需监测的内容。点击右侧的正方形选择框勾选上要监测的项目,然后 "Create" 即可。


对于windows7/8如何开启 snmp:

控制面板 -> 程序和功能 -> 启用或关闭windows功能 -> 勾选简单网络管理协议(SNMP)

wKiom1Pkon2TkLvuAAGiMLHysvY951.jpg

然后在“services”服务中,编辑其属性,设置community。


对于windows xp/2003:

  这里以Windows Server 2003为例,对于其他Windows产品,方法类似。首先确认当前的windows组件是否已经安装了SNMP协议,默认情况下是没有安装的。如果没有安装,则按以下步骤进行

    控制面板 -> 添加或删除程序 -> 添加/删除windows组件 -> 管理和监视工具 -> 详细信息 -> 勾选简单网络管理协议(SNMP)。

wKiom1PkpJ-jXut4AAIRDtrlpCg232.jpg

  在安装过程中,会提示插入光盘,指定I386的文件夹位置。没有怎么办? 这里我上传了一个附件,大家可以下载。提供windows 2003的SNMP独立安装组件,只有200多K,下载后解压,然后指向这个目录即可。SNMP组件安装成功后,接下来打开“管理”菜单中的“服务”。

wKiom1Pkz1HgoGf6AAENkxYloIw882.jpg

  找到SNMP Service,双击它进行配置。这里需要注意的是,在前面安装SNMP协议组件之后,SNMP Server会默认启动,而它下边的SNMP Trap Service是不要启动的,请关闭它。

wKioL1Pk0TDjnJxJAAEY5xjBe4U984.jpg

  在SNMP Service的配置窗口中,你只需要切换到"安全"选项卡,按照以下的图示进行填写,这里的团体名称就是前边介绍过的SNMP v2c版本中的密码字符串,这里的"public"只是一个例子,你可以填写其它的字符串,在配置cacti的SNMP Option时,选择v2c协议,同时在 Community输入框中填写这个团体名称即可。

    另一个需要特别设置的地方是下边的授权主机,选择"接受来自这些主机的SNMP数据包",然后在下边的指定主机中添加cacti/Nagios 监控中心的IP,这使得除此之外的其它服务器无法获取你的服务器监控信息。

wKioL1Pk0evQKc0KAAEMoPADkSU835.jpg

  一切配置好后,保证SNMP Service已经开启,并且如果以后重启了服务器,也请检查是否开启了SNMP服务。另外,还要保证你的服务器已经打开了SNMP Service的端口,默认为UDP 161。如果你启用了系统防火墙,那么请添加这个例外端口,打开本地连接->属性->高级->设置,在"服务"标签中点击添加,添加如 下端口

wKiom1Pk0SeglbXXAAESUkkLZGU270.jpg

最好在监控端使用snmpwalk等命令测试一下。

对于windows server 2008

功能添加功能安装SNMP服务(安装完可能需要重启)   

wKiom1W-HbWzS_T8AAMP5BCMsNM072.jpg

配置SNMP 的属性: 管理--配置服务—snmp service 属性中  安全-添加以下内容。然后重启snmp服务

wKioL1W-H6ri6QL_AAOlcfhC1B0094.jpg


好了,这里扯远了,回到正题,监控远程主机,同样,我们按照下面的三个步骤即可。

wKiom1PknVnTx1G1AABkV2xJNjQ433.jpg

进入Cacti的console面板->点击“Devices”进入设备面板->点击“Add”添加新设备

wKiom1PknpCChYiAAALxQl4k_8Q869.jpg

  其实这里最关键的就是Hostname,Host Template,以及SNMP Options,其中Host Template请选择“Local Linux Machine”(选择一个合适的主机模板,这里如何添加模板还没有讲到,后面的学习记录中讲解)->点击“Create”保存信息,如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出现“SNMP error”的红色字样。

    然后,其后的过程,和监控本地主机完全相同。不过,请注意由于cacti默认每5分钟执行一次poller.php去收集数据,所以刚创建的主机并不会立刻出图,稍等片刻即可。


一步一步 监控windows server 2008 R2 实战演练

第一步:前提条件

一、已安装好 Cacti

二、准备好以下安装文件,在附件中已提供下载:

第二步:配置被监控主机(windows server 2008 R2)

为window系统配置snmp服务及安装snmp informant(此处以64位的win 2008为例)

进入功能添加向导,勾选SNMP服务,然后点击”下一步”安装完成后,点击关闭.

wKiom1YEnTeBMMhjAAJAp7gAJsA267.jpg

打开【服务管理器】,找到SNMP Service项【双击】,打开属性窗口

wKiom1YEnpzh5KvXAASjVifZYfE960.jpg弹出的窗口中选择”安全”选项卡,并设置社区为: public   (根据实际需求)

按需要可设置“接受来自任何主机的SNMP数据包 (不建议)” 或 “接受来自下列主机的SNMP数据包(推荐)” ,只指定个别机器 IP 地址.

然后确定并重启SNMP Service.

wKiom1YEn73AwWkhAAFgSjUz9BY497.jpg

解压文件informant-std-16.zip并安装其中的informant-std-16.exe(双击然后按提示安装即可,默认安装即可,此处不特别介绍。)

wKioL1YEoFCjoKN6AADA22H451s801.jpg


开启SNMP服务的防火墙例外,如下图所示,SNMP使用161端口,我们必须开放161端口才可以。

 wKiom1YEoE3iwjeKAAHM04FBTDY063.jpg

注意:防火墙设置关键点如下图所示,要求全部设置成“任何IP地址”,否则在监控服务器上执行以下命令会得不到任何信息

wKioL1YEq_7BM6-wAAFR55hQ0FY563.jpg

测试:

//修改前
# snmpwalk -v 1 -c public 10.138.xx.xx .1.3.6.1.2.1.1.1.0
Timeout: No Response from 10.138.xx.xx

//修改后
# snmpwalk -v 1 -c public 10.138.xx.xx .1.3.6.1.2.1.1.1.0
iso.3.6.1.2.1.1.1.0 = STRING: "Hardware: Intel64 Family 6 Model 46 Stepping 6 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)"

 以上被监控的客户端设置完毕

第三步:配置cacti 服务器

1、导入cacti监控模板

解压文件Cacti_SNMP_Informant_Standard_Metrics_v13.zip,把template文件夹中的6个模板文件,通过cacit操作界面导入。

wKioL1YErPqRGbshAAQv0ntpuUs098.jpg

2、然后把文件夹resource\snmp_queries中的xml文件,放到cacti服务器中的相应目录,我的服务器为/usr/share/cacti/resource/snmp_queries,具体目录根据cacti安装路径会有所变化。还有设定这些文件的访问权限,保证所有用户都有读的权限。以上cacti模板安装完成

四、创建监控主机及监控资源图

点击Devices,添加一台设备,如下图所示。

wKiom1YErV_zEWWqAANRNV6_32k354.jpg

这里输入设备的IP地址和描述,在HostTmeplate当中选择“Windows Host - SNMP Informant”,前天配置如下图所示,重点是×××底纹标注部分。

wKioL1YErWOx6jVTAAR4kzido4U078.jpg

注意:

在接下页面中显示的Associated Graph TemplatesAssociated Data Queries的1至3项是cacti自带的针对linux的模板,与刚才导入的模板无关,所以最好删除了,免得建图时误错了。如下图用×××底纹标注的内容都删除掉。

wKiom1YErWCA53NbAAR6f-S-6AA137.jpg

wKiom1YErWDj890vAAInAd_LADs938.jpg


http://www.cnblogs.com/xwdreamer/p/3877608.html


  好了,先写到这里。在下一篇中继续讲解。