服务器管理监控系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
服务器管理、监控系统
摘要:现今互联网行业发展迅速,底层支撑互联网服务的服务器等各种硬件设备规模越来庞大。如何管理有效地管理这些设备、实时发现其潜在的隐患、获取其运行的状态,而显得至关重要。根据这些信息才能合理地决定设备上所运行系统、应用等服务的关闭与保留与挂起。本文介绍了利用Zabbix开源监控解决方案,以及对该方案的二次开发而实现对服务器机房的专家系统。
关键字:机房运维服务器监控Zabbix
目录
摘要 (1)
1. 引言 (1)
2. Zabbix监控原理与应用 (2)
2.1. Zabbix监控原理 (2)
2.2 Zabbix用户配置 (3)
3. 监控建立与二次开发 (5)
4. 系统展示 (11)
4.1用户监控对象添加 (11)
5.总结 (19)
参考文献: (20)
1. 引言
随着现今互联网行业的迅速发展,某些物联网服务的用户已经达到了亿级,如淘宝网注册用户已达到3.7亿,仅在2015年“双十一”当天活跃用户过亿[1]。支撑如此庞大用户使用的硬件基础是规模庞大的服务器群。如何获取每一台服务器的运行状态,及时获悉潜在隐患,出现问题及时锁定排除显得至关重要。机房运维人员以及高层决策人员只有在实时掌握这些信息后才可有效地对进行决策,如在访问流量过大或其他恶意攻击后是及时关闭服务还是启动备用服务,服务区瘫痪后是需要工作人员至机房处理硬件问题还是只需远程重启服务器等类似或简单或复杂的决策,都需要底层专家系统信息的支持。
现今比较成熟的开源服务器底层数据的采集解决方案主要有Zabbix和Nagios。
Nagios是一个监视系统运行状态和网络信息的监视系统,能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等[2]。Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的Web界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios 可以监控的功能有:
1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
2、监控主机资源(处理器负荷、磁盘利用率等);
3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
4、并行服务检查机制;
5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
6、当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
7、可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用;
8、自动的日志滚动功能;
9、可以支持并实现对主机的冗余监控;
10、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等[2];
11、可以通过手机查看系统监控信息;
12、可指定自定义的事件处理控制器[3]。
其他一些大型企业也有自己独立开发的服务器监控服务,如小米运维部的人性化互联网企业级监控系统Open-Falcon、淘宝运维部使用OpenTSDB等,它们也有各自的优点。
本文第一章概述了服务器机房的专家,以及可提供这些服务的一些解决方案等;第二章介绍Zabbix所提供的监控原理即使用;第三章介绍Zabbix的实际监控应用以及二次开发;第四章进行专家的分析;第五章对服务器机房专家系统进行总结。
2. Zabbix监控原理与应用
Zabbix是一个B/S模式的企业级的监控服务解决方案,用户可以此获取服务器等硬件、操作系统、中间件等的运行状态,为应用层的决策提供决策信息。
2.1Zabbix监控原理
Zabbix由agent和server组成,其中agent负责采集服务器等监控对象的数据,server
负责处理这些数据,判断异常等,并通过提供apache服务在web端实现对数据的可视化展示。
其中agent的类型主要监控对象包括:
(1)Zabbix-agent,根据Zabbix监控方式实现对操作系统层级的信息采集,实现对系统的监控。Zabbix-agent 有sender和get两部分组成,分别通过命令来采集数据[4]。监控对象有CPU运行状态、磁盘I/O、内存使用、进程线程数等;同时可利用其他应用提供的端口实现对应用服务的监控,如MySQL数据库等。
(2)、IPMI-agent,根据IPMI(Intelligent Platform Management Interface)接口实现对服务器等硬件设备的监控,监控对象包括CPU运行温度、风扇转速、环境温度等硬件信息的监控;
(3)SNMP-agent,根据SNMP(Simple Network Management Protocol)协议实现对交换机、路由器等网络设备的监控。监控对象包括各端口运行状态、流入流出流量等。
(4)JMX-agent,根具JMX(Java Management Extensions)提供的接口实现对Java类应用的监控。监控对象包括Java虚拟机、Tomcat服务,Hadoop、Spark等分布式服务的监控等。
当agent得到数据并发送给server后,server端将数组存放在位于服务端的数据库,然后前端服务调用数据库数据并将其可视化显示。显示给用户的只有browser页面,用户在前端进行服务器管理并据此进行相应决策。图(1)表示了Zabbix的监控原理。
图1Zabbix监控原理图
Zabbix的agent将数据发送给server并储存在数据库中,前端页面调用数据库中的数据与用户交互。
2.2Zabbix用户配置
Zabbix server处理数据时为了便于用户操作按图(2)的方式处理、集成监控数据。
图2数据处理、集成图
其中host为用户监控的主机、设备或操作系统等;item为实际的监控个体,可能是某一个CPU的使用率,磁盘读写速度等,一个host上可能存在若干item;每一个item都可设