一、监控介绍:
他是通过一种代理将数据传递到监控平台的手段。
二、监控方式一(SNMP + RRDTool +仙人掌):
SNMP(简单网络管理协议):简单网络管理协议
RRDTool:绘图工具,他是将收集到的数据通过加工,绘制成某种图形。
仙人掌(php):将图形数据展示出来
1, SNMP有三种版本,分别是SNMP v1, SNMP v2, snmpv3;
SNMP v1:它是基于communitils来实现的.communty的名字就是双方认证的密码。
社区有三种类型:只读(只读),读写(读写的,可以发送指令),陷阱(被监控端可以主动发送请求给监控端);陷阱本身只是被监控端发送请求给监控端的一种机制,但是监控端操作的机制只有两种:一种是只读的,一种是读写。
SNMP v1的工作机制:需要一个监控端(nms)和一个被监控端(代理),nms向代理发送一个指令获取客户端的数据.agent收到指令查询相应信息发送给监控端(nms)。为了实现数据的安全,通过社区来认证实现。(带来的问题是安全性不高)
SNMP v2它也是基于communitils-string来实现的。在v1的版本上作了功能增强。
SNMP v3增强了认证机制
但是目前最为流行了还是SNMP v1。
MIB (manmagement信息库):管理信息库。他是代理索取数据事先定义的监控资源库。
所以每个SNMP代理都会有一个MIB库来定义数据。
mib-II如下图:
主机监控数据的MIB标示:主机(OID)
监控可以做到:故障管理,配置管理,记账管理、性能管理,安全管理
SNMP通知机制:通过SNMP端口实现:udp 161(代理),udp162 (nms)
SNMP默认的团体:公共社区、私人社区
SNMP报文分类:
得到:获取特定OID(对象标识符)信息。
getnext:获取指定节点下的所有的直接指标的OID信息。(它只能获取节点下的直接指标数据)
getbulk (SNMP v2,snmp v3):获取指定节点下所有节点的指标数据。比getnext范围更大。
设置:发送控制指令
getresponse:发起响应信息。
陷阱:由陷阱端发起。
linux上启用snmp:
linux上有两个snmp软件包分别是:- snmp和net-snmp-utils
- snmp:被监控端(代理)(如果需要用到陷阱功能需要安装此包)
net-snmp-utils(监控端所需用到的命令)
安装步骤:
[root@promote yum.repos。d] # yum安装- snmp。x86_64 net-snmp-utils。x86_64,,//安装snmp软件包
[root@promote yum.repos。d] # rpm ql - snmp | less ,,,//查看安装snmp软件包后产生了哪些工具
/etc/snmp
/etc/snmp/snmpd。参看
/etc/snmp/snmptrapd。参看
/etc/sysconfig/snmpd
/etc/sysconfig/snmptrapd
[root@promote yum.repos。d] # systemctl开始snmpd ,,,//启动snmp服务
[root@promote yum.repos。d] # netstat -unlp ,,//查看是否启动snmp服务
[root@promote yum.repos。d] # snmpwalk - v 2 c - c公共localhost ,,,//通过snmp查看主机信息;
[root@promote mib) #猫/etc/snmp/snmpd.conf ,,,//查看snmp配置文件信息
2, RRDtool (Round Robin数据库工具):绘图工具,他是将收集到的数据通过加工,绘制成某种图形。
3,仙人掌(php):将图形数据展示出来
它的作用是:
- <李>
自动创建RRDtool语句即RRDtool,创建
李> <李>周期性执行能够取得数据的命令,并将取回的数据保存至rrd文件当中。
,利用RRDtool绘图并展示
李>,
仙人掌是一种php开发的网页程序
因此必须安装灯,LNMP,如果是编译安装的话,必须启用——enable-sockets。
仙人掌还支持插件机制:如thold插件(报警机制)。
仙人掌还支持三种模版机制:图形模版,数据模版,主机模版
图形模版:定义图形是怎么绘制的
数据模版:定义数据是怎么获取的,数据获取后怎么保存,保存在哪里
主机模版:归类的图形模版和数据模版。
仙人掌如何获取数据:
- <李>
脚本
李> <李>snmp
李> <李>ssh(基于秘钥的认证)
李>
仙人掌如何保存数据:
- <李>
数据模版(定义从其他主机上获取数据保存下来的方法)
仙人掌如何展示数据:
- <李>
图形模版
李>