zenoss 下载能够监控华为设备吗

&linux下zenoss监控系统安装部署
秒后自动跳转到登录页
(奖励10下载豆)
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
网管必读:交换机零
电脑报 2016年第18期
电脑报 2016年第17期
SecureCRT and Secu
网络协议抓包嗅探分
电脑报2016年第16期
网络工程师必会 完整
linux下zenoss监控系统安装部署
上传时间:
技术分类:
资源评价:
(1位用户参与评价)
已被下载&10&次
zenoss监控系统部署,强大的网络监控系统
本资料共包含以下附件:
zenoss安装部署.docx
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:点击此处
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
下载1091次
下载2305次
下载1680次
相关专题推荐
《深入理解计算机网络》与本书相关的
深信服VPN相关资料和硬件使用手册等,
二进制的转换是学习计算机最基础的知
IT运维管理过程中需要注意的问题和解
linux视频教程从最简单的类的介绍到系
2016开始啦,小编为大家整理出来一份
转眼就到三月了,小编为大家整理出来
网络管理实用教程:内容包括了linux简
四月啦~小编为大家整理出来三月份最新
华为讲座详解,讲解了协议,华为讲座
本次大会是互联网运维人员的福利,包
小编为大家整理出了4月份最受大家欢迎
小编为大家整理出了5月份最受大家欢迎
华为无线实战系列分为几个部分,(1)
小编为大家整理出了6月份最受大家欢迎
网络工程师、网络管理员、信息系统维
本周下载热点
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理Zenoss测试体验及监控部署思考报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Zenoss测试体验及监控部署思考报告
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩21页未读,继续阅读
你可能喜欢您的浏览器已经禁用了脚本,这可能会影响您正常使用本站的功能。
配置Nagios监控IPMI硬件设备
作为系统管理员,最为担心的故障莫过是:半夜停电,担心UPS能不能坚持到早晨;双休日服务器配件故障,报修无门;精密空调失效,服务器被高温煎熬。以上这些都是机房环境,服务器设备硬件部分的故障。不同制造商之间设备往往使用不同管理软件,一一购买又是很大一笔开支。所以监控硬件不会像监控操作系统上的服务那样容易。
好在,服务器硬件管理接口都使用了业界统一的IPMI协议,版本从1.5到2.0不等。从IPMI协议出发,就有可能通过Nagios监控服务器硬件。
下面就详细叙述如何使用Nagios监测IBM服务器IMM中集成的各种传感器。并配置IMM以SNMP Trap的形式主动向Nagios发送报警。
Nagios监控IPMI设备同样分为两个部分:主动获取IPMI传感器参数,IPMI设备向Nagios发送报警通知。接下来的讲解,以IBM X3650M4 (为IMM2界面)和 IBM X3850X5 (为IMM界面)为例讲解。非IBM服务器请阅读对应设备制造商发布的官方文档。
Nagios获取IPMI参数配置思路。已知IBM IMM板载芯片为操作系统独立的硬件控制芯片,只要在通电的情况下就会自动运行,是一个微系统。IMM可以通过IPMI接口以UDP/623端口访问。那么只需要打通Nagios监控系统到服务硬件管理IMM接口的网络,让Nagios可以和服务器管理接口通信,就可以在系统上使用ipmitool或者freeipmi之类的关键就可以获取服务器上的各种传感器了。也就是说Nagios可以监测服务器内部硬件环境参数。
Nagios接收IPMI设备主动发过来的报警通知。IMM2支持以SNMP trap形式主动向特定的主机发送报警。那么只要获取IMM2使用的SNMP mib管理信息库就可以解释并发送服务器硬件报警信息了。
接下来的配置需要如下几样东西:
MIB Browser,用来查看下载到的mib。
SNMP Trap Sender,用来发送自定义trap,测试Nagios配置是否正确。
IBM 账号,用来从IBM网站上下载IMM的升级包。自己注册吧!
一台笔记本电脑,用来配置IMM2接口。
上述两个工具下载地址:
设计网络拓扑
这一步,其实可以选择不配置。为什么这么说呢?IPMI同时在操作系统上提供一个设备接口。在Linux系统上可以通过ipmitool默认访问本机的IPMI参数。Windows系统也可以通过ipmiutil工具做到同样的事情。这样,就可以通过Linux平台的nrpe和Windows平台的nsclient++工具调用上面两个IPMI工具。同样可以获取到IPMI传感器的值。但是(哈哈!肯定会有一个但是),这种情况下的应用,依赖于操作系统的正常运行。服务器关机或者操作系统死机都会造成硬件监测的不可用。做不到完全的软硬件分离。
言归正传,在不影响安全的情况下,实现IMM/IMM2接口和Nagios服务器通信,还是需要一点点配置的。接下来就说一下这一点点配置。下图是物理线路连接情况。
对于上述网络拓扑图,从下往上,做如下几点解释:
服务器根据机柜或者位置的不同,接入到傻瓜交换机上。傻瓜交换机上行接入三层交换机vlan 11的access接口。
从傻瓜交换机下行连接服务器的网线接入SYSMGMT-IMM接口。配置IP为10.1.11.0网段,掩码为255.255.255.0,网关为10.1.11.254。
多台三层交换机间的互联接口,必须trunk vlan 11 100 。其中vlan 100为服务器业务网络使用的vlan。
外部网络设备上起服务器业务网络vlan 100的三层接口10.1.100.254,作为默认网关。直连外部网络的三层交换机上起vlan 11和vlan 100的三层接口10.1.11.254盒10.1.100.253。此交换机上配置指向外部网络的默认路由。
Nagios服务器的业务接口使用10.1.100.253的网关,可以访问vlan100和vlan11。其他服务器的业务网络接口使用10.1.100.254的网关,只能访问vlan100,无法访问vlan11。
三层交换机2 上面起的三层接口只是为了便于管理。
修改IMM配置
设计完成网络连接方法后,就要动手修改IMM2的配置了。这部分需要的配置任务包括:修改网络接口IP地址和启用SNMP v1 Trap。
修改接口IP地址
将笔记本的IP地址配置成192.168.70.0段的地址,掩码为255.255.255.0 。不设网关和DNS。用网线直接讲笔记本网卡接口和服务器IMM管理接口连接。用浏览器访问192.168.70.125 ,如果提示不安全的站点,点击信任,添加一条例外。在接下来的登录界面中输入默认的用户名USERID和密码PASSW0RD,其中0是数字0,非字母O。登陆成功后可看到如下界面
上述两个图形界面截图分别是IBM X3850X5 的IMM主界面和IBM X3650M4的IMM2主界面。IMM详细使用方法参见 IMM User&s Guide 下载地址如下:
依次点击 IMM Control/IMM Management & Network interfaces/Network 进入修改IP地址界面。将地址获取模式改为静态配置,然后在下面的地址输入框中填写规划好的IP地址,并在笔记本上做好服务器和管理地址映射关系记录。然后,点击保存。
黑色界面为代表的IMM界面(M4以前的),在配置完成IP地址后,需要点击左侧的 Restart IMM重新启动IMM。以蓝色界面为代表的IMM2界面(M4以后的),在点击Apply应用配置以后,需要在当前页面停留3分钟左右。不需要重启IMM,配置会自动生效。生效后,需要重新配置笔记本IP。重启IMM不影响操作系统的正常运行,可放心操作。
启用SNMP和SNMP Trap通知
在IP地址修改生效后,重新登陆IMM。依次点击IMM Control/IMM Management & Network protocols/Network,进入修改网络协议界面。点选SNMP选项卡,根据界面配置SNMP v1 Trap 目标主机为Nagios服务器地址10.1.100.20,团体字为snmptrapd配置文件中指定的团体子Password2,访问模式为trap。点击保存。同样,IMM界面需要重启IMM,IMM2界面等待3分钟左右后,会自动生效。下面是IMM 界面的SNMP协议配置界面的截图:
IMM还需要在Alerts菜单下的SNMP Alert Settings界面中,自定义通过SNMP Trap发送哪些报警。如下面截图。
IMM2如下图:
设置联系人和位置。这部分信息在trap报警内容里面可以显示。
自定义勾选启用那些类型的报警通知。
将报警信息以什么团体字发送到哪些接收主机。注意,访问类型设置为trap。
配置监测IPMI传感器状态
服务器配置部分也包分为两小节:获取IPMI传感器参数和配置trap报警。获取IPMI传感器需要安装ipmitool/freeipmi/ipmiutil软件套件。这三个软件套件,功能一样,选哪个都行。然后下载Nagios使用的check_ipmi_sensor插件。Trap报警只需要找到IMM用的SNMP mib管理信息库就可以了。
寻找IPMI传感器监测点
首先,在Nagios服务器上一下需要监测的几个服务器的IMM管理接口的IP。确保ping得通!然后,在Nagios服务器上安装必要的软件。推荐把那三个软件都装上。因为下载的Nagios插件不知道用哪一个工具呢。安装命令如下:
install ipmitool freeipmi ipmiutil
针对获取IPMI传感器这一个目的,三个软件包可以通过以下三个命令获取帮助:
ipmitool -h
ipmiutil -h
ipmi-sensors --
下面是三个工具套件分别获取一台服务器全部的传感器输出结果的命令格式:
ipmitool sensor -H 10.1.11.11 -U USERID -P PASSW0RD
ipmiutil sensor -N 10.1.11.11 -U USERID -P PASSW0RD
ipmi-sensors -h 10.1.11.11 -u USERID -p PASSW0RD
上述命令可以输出IP为10.1.11.11的IMM所有的传感器列表和一些简单状态提示。以下参数的ipmitool命令可以详细输出一个传感器的状态。
[root@nms ~]# ipmitool sensor -H 10.1.11.11 -U USERID -P PASSW0RD& get &PCH Temp&
Locating sensor record...
Sensor ID&&&&&&&&&&&&&: PCH Temp (0x31)
Entity ID&&&&&&&&&&&& : 45.1
(Analog)& : Temperature
Sensor Reading&&&&&&& : 46 (+/- 0.500) degrees C
Status&&&&&&&&&&&&&&& : ok
Lower Non-Recoverable : na
Lower Critical&&&&&&& : na
Lower Non-Critical&&& : na
Upper Non-Critical&&& : 93.000
Upper Critical&&&&&&& : 98.000
Upper Non-Recoverable : 103.000
Assertion Events&&&&& :
Assertions Enabled&&& : unc+ ucr+ unr+
Deassertions Enabled& : unc+ ucr+ unr+
通过观察分析上述命令的输出的各个传感器状态和单个传感器的详细输出。可以发现,大部分传感器都不需要直接监控,异常时通过SNMP Trap报警就可以了。以下几个传感器输出结果还有可借鉴之处:
处理器/内存/电源/磁盘驱动器健康状态
上述几个参数的传感器类型分组(Sensor Type)分别为Processor/Memory/Power Supply/Drive Slot/Fan/Temperature/Voltage 。也就是说我们可以直接监测一个类型组的传感器状态就可以了。
通过在网络上搜索可用的IPMI插件,发现可用的插件有以下两个:
经过不断测试,发现第二个插件在获取风扇转速和内存状态时输出结果有差错。所以淘汰第二个插件。
好吧,我承认,我是用了第一个插件,才想起来传感器分组监测的。执行下面命令来安装IPMI-Sensor-Monitoring-Plugin插件的依赖模块。
yum install perl-IPC-Run
IPMI-Sensor-Monitoring-Plugin只有一个用perl语言写的check_ipmi_sensor脚本。调用了freeipmi软件包下的ipmimonitoring命令。使用方法如下:
./check_ipmi_sensor -H 10.1.11.11 -U USERID -P PASSW0RD -L USER -T Memory -vv
#命令名 -主机地址 -用户名 -密码 -IPMI执行权限 -传感器分组 -结果输出详细程度
上面命令中,传感器类型分组一项。如果分组名内包含空格的话,请把空格转换为英文半角下划线。这不是check_ipmi_sensor脚本的问题,是freeipmi的问题。另外,如果权限不对,造成脚本无法执行,自己Google一下吧。
修改Nagios配置文件
使用check_ipmi_sensor脚本定义Nagios监测命令。将check_ipmi_sensor移动到/usr/lib64/nagios/plugins/文件夹,并以Nagios权限重新执行命令。确保在Nagios用户下不会出现权限问题。
check_ipmi_sensor /usr/lib64/nagios/plugins/
-u nagios /usr/lib64/nagios/plugins/check_ipmi_sensor -H 10.1.11.11 -U USERID -P PASSW0RD -L USER -T Memory -vv
如果上述命令能成功执行,即可在.conf文件中添加命令定义了。
这时又出现一个问题。此时一台服务器已经对应两个IP了,而Nagios主机配置文件中只有一个address定义。好在Nagios支持自定义对象变量(custom object variable),说白了,就是允许用户自定义主机属性,并在command.conf文件中以固定格式的宏变量引用。详细内容再查找资料吧。
以上就解决了所有的问题。只修改或添加主机文件,如下格式就行了。
use&&&&&&&&&&&& &&&windows-server
host_name&&&&&& & &JYD-Server
&&&&&&&&&& &&&CZB JYD Server
address&&&&&&&&
&&10.1.9.1
_ipmi_ip&&&&&&&
&&10.1.11.11
use&&&&&&&&&&&&&&&&& &&&&&&generic-service
host_name&&&&&&&&& &&&& &&&JYD-Server
service_description&&&
& Hardware Temperature
check_command&&&&&&& &&
&&check_ipmi_sensor!Temperature
define service{
use&&&&&&&&&&&&&&&& &&&&&&&generic-service
host_name&&&&&&&& &&& &&&&&JYD-Server
service_description&&
&& Hardware Fan Health
check_command&&&&&&&
&&&&check_ipmi_sensor!Fan
define service{
use&&&&&&&&&&&&&&&&& &&&&&&generic-service
host_name&&&&&&&&&& & &&&&&JYD-Server
service_description&&&
& Hardware Porcessor Health
check_command&&&&&& &
&&&&check_ipmi_sensor!Processor
define service{
use&&&&&&&&&&&&&&&& &&&&&&&generic-service
host_name&&&&&&&&& & &&&&&&JYD-Server
service_description&&
&& Hardware Memory Health
check_command&&&&& &&&
&&&check_ipmi_sensor!Memory
同时,修改Nagios命令定义文件command.conf文件。添加如下命令定义:
define command{
command_name&&& check_ipmi_sensor
command_line&&& $USER1$/check_ipmi_sensor -H $_HOSTIPMI_IP$ -U USERID -P PASSW0RD -L USER -vv -T $ARG1$
添加完所有主机的服务后,执行Nagios命令检查Nagios配置文件的正确性。然后重启服务就可以了。
配置接收Trap报警
配置Nagios到这个地步,肯定知道,添加一项新的Trap报警,获取私有的mib最重要。snmptrapd和snmptt和Nagios之间的已经完成消息互通,不太可能短时间内失效。
Nagios能发出哪个主机的哪些类型的报警消息,取决于Nagios配置了多少主机和snmptt能解释多少种trap消息。也就是mib文件
Nagios能不能正确的发出trap报警消息,取决于snmptt能不能将报警发送者的IP地址,正确反解析到Nagios主机配置文件中定义的主机名。也就是/etc/hosts文件。
综合以上两点,这部分配置的重点就是:找到imm使用的mib文件;正确映射主机名到IP和IPMI_IP 。
获取IBM IMM私有MIB
通过Google搜索,在下面的两个帖子中发现,配置IMM的SNMP监控,需要IMM-MIB和IMMALERT-MIB两个MIB库。
要想通过SNMP的形式配置imm,完成诸如配置channel ip,远程开关机之类的snmpset操作,需要详细阅读了解IMM-MIB库;要接收分析IMM发出的报警,需要详细理解IMMALERT-MIB库。
上述两个文件可以从IBM Fix Central页面的任何一个IMM固件升级包中获取。下载IMM固件升级包需要IBM账号。选择好服务器硬件型号,操作系统类型,在第二步选择imm2固件升级。在下载页面选择下载一个以uxz为后缀的文件大小约为67MB的文件。例如ibm_fw_imm2_1aoo48h-3.10_anyos_noarch.uxz (67.12 MB)。将后缀名改为 ,用解压缩软件打开。在根目录下就有这两个mib文件。
使用snmptt自带的snmpttconvertmib命令,将immalert.mib文件转换成snmptt.conf.ibm-imm2文件。对转换后的文件,稍作修改后,将其路径添加到snmptt.ini文件的结尾。重启snmptt服务即可。mib转换命令和snmptt文件结尾修改部分如下
snmpttconvertmib --in=/usr/share/snmp/mibs/immalert.mib --out=/etc/snmp/snmptt.conf.ibm-imm2 --='/usr/lib64/nagios/plugins/eventhandlers/submit_check_result &$A& &SNMP-TRAP& &1& &$Fz& '
[root@nms ~]#
/etc/snmp/snmptt.ini
snmptt_conf_files = && END
/etc/snmp/snmptt.conf
/etc/snmp/snmptt.conf.hh3c-mstp
/etc/snmp/snmptt.conf.vrrp
/etc/snmp/snmptt.conf.hh3c-ui-
/etc/snmp/snmptt.conf.hh3c-entity-ext
/etc/snmp/snmptt.conf.h3c-entity-ext
/etc/snmp/snmptt.conf.huawei-splat-trap
/etc/snmp/snmptt.conf.ibm-imm2
[root@nms ~]# service snmptt restart
Stopping snmptt: [& OK& ]
Starting snmptt: [& OK& ]
在Nagios监控服务器的/etc/hosts文件中,将被监控服务器的IP和IPMI_IP映射到同一个主机名。如下所示:
[root@nms ~]#
/etc/hosts |
JYD-Server
10.1.9.1 JYD-Server
10.1.11.11 JYD-Server
上述配置完成后,可以将如下所示的SNMP-TRAP服务配置部分,添加到服务器的主机文件中。验证配置文件正确性后,重启Nagios服务即可。
define service{
use&&&&&&&&&&&&&&&& &&&&&&&&SNMP-TRAP
hosts&&&&&&&&&&&&&& &&&&&&&&JYD-Server
service_description& &&&
&SNMP-TRAP
验证SNMP Trap报警
为了验证trap配置的正确性。使用iReasoning MIB browser软件中包含的Trap Sender向Nagios发送一个自定义OID的trap报文,看是不是有相应的报警生成。
下面是发送出trap报文后,对应主机生成的一项报警信息。
从上面两个截图可以看出Trap配置已经生效。
本文介绍了如何通过Nagios以IPMI协议监控服务器硬件内部的传感器状态。同时以SNMP协议接收服务硬件的主动报警。
按照文档配置完成后,读者将会比较深刻的理解IPMI协议。日后研究高可用集群时,肯定会用到IPMI部分的知识。这是后话。
文中除了几个脚本之外,并没有提供任何文件。这一切都要您自己去搜集。这些文件中,有一小部分可能要科学上网。
收藏Ctrl+D
关注Linux/Unix应用技术、业界新闻,同时也发布开源、移动互联网等新鲜资讯!
—— Powered ——运行在From Zenoss Wiki
This category uses the form .
Pages in category "ZenPacks"
The following 200 pages are in this category, out of 435 total.
(previous page) ()A
(previous page) ()阅读(4242)
1.1为何需要监控系统
在一个IT环境中会存在各种各样的设备,例如:硬件设备、软件设备、其系统的构成也是非常复杂的。
多种应用构成负载的IT业务系统,保证这些资源的正常运转,是一个公司IT部门的职责。而要让这些应用能够稳定地运行,则需要专业IT人员进行设计、架构、维护和调优。在这个过程中,为了及时掌握基础环境和业务应用系统的可用性,需要获取各个组件的运行状态,如CPU的利用率、系统的复制、服务的运行、端口的连通、带宽流量、网站访问状态码等信息。而这一切都离不开监控系统。
1.2监控系统的实现
一个监控系统的组成大体可以分为两部分:数据采集部分(客户端)和数据存储分析告警展示部分(服务器端),这两部分构成了监控系统的基本模型。
数据采集的工作模式可以分为被动模式(服务端到客户端采集数据)和主动模式(客户端主动上报数据到服务器端)。通常,大多数监控系统应该能同时支持这两种模式。被动模式对服务器的开销较大,适合小规模的监控环境:主动模式对服务器的开销较小,适合大规模的监控环境。
采集数据的协议方式可以分为两种:专用客户端采集和共用协议采集(SNMP、SSH、Telnet等)
对于采集到的监控数据,可以将其存储到数据库或者文本或者其他方式,具体采用哪一种,应根据实际需求来决定。
监控系统开源软件
MRTG(Multi Route
Trffic Grapher)是一套可用来绘制网络流量图的软件,由瑞士奥尔滕的Tobias
Oetiker与Dave Rand所开发,以GPL授权。
MRTG最好的版本是1995年推出的,用perl语言携程,可跨平台使用,数据采集用SNMP协议,MRTG将手机到的数据通过Web页面以GIF或者PNG格式绘制出图像。
Cacti(英文含义为仙人掌)是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测图形分析工具,它通过snmpget来获取数据使用RRDtool绘图,但使用者无须了解RRDtool复杂的参数。2提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定义模板。在历史数据展示监控方面,其功能相当不错。
Cacti通过添加模板,使不同设备的监控添加具有可复用性,并且具备可自定义绘图的功能,具有强大的运算能力(数据的叠加功能)
qSmokePing
Smokeping主要用于监视网络性能,包括常规的ping、www服务器性能、DNS查询性能、SSH性能等。底层也是用RRDtool做支持,特点是绘制图非常漂亮,玩过丢包和延迟用颜色和阴影来标示,支持将多张图叠放在一起,其做着还开发了MRTG和RRDtll等工具。
Smokeping的站点为:/hp
Craphite是一个用于采集网站实时信息并进行统计的开源项目。Graphite服务支持平均每分钟4800次更新操作,采用简单文本协议,具有绘图功能,其即插即用的功能可方便地用于任何需要监控的系统上。
和其他监控工具不同额是,Graphite本身并部手机具体的数据,这些数据收集的工作通常由第三方工具或插件完成,可以说,Graphite是一个绘图工具。
Nagios是一个企业级的个系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等。
Nagios可运行在Linux和UNIX平台上。同时提供一个可选的基于刘安琪的Web界面,以方便系统管理人员查看网络状态、各种系统问题、以及日志等
Nagios的功能侧重于监控服务的可用性,能急事根据触发条件告警。
目前Nagios也占领了一定的市场份额,不过Nagios并没有与时俱进,已经不能满足于多变的监控需求,架构的扩展性和使用的便捷性有待增强,其高级功能集成在上夜班Nagios XI中。
Zenoss Core(简称Zenoss)是开源企业级IT管理软件,它允许IT管理员依靠歹意的WEB控制台来监控网络架构的状态和健康度。
Zenoss Core的强大功能来自深入的列表与配置管理数据库,用于发现和管理公司IT环境的各类资产(包括服务器、网络和其他结构设备)。Zenoss可以创建关键资产清单和对应的组件级别(接口、服务、进程、已安装的软件等)建立好模型后,Zenoss就可以监控和报告IT架构中各种资源的状态和性能状况了。同时还提供与CMDB关联的事件和错误管理系统,以协助提高各类事件和提醒的管理效率,以此提高IT管理人员的效率。
Grnglia是一个跨平台的、可扩展的、高性能的分布式监控系统,如集群和网格。它基于分层设计,使用广泛的技术,用RRDtool存储数据。具有可视化界面,适合对集群系统的自动化监控。其精心设计的数据结构和算法使得监控端到被监控端的连接开销非常低。目前已经有成千上万的集群正在使用这个监控系统,可以轻松的处理2000个节点的集群环境。
开源监控系统OpenTSDB用Hbase存储所有时序(无须采样)的数据,来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的告警系统里。
OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的采集指标,并进行存储、索引和服务,从而使这些数据更容易让人理解,如Web化、图形化等。
Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent代理,也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。相对来说,它的总体功能做的非常优秀。
从以上各种监控系统的对比来看,Zabbix都是具有优势的,其丰富的功能、可扩展的能力、二次开发的能力和简单易用的特点,读者只要稍加学习,即可构建自己的监控系统。
Zabbix简介
随着云计算、虚拟化的大规模应用,以及未来移动互联网、物联网等的兴起,Zabbix的使用将越来越广泛,应用场合也越来越多。目前,不少互联网公司、云计算公司、系统集成软件公司、外包服务公司等,都有对Zabbix进行二次开发和大规模使用。所以,可以断言,Zabbix在未来将会引领监控软件的潮流。
Zabbix适合中小型企业、大中型企业的用户使用。单个Server节点可以支持上万台设备,每秒可以处理1.5万次请求,理论上可以支持5万台设备。
Zabbix自身的定位是中型企业和大型企业,如果在特大型环境中使用,需要解决大并发、大压力的问题,这对使用者提出了更高的要求。
2.1 Zabbix为何物
Zabbix是一个企业级的高度集成开源监控软件,提供分布式监控解决方案,可以用来监控设备、服务等的可用性和性能,其产品不分企业版和社区版,是一个真正的源代码开放产品,用户可以自由下载并使用该软件。
Zabbix SIA公司是Zabbix的官方技术团队成立的公司。其运作模式是商业软件的开源—软件的使用免费,服务收费。其为用户提供咨询、技术支持服务、定制开发、解决方案、人员培训等。
2.2 选择Zabbix七大理由
对于同类监控产品,有以下理由选择使用Zabbix。
1.Zabbix是一个自由开发源代码的产品,用户可以对源代码进行任意修改和二次开发。Zabbix采用GNU General Public License (GPL) Version2开源协议。
2.安装和配置简单,用户仅仅需要一些简单的学习,即可完成监控的搭建工作。
3.搭建环境简单,基于开源软件构建平台,仅需要Linux、Apache/Nginx、MySQL/PostgreSQL/Oracle、PHP即可,无须专用操作系统支持,也无须专用硬件
4.Zabbix-Agent完全支持Linux、UNIX、Windows、AIX、BSD和Solaris的监控,Server和Agent都采用C语言编码,对系统的资源占用非常小,数据采集的性能和速度非常快。
5.将数据采集持久存储到数据库,便于对监控数据的二次分析。
6.非常丰富的扩展能力,很轻松地自定义监控项和实现数据采集,几乎能监控所有的数据。例如:可以监控网站的访问次数,监控UPS和天气温度等。毫不夸张地说,在Zabbix的世界里,往往有想不到的事情,没有办不到的事情。
7.开源社区的运作模式,有各种论坛、邮件列表、IM及时沟通等。
注意:如果是运维人员,想构建一套自己的监控系统环境,Zabbix将会是最佳的选择。如果你是开发 ,想基于开源软件开发一套属于自己的监控系统,Zabbix也是比较好的选择。
2.3 Zabbix的功能特性
Zabbix有常见的商业监控软件所具备的功能,如主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制、分布式、可扩展能力、API等。
1)数据收集
q可用、性能检测。
q支持Agent、SNMP(包括Trapping和Polling)、IPMI、JMX、SSH、Telnet等。
q自定义的检测。
q自定义收集数据的频率。
q服务器端/代理段和客户端模式。
2)灵活的触发器
q可以定义非常灵活的 阀值和多种相关联的条件。
3)高度可定制的告警
q发送通知,可定制包括告警级别、动作升级、收件人和媒体类型。
q通知可以使用全局宏变量和自定义的变量。
q自动处理功能包括远程命令的自动调用和执行。
4)实时的绘图功能
监控项将数据实施绘制在图形上。
5)Web监控能力
qZabbix可以模拟浏览器请求一个网站,并检查返回值和响应时间。
6)多种可视化的展示
q可以自定义监控的展示图,将多种监控数据集中展示到一张图中。
q网络拓扑图。
q自定义Screens和Slide shows可以将多种图形集中展示。
q报表功能。
q资源使用情况的监控展示。
7)历史数据的存储
q数据存储在数据库中。
q历史数据的存放周期可配置。
q定期删除过期的历史数据。
8)配置非常容易
q配置比较简单,只需要以下两步即可。
q第一步:添加设备。
q第二步:应用模板即可完成监控。
9)使用模板
q模板可以分组
q模板具有可继承性。
10)网络发现
q支持自动发现网络设备和服务器(可以通过配置自动发现服务规则实现。)
qAgent自动发现
q支持自动发现实现动态监控的批量监控(支持自定义)内置的自动发现包括文件系统、网络接口、SNMP OLD,可定制自动发现。
11)快速的访问接口
qWeb页面基于PHP
q远程访问。
q日志审计。
12)API功能
q应用API功能可以方便地和其他系统结合,包括手机客户端的使用。
13)系统权限
q不同的用户展示监控的资源不同。
q对用户的身份认证
14)程序特性
q用C语言编写,其性能和内存开销非常小。
15)大型环境的支持
q利用Zabbix-Proxy方式即可轻松构建远程监控。
Zabbix安装与部署
Zabbix-Server服务器端的安装
下面以CentOS6.7_X64为例介绍如何安装Zabbix-Server服务器端。学习采用RPM包安装方式,该方式较简介。生产建议使用源码安装。
3.1.1安装Zabbix-Server
[root@linux-node1 ~]#rpm -ivh /zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
ss安装Zabbix官方源码
[root@linux-node1 ~]# wget -O
/etc/yum.repos.d/epel.repo /repo/epel-6.repo
ss安装epel源
[root@linux-node1 ~]# yum -y install zabbix-server
zabbix-web zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get mysql-server
ss安装服务端,由于服务端也是需要监控的,故而一并安装Zabbix-agent。
[root@linux-node1 ~]# \cp /usr/share/mysql/f /f
[root@linux-node1 ~]# sed -i "38a collation-server = utf8_general_ci\ninit_connect = \'SET NAMES utf8\'\ncharacter-set-server = utf8" /f
ss修改字符集为utf-8,否则web页面设置中文会出现乱码
[root@linux-node1 ~]# chkconfig mysqld on
ss加入开机启动
[root@linux-node1 ~]# /etc/init.d/mysqld start
ss启动mysql数据库
1.创建zabbix的数据库
[root@linux-node1 ~]# mysqladmin -u
ss建立新密码
[root@linux-node1 ~]# mysql -uroot –pdarker
ss登录数据库
mysql& create database zabbix character set utf8;
ss创建zabbix命名的数据库为utf-8
mysql& grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
ss给zabbix账户赋予zabbix库的所有权限
ss刷新操作
2.导入Zabbix-Server数据库
注意:如果安装Zabbix-Porxy 之导入schema.sql即可,否则Zabbix-Proxy无法正常工作
[root@linux-node1 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create/
[root@linux-node1 create]# mysql -uzabbix -pzabbix zabbix &schema.sql
ss导入数据结构
[root@linux-node1 create]# mysql -uzabbix -pzabbix zabbix &images.sql
ss导入图片
[root@linux-node1 create]# mysql -uzabbix -pzabbix zabbix &data.sql
ss导入数据
3.配置zabbix_server.conf
[root@linux-node1 ~]# sed -i
'107aDBPassword=zabbix' /etc/zabbix/zabbix_server.conf
ss增加zabbix使用数据库的密码
[root@linux-node1 ~]# egrep -v '^#|^$' /etc/zabbix/zabbix_server.conf
ss过滤修改后的结果
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
以上参数值需要关注黑体字部分,需要根据实际情况进行调整。默认只修改DBPassword=zabbix即可。
4.启动Zabbix-Server服务
[root@linux-node1 ~]# /etc/init.d/zabbix-server start
Starting Zabbix server:
[root@linux-node1 ~]# /etc/init.d/httpd start
ss启动httpd服务
Starting httpd:
[root@linux-node1 ~]# chkconfig zabbix-server on
ss添加开机启动
[root@linux-node1 ~]# chkconfig httpd on
ss添加开机启动
5.Php.ini配置文件的设置(如果不配置是无法安装)
vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
在LAMP环境中,也可以按上述方式配置PHP的参数,比修改php.ini更方便。而在Zabbix的官方RPM中,这一步已经配置过了。所以无需修改。
[root@linux-node1 ~]# cat
/etc/httpd/conf.d/zabbix.conf
&Directory "/usr/share/zabbix"&
FollowSymLinks
AllowOverride None
allow,deny
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
&/Directory&
如果在后面配置Web时提示任何参数不满足安装配置要求(如图3-1所示),修改对应的参数后重启Httpd即可。
3.1.2配置Web界面
打开浏览器,输入http://IP地址/zabbix,会出现如图3-2所示的界面
PHP提示的各项参数都满足后,可以继续往下进行,单机Next按钮。如果提示参数不通过,修改php.ini配置文件,并重启Web(httpd)服务。
配置数据库连接的各项参数如图3-3所示。测试结果为OK后,单机Next按钮。
Zabbix-Server的链接地址、端口、名称设置(见图3-4)将会显示在Zabbix的前端页面。
注意:如果Zabbix-Server在其他机器中,这里的Host填写Zabbix-Server所在的机器IP
(如果是本机,可以直接默认)
图3-5中的这些配置信息将会写入到图3-6的配置文件中。
如图3-7所示的登录界面,默认账户是Admin,密码是zabbix
如图3-8登录成功页面。
如果提示不能正常运行,分别检查zabbix_server.conf中的各项配置文件、Selinux、Iptables等。配置文件请检查以下文件的正确配置参数。
1./etc/zabbix/zabbix_server.conf中的参数。
DBHost=localhost
ss数据库的IP(域名)地址
DBName=zabbix
ss数据库的名称
DBUser=zabbix
ss数据库的用户
DBPassword=zabbix
ss数据库的密码
2./etc/zabbix/web/zabbix.conf.php中的配置。
[root@linux-node1 ~]# cat
/etc/zabbix/web/zabbix.conf.php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE']
= 'MYSQL';
ss数据库类型
$DB['SERVER']
= 'localhost';
ss数据库的IP(域名)地址
$DB['PORT']
ss数据库的端口
$DB['DATABASE'] = 'zabbix';
ss数据库的名称
$DB['USER']
= 'zabbix';
ss数据库的用户
$DB['PASSWORD'] = 'zabbix';
ss数据库的密码
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER
= 'localhost';
ssZabbix-Server的IP(域名)地址
$ZBX_SERVER_PORT = '10051';
ssZabbix-Server的端口
$ZBX_SERVER_NAME = 'Zabbix-Xuliangwei';
ssZabbix-Server web界面的标识
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
Zabbix是支持多语言的,可以为每个用户配置不同的语言环境。单击菜单栏profile--&User--&Language修改用户的语言,(虽然zabbix支持中文,但并不是很推荐使用。只要是中文界面的翻译不准确。所以后续全都使用英文操作)如图3-9所示。
3.1.3故障处理
1.数据库文件找不到的问题。
修改/etc/zabbix/zabbix_server.conf中的Dbsocket配置。
DBSocket=/tmp/mysql.sock
注意:修改为mysql.sock实际存在的路径后,重启服务。
2.数据库无法连接
解决办法有三种:检查数据库服务是否正常;防火墙是否允许;权限能否访问。
Zabbix-Agent客户端的安装
3.2.1安装Zabbix-Agent
前面我们已经知道了Zabbix可以再用Agent/Server的架构,客户端的采集方式分为Agent、SNMP等,这里先学习用Agent方式对服务器进行监控,后续再学习使用其他监控方式(SNMP、JMX、IPMI)
这里的客户端依然采用RPM方式安装(安装Zabbix官方的yum源)
[root@linux-node2 ~]# rpm -ivh /zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
ss使用zabbix官方yum源
[root@linux-node2 ~]# yum -y install zabbix zabbix-agent
ss安装zabbix以及agent
3.2.2配置zabbix_agentd.conf
主动和被动模式
Server:被动模式,允许哪台服务器连接Agent。
ServerActive:主动模式,向哪台服务器传送数据。
修改配置文件的被动模式Ip
[root@linux-node2 ~]# sed -i
's#Server=127.0.0.1#Server=10.0.0.3#g' /etc/zabbix/zabbix_agentd.conf
ss修改被动模式监听地址为zabbix-server的IP地址
[root@linux-node2 ~]# egrep -v '^#|^$' /etc/zabbix/zabbix_agentd.conf
ss查看修改后信息
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.3
ss被动模式,zabbix-server的IP(一个Agent是可以同时向多个服务器端发送数据,多个Ip用逗号隔开)
ServerActive=127.0.0.1
ss主动模式
Hostname=Zabbix
Include=/etc/zabbix/zabbix_agentd.d/
[root@linux-node2 ~]# chkconfig zabbix-agent on
ss加入开机自启动
[root@linux-node2 ~]# /etc/init.d/zabbix-agent
ss启动agent
Starting Zabbix agent:
Zabbix-Get的使用
Zabbix-Get是Zabbix中的一个程序,用于Zabbix-Server到Zabbix-Agent的数据获取,通常可以用来检测验证Agent的配置是否正确。用法如下:
[root@linux-node1 ~]# zabbix_get
usage: zabbix_get [-hV] -s &host name or IP&
[-p &port&] [-I &IP address&] -k &key&
-s:远程Zabbix-Agent的IP地址或者是主机名。
-p:远程Zabbix-Agent的端口。
-l:本机出去的IP地址,用于一台机器中又多个网卡的情况。
-k:获取远程Zabbix-Agent数据所使用的Key。
示例如下:
[root@linux-node1 ~]# zabbix_get -s 10.0.0.4
-k system.uname
Linux linux- 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC
用zabbix_get命令可以很方便地知道key是否能正常获取到数据,这在测试自定义监控的时候特别有用。
Zabbix相关术语(命令)
qzabbix_server
zabbix_server是Zabbix服务端的核心程序。
qzabbix_proxy
zabbix_proxy是Zabbix代理服务的程序,用于分布式监控proxy模式中。
qzabbix_agent
zabbix_agent是用超级服务(xinetd)的方式来启动的,对应的配置文件为zabbix_agent.conf
zabbix_agentd是以独立进程的方式来启动的,对应的配置文件为zabbix_agentd.conf
zabbix_agent是Zabbix专用客户端的程序。
qzabbix_java_gateway
Zabbix的Java采集服务端,用于JMX的监控方式。
qzabbix_sender
Zabbix的Trapping模式,将采集到的数据通过定时任务等主动发送给zabbix_server。
qzabbix_get
zabbix_get是一个数据获取测试命令,相当于snmp中的snmpwalk。
您可能也喜欢:
Zabbix3整个web界面做了一个全新的设计。 更多新特性请点击当前字幕查看
Linux架构交流群:
1.1Zabbix环境准备
[root@linux-node1 ~]# cat /etc/redhat-release #查看系统版本
笔者联系QQ:
也可以加入架构师交流群:
Zabbix完整的监控配置流程可以简单描述为:
Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Event...
已经有10 条评论抢在你前面了~
任职xx互联网首席架构师
暂无标签!
Categories
Recent Posts
Recent Posts
Categories

我要回帖

更多关于 zenoss core 的文章

 

随机推荐