大纲

一、实验环境说明

二、Cacti 基本配置详解

三、Cacti 监控远程主机

四、Cacti 优化之spine轮询器

注,操作系统 CentOS 6.4 x86_64 软件版本 Cacti-0.8.8b(目前最版 2013-08-05发布) 说明:这篇博客是基于上一篇博客写的。上一篇博客地址为:http://freeloda.blog.51cto.com/2033581/1308140


一、实验环境说明

1.实验拓扑

Cacti 拓扑

注,一台监控机Cacti 192.168.18.201,另一台是远程主机Node1 192.168.18.202或者多台远程主机都是一样的。(我们这里实验只有两台主机,一台Cacti 另一台远程主机)

2.各节点时间同步

[root@node1 ~]# ntpdate 202.120.2.101
[root@node2 ~]# ntpdate 202.120.2.101

3.安装yum源

[root@node1 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@node2 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

4.安装net-snmp

[root@node2 ~]# yum install -y net-snmp net-snmp-utils net-snmp-libs

5.修改net-snmp配置文件

[root@node2 ~]# vim /etc/snmp/snmpd.conf
修改前,
view systemview included .1.3.6.1.2.1.1
修改后,
view systemview included .1.3.6.1.2.1

6.启动服务并设置开机自启动

[root@node2 ~]# service snmpd start
正在启动 snmpd:                      [确定]
[root@node2 ~]# chkconfig snmpd on
[root@node2 ~]# chkconfig snmpd --list
snmpd       0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
[root@node2 ~]# netstat -ntulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address        Foreign Address       State    PID/Program name
tcp    0   0 0.0.0.0:22         0.0.0.0:*          LISTEN   1037/sshd   
tcp    0   0 127.0.0.1:25        0.0.0.0:*          LISTEN   1114/master  
tcp    0   0 127.0.0.1:6010       0.0.0.0:*          LISTEN   1560/sshd   
tcp    0   0 127.0.0.1:6011       0.0.0.0:*          LISTEN   11620/sshd  
tcp    0   0 127.0.0.1:199        0.0.0.0:*          LISTEN   11697/snmpd  
tcp    0   0 :::22            :::*            LISTEN   1037/sshd   
tcp    0   0 ::1:25           :::*            LISTEN   1114/master  
tcp    0   0 ::1:6010          :::*            LISTEN   1560/sshd   
tcp    0   0 ::1:6011          :::*            LISTEN   11620/sshd  
udp    0   0 0.0.0.0:161         0.0.0.0:*                11697/snmpd

7.在node1上简单测试一下

[root@node1 ~]# snmpnetstat -v 2c -c public -Can -Cp tcp 192.168.18.202
Active Internet (tcp) Connections (including servers)
Proto Local Address     Remote Address     (state)
tcp  *.22          *.*          LISTEN
tcp  127.0.0.1.25      *.*          LISTEN
tcp  127.0.0.1.199     *.*          LISTEN
tcp  127.0.0.1.6010     *.*          LISTEN
tcp  127.0.0.1.6011     *.*          LISTEN
tcp  192.168.18.202.22   192.168.18.19.53904  ESTABLISHED
tcp  192.168.18.202.22   192.168.18.138.58958 ESTABLISHED

好了,这里我们的实验环境就全部配置完成。下面我们继续……


二、Cacti 基本配置详解

注,在上一篇博客中(http://freeloda.blog.51cto.com/2033581/1308140)我们主要讲解了Cacti的组成、工作原理、怎么监控localhost等,但我们没有讲解怎么设置Cacti,如下图

c26

大家可以看到,在配置选项中有两个子项目,一个是设置另一个插件管理。我们这一篇博文中先讲设置,插件管理在后面的博文中讲解。那下面我们就来具体的说一下,首先我们来看一下“General”,这里指的是通用配置,配置的内容有以下几项:

  • 日志相关

  • SNMP相关

  • 一些其它配置

基本上不需要修改保持默认即可。若真的要修改,我们只要修改这三基即可,“Required Tools Versions”、“SNMP Default”、“Other Default”,在所需工具的版本中选择正确的SNMP工具版本与RRDTool版本即可,在SNMP协议中我们选择Version2即可,在其它默认中我们只需要配置一下“删除确认”即可。配置好以后点击保存即可。

Console -  Cacti Settings1

在下面我们图形中我们看到是“Paths”页面,这里主要配置的是SNMP的工具路径,帮助我们来收集相关主机数据用的。这里主要配置的选项有,

  • 所需工具的路径

  • Cacti日志文件的路径

  • Spine 优化器的路径(在下面的内空中我们将详解)

  • 结构化RRD路径(作用:使用子目录分隔每一个主机的RRD文件)

所有配置可以保持默认基本不需要配置。

170056912.png

接下来我们看到的是“Poller”页面, 这里主要是Cacti采集器的配置。这里的主要本配置有,

  • 通用配置

  • 采集器参数设置

  • 主机高可用配置

  • 主机在线/宕机配置

在General配置中我们可以选择Poller Type(采集器的类型),一个是cmd.php即Poller采集器,此采集是用PHP编写的配置功能比较简单,另一种是spine采集器,是多线程的效率比较高在大规模的监控当中可以应用,在下面的内容中我们将详细讲解。下面的其它配置我们保持默认即可。

Console -  Cacti Settings3

下面是“Graphs Export”页面,可以将我们生成的图形导出到什么位置,我们可以导出到本地,也可以导出到FTP服务器上。主要的配置选项有,

  • 通用配置

  • 图形树配置

  • 缩略图配置

  • 路径配置

  • 导出时间配置FTP选项等

我们一般不需要将生成的图形导出,但是如果你有需要可以设置一下。

Console -  Cacti Settings4

下面是“Visual”页面,主要是设置Cacti页面怎么显示的。主要配置有,

  • 图形管理配置

  • 数据查询配置

  • 图形创建配置

  • 数据源显示配置

  • 主机显示配置

  • 日志管理配置

  • 默认的RRDTool工具配置

基本上默认配置即可,也可以根据需要自行设置。

Console -  Cacti Settings5

最后我们将讲解“Authentication”页面,主要有四种认证方式。分别为,

  • 无 - 无验证模式,所有的用户都将拥有全部。

  • 内建验证 - Cacti控制用户验证,这将允许您建立用户并设置他们在Cacti的权限。

  • WEB基本验证 - Apache控制用户验证.如果定义了模板用户,新用户将在第一次登录时被创建,否则,将会使用已定义的来宾用户权限。

  • LDAP验证 - 允许将验证交给LDAP服务器.如果定义了模板用户,新用户将在第一次登录时被创建,否则,将会使用已民定义的来宾用户权限.如果没有启用PHP的LDAP模块,下拉菜单里不会出现LDAP验证。

我们一般选择内建验证就是通过Cacti控制用户认证,你也可以选择其它认证。一切根据需求来配置,我们这里只讲解通用配置。

Console -  Cacti Settings6

好了,到这里Cacti的系统设置我们到这里就基本讲解完成了。下面我们继续……


三、Cacti 监控远程主在机

注,在上一篇博客中(http://freeloda.blog.51cto.com/2033581/1308140)我们主要讲解怎么监控localhost,下面我们来具体讲解一下怎么去监控远程主机。下面我们来具体说一下,

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

c27

点击“Add”添加新设备->

c28

填写要监测服务器的各种信息,其中Host Template请选择“Local Linux Machine”(选择一个合适的主机模板)->点击“Create”保存信息,如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出现“SNMP error”的红色字样->

c30

点击上部的“Create Graphs for this Host ”为该设备创建需监测的内容。监测的内容分两种,“Graph Templates”和“Data Query”,区别在于“Data Query”能根据SNMP信息列出监测项目的信息。例如Data Query里的“Interface Statistics”可以看到该主机所有网卡的信息,这样我们可以选择需要监测的网卡。点击右侧的正方形选择框勾选上要监测的项目->

c31

点击“Create”创建选择的监测内容,已经选择创建的内容会自动变成灰色并且不能再点选。Cacti会自动创建该监测点的rrd文件(在rra文件夹中)、“Data Source”和“graph”条目。

c32

c33

好了,到这里我们主机就增加完成了。下面我们来查看一下。点击“Graph Management”可以看到刚才创建的监测点对应的图像,注意由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不能显示的现象,需要等几分钟查看才会正常显示。

c34

为了方便查看,可以将刚才新创建的设备或图像加入到“图像树”上:点击“Graph Tree”进入“图像树”面板->

c35

点击分支名称或“Add”新的分支->

c36

“Tree Item Type”中选择“Host”,“Tree Item Value”的“host”中选择刚才新添加的主机“Node2”->

c37

点击“Create”。

c38

好了,到这里我们配置的Cacti监控远程主机配置到这里就全部完成了,下面我们继续……


四、Cacti 优化之spine轮询器

注,出于效率原因,在大量采集数据时使用自带的cmd.php轮询器会比较慢,1分钟1次的采集频率可能无法完成轮询所有机器。这里为了优化,采用官方推荐的spine来高效轮询。本例使用源代码编译安装,下载的版本是spine-0.8.8b,所用cacti为0.8.8b。

1.解决依赖关系

[root@node1 ~]# yum install -y mysql-devel net-snmp-devel

2.安装spine

[root@node1 ~]# tar xf cacti-spine-0.8.8b.tar.gz
[root@node1 ~]# cd cacti-spine-0.8.8b
[root@node1 cacti-spine-0.8.8b]# ./configure
[root@node1 cacti-spine-0.8.8b]# make && make install

3.提供配置文件并修改

[root@node1 cacti-spine-0.8.8b]# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
[root@node1 cacti-spine-0.8.8b]# vim /usr/local/spine/etc/spine.conf
DB_Host     localhost
DB_Database   cactidb
DB_User     cactiuser
DB_Pass     cactiuser
DB_Port     3306
DB_PreG     0

4.测试一下是否正常

[root@node1 cacti-spine-0.8.8b]# /usr/local/spine/bin/spine -C /usr/local/spine/etc/spine.conf
SPINE: Using spine config file [/usr/local/spine/etc/spine.conf]
SPINE: Version 0.8.8b starting
SPINE: Time: 0.8907 s, Threads: 1, Hosts: 2

5.在cacti里设置spine路径

Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path

输入spine路径:/usr/local/spine/bin/spine

如下图,

c39

6. 修改Cacti使用的Poller Type

Console -> Cacti Settings->Poller->Poller Type

在下拉中选择spine,如下图:

c40

好了,到这里我们spine优化器就安装完成了,这一篇博客就到这里吧!在下一篇博文我们主要讲解Cacti的模板和自定义脚本的应用。希望大家有所收获^_^……