大纲
一、实验环境说明
二、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 192.168.18.201,另一台是远程主机Node1 192.168.18.202或者多台远程主机都是一样的。(我们这里实验只有两台主机,一台Cacti 另一台远程主机)
2.各节点时间同步
1
2
|
[root@node1 ~]
# ntpdate 202.120.2.101
[root@node2 ~]
# ntpdate 202.120.2.101
|
3.安装yum源
1
2
|
[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
1
|
[root@node2 ~]
# yum install -y net-snmp net-snmp-utils net-snmp-libs
|
5.修改net-snmp配置文件
1
2
3
4
5
|
[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.启动服务并设置开机自启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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上简单测试一下
1
2
3
4
5
6
7
8
9
10
|
[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,如下图
大家可以看到,在配置选项中有两个子项目,一个是设置另一个插件管理。我们这一篇博文中先讲设置,插件管理在后面的博文中讲解。那下面我们就来具体的说一下,首先我们来看一下“General”,这里指的是通用配置,配置的内容有以下几项:
日志相关
SNMP相关
一些其它配置
基 本上不需要修改保持默认即可。若真的要修改,我们只要修改这三基即可,“Required Tools Versions”、“SNMP Default”、“Other Default”,在所需工具的版本中选择正确的SNMP工具版本与RRDTool版本即可,在SNMP协议中我们选择Version2即可,在其它默认 中我们只需要配置一下“删除确认”即可。配置好以后点击保存即可。
在下面我们图形中我们看到是“Paths”页面,这里主要配置的是SNMP的工具路径,帮助我们来收集相关主机数据用的。这里主要配置的选项有,
所需工具的路径
Cacti日志文件的路径
Spine 优化器的路径(在下面的内空中我们将详解)
结构化RRD路径(作用:使用子目录分隔每一个主机的RRD文件)
所有配置可以保持默认基本不需要配置。
接下来我们看到的是“Poller”页面, 这里主要是Cacti采集器的配置。这里的主要本配置有,
通用配置
采集器参数设置
主机高可用配置
主机在线/宕机配置
在 General配置中我们可以选择Poller Type(采集器的类型),一个是cmd.php即Poller采集器,此采集是用PHP编写的配置功能比较简单,另一种是spine采集器,是多线程的 效率比较高在大规模的监控当中可以应用,在下面的内容中我们将详细讲解。下面的其它配置我们保持默认即可。
下面是“Graphs Export”页面,可以将我们生成的图形导出到什么位置,我们可以导出到本地,也可以导出到FTP服务器上。主要的配置选项有,
通用配置
图形树配置
缩略图配置
路径配置
导出时间配置FTP选项等
我们一般不需要将生成的图形导出,但是如果你有需要可以设置一下。
下面是“Visual”页面,主要是设置Cacti页面怎么显示的。主要配置有,
图形管理配置
数据查询配置
图形创建配置
数据源显示配置
主机显示配置
日志管理配置
默认的RRDTool工具配置
基本上默认配置即可,也可以根据需要自行设置。
最后我们将讲解“Authentication”页面,主要有四种认证方式。分别为,
无 - 无验证模式,所有的用户都将拥有全部。
内建验证 - Cacti控制用户验证,这将允许您建立用户并设置他们在Cacti的权限。
WEB基本验证 - Apache控制用户验证.如果定义了模板用户,新用户将在第一次登录时被创建,否则,将会使用已定义的来宾用户权限。
LDAP验证 - 允许将验证交给LDAP服务器.如果定义了模板用户,新用户将在第一次登录时被创建,否则,将会使用已民定义的来宾用户权限.如果没有启用PHP的LDAP模块,下拉菜单里不会出现LDAP验证。
我们一般选择内建验证就是通过Cacti控制用户认证,你也可以选择其它认证。一切根据需求来配置,我们这里只讲解通用配置。
好了,到这里Cacti的系统设置我们到这里就基本讲解完成了。下面我们继续……
三、Cacti 监控远程主在机
注,在上一篇博客中(http://freeloda.blog.51cto.com/2033581/1308140)我们主要讲解怎么监控localhost,下面我们来具体讲解一下怎么去监控远程主机。下面我们来具体说一下,
进入Cacti的console面板->点击“Devices”进入设备面板->
点击“Add”添加新设备->
填 写要监测服务器的各种信息,其中Host Template请选择“Local Linux Machine”(选择一个合适的主机模板)->点击“Create”保存信息,如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出 现“SNMP error”的红色字样->
点 击上部的“Create Graphs for this Host ”为该设备创建需监测的内容。监测的内容分两种,“Graph Templates”和“Data Query”,区别在于“Data Query”能根据SNMP信息列出监测项目的信息。例如Data Query里的“Interface Statistics”可以看到该主机所有网卡的信息,这样我们可以选择需要监测的网卡。点击右侧的正方形选择框勾选上要监测的项目->
点击“Create”创建选择的监测内容,已经选择创建的内容会自动变成灰色并且不能再点选。Cacti会自动创建该监测点的rrd文件(在rra文件夹中)、“Data Source”和“graph”条目。
好 了,到这里我们主机就增加完成了。下面我们来查看一下。点击“Graph Management”可以看到刚才创建的监测点对应的图像,注意由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不 能显示的现象,需要等几分钟查看才会正常显示。
为了方便查看,可以将刚才新创建的设备或图像加入到“图像树”上:点击“Graph Tree”进入“图像树”面板->
点击分支名称或“Add”新的分支->
“Tree Item Type”中选择“Host”,“Tree Item Value”的“host”中选择刚才新添加的主机“Node2”->
点击“Create”。
好了,到这里我们配置的Cacti监控远程主机配置到这里就全部完成了,下面我们继续……
四、Cacti 优化之spine轮询器
注, 出于效率原因,在大量采集数据时使用自带的cmd.php轮询器会比较慢,1分钟1次的采集频率可能无法完成轮询所有机器。这里为了优化,采用官方推荐的 spine来高效轮询。本例使用源代码编译安装,下载的版本是spine-0.8.8b,所用cacti为0.8.8b。
1.解决依赖关系
1
|
[root@node1 ~]
# yum install -y mysql-devel net-snmp-devel
|
2.安装spine
1
2
3
4
|
[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.提供配置文件并修改
1
2
3
4
5
6
7
8
|
[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.测试一下是否正常
1
2
3
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路径
1
|
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
|
输入spine路径:/usr/local/spine/bin/spine
如下图,
6. 修改Cacti使用的Poller Type
1
|
Console -> Cacti Settings->Poller->Poller Type
|
在下拉中选择spine,如下图:
好了,到这里我们spine优化器就安装完成了,这一篇博客就到这里吧!在下一篇博文我们主要讲解Cacti的模板和自定义脚本的应用。希望大家有所收获^_^……