网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
(3)监视和显示:Zabbix可以跟踪模拟键盘在Web网页上的敲击动作,来检查网页的控制功能和应答时机,大量的可视化选择,并支持创建自定义的图表,每一个试图集中显示多个监控项目。
(4)历史数据保存:将历史数据实时保存在数据库系统中,将存储周期分配在历史数据柯配置,定时的清除历史数据,并保持对历史数据的二次分析。
(5)系统功能:针对不同客户的身份进行验证来提供不同的数据信息。
Zabbix的监控结构是一般结构为CS(Client/Server)结构,数据可以直接发送到Server,分布式结构为CPS(Client/Proxy/Server)结构,Zabbix结构为Zabbix Server,Database Storage,Web Interface,Proxy,Agent。Zabbix Server: 负责收到由Agent发出的报告消息,组织的运行、管理及其控制。Database Storage:存储配置消息和接收到的消息。Web Interface:Zabbix的GUI界面,一般和Server系统工作在同一台计算机上。Proxy:可选择模块,通常使用在分布式的监视环境中。Agent:直接安装在被监视计算机上,主要收集的结果发给Server系统。
2.3.2 Zabbix运行流程
图 22 Zabbix的运行流程
图23 Zabbix 的服务流程
2.3.3 Zabbix工作原理
Zabbix是对服务器进行特性检测、计算机网络设备性能检测、数据库特性检测、各种报警方法、以及详尽的报告图表绘制;将Agentd放置在被检测的数据库上,由Agent负责定时获取服务器端本地所有数据分析资料,并送到Zabbix Server服务器端,由Zabbix Server获得数据分析资料后, 将所有数据保存在数据库中,用户通过Zabbix WEB能够查看的数据分析资料,在前台显示报告图形。当Zabbix监视某一具体的工程项目时,改项目会先设立某种触发器阈值点,当被监视的工程项目指标达到了该引发器所设有的阈值点时,会做出某些必须的动态,动态通常包含:收发消息(电子邮件、微信、短信)、发出指令(SHELL指令、Reboot、Restart、Install等)。
2.3.4 Grafana介绍
Grafana是一个用Go语言开发的开源数据分析可视化开发工具,能做数据分析监控和大数据统计分析,并具有报警功用。目前采用grafana的大企业还有不少,如paypal、ebay、intel等。
可视化:对于高速和灵活的客户端图像,有很多选择。面板插件可以为多种不同的工作方式可视化指标和日志。
报警:可以可视化地为最关键的指标,定义了预警规则。Grafana将继续评估它们,并发出通知。
提示:当警报改变情况后,它将发出通知。接受电子邮件通知。
动态汽车仪表盘:通过模板变量产生动态和可重用的汽车仪表板,这些模板变量作为下拉菜单出现在汽车仪表板上面。
混杂资料来源法:在同一张图中,混杂了不同的数据和资料源!可根据每个结果确定资料数据源。这技术甚至应用于自定义数据源。
附注:注释来自不同数据源图表。把鼠标悬停在事件上就可以表示完整的事件元信息,或者标记。
过滤:过滤功能可让您动态地创建新的键/值过滤,而这种过滤将自动运用于已采用了该统计源的任何结果。
2.3.5 Grafana特点
可视化:对于高速和灵活的客户端图像,有很多选择。面板插件可以为多种不同的工作方式可视化指标和日志。
报警:可以可视化地为最关键的指标,定义了预警规则。Grafana将继续评估它们,并发出通知。
提示:当警报改变情况后,它将发出通知。接受电子邮件通知。
动态汽车仪表盘:通过模板变量产生动态和可重用的汽车仪表板,这些模板变量作为下拉菜单出现在汽车仪表板上面。
混杂资料来源法:在同一张图中,混杂了不同的数据和资料源!可根据每个结果确定资料数据源。这技术甚至应用于自定义数据源。
附注:注释来自不同数据源图表。把鼠标悬停在事件上就可以表示完整的事件元信息,或者标记。
过滤:过滤功能可让您动态地创建新的键/值过滤,而这种过滤将自动运用于已采用了该统计源的任何结果。
2.4分布式存储
2.4.1分布式存储概述
分布式存储系统是把各种数据分散的保存在单一的计算机上。一般的网络存储管理系统通过集中式的数据库服务器放置各种财务数据,内存服务器也是其可靠性的问题,也是稳定性与安全的难点,无法适应大量数据应用的需求。散布式网络存储系统使用可扩充的结构,使用多种数据库服务器设备分摊仓储负担,并使用地址服务器定位仓储数据信息,它不但增强了信息系统的可靠性、可用性和储藏效能,还便于推广。分布式存储器的主要特点有如下几方面。
一致性:由于分布式的存储系统往往需要通过多台网络服务器设备共同保存数据信息,而且由于网络服务器设备总量的增加,网络服务器设备发生故障的概率也在日益增大。要确保在有网络服务器设备出现故障的情形下,操作系统仍然运行。通常方法是将同一份资料数据分为多种存放到不同类型的网络服务器设备中。但因为故障或者并行存储等特殊情形的出现,在同一个数据信息的几个数据副本中间也可以出现总量不完全一致的情形。在此处称保证几个副本的数量一致的性质为一致性。
使用可靠性:分布式数据库网络要求多个服务器设备共同工作。当服务器设备数量增多时,当中的部分服务器设备故障是在所难免的。我们认为,这样的情况并没有对整个网络系统产生太大的负面影响。当网络系统中的一些环节发生故障之后,整个网络系统的整体并不影响客服端的读/写请求的有效性。
分区容错性:分布式存储操作系统中的多个服务器利用网络实现互连。但是我们还没法确定互联网是否是永远畅通的,因为分布式系统必须拥有足够的容错性,来解决网络故障所造成的问题。一种更理想的情形是,当一个网络系统由于出现故障而划分为几个部分的时候,分布式存储机制依然可以工作。
2.4.2 分布式存储的原理
分布式存储是把企业数据分散存放在各个存储服务器上,并把这些分散的存储资源组成了一种虚拟的存储器,而实际上数据分散的存放在企业的不同位置。分布式储存简单的来讲,就是把数据分散存放在企业各个储存服务器上,并把这些分散的存储资源组成了一种虚拟的存储器,而实际上将数据分散的存放在了企业的不同角落。
2.4.3 分布式存储的作用
分布式存储能够把信息存放在较远距离的云服务器端,或者转移至距离信息更近的周边存储设备或边缘数据中心以就近存放,从而拥有更少的通信费用、互联网时间与宽带降低成本,更强的自适应和扩展。这样的存储方式也更加适合当下以及未来的数据存储结构。
随着时代发展,公司的业务增多服务器的数量也在大幅度的增加,这时分布式存储也在慢慢体现它的优点所在之处系统扩容就越加的显得简单,通过集群的方式更加的满足业务的需求,而且存储的数据也更加的清晰,去展现更有利的信息来源,防止公司的信息数据丢失。
2.5 本章总结
本文首先对zabbix系统所需的关键技术作出了阐述。接着依次对二个主要协定SNMP、IPMI协议作出了说明,并对协定的基本原理与应用模式作出了抽象式化阐述。随后详细阐述了Zabbix的基本技术结构与特性,并对其功能特点给出了简要说明,并把Zabbix中协议过程作出了详细的剖析,对消息的处理方式给出了简要解析。接着阐述了Grafana的基本使用方法,最后分布式存储的基本概况,对分布式存储的功能特点作出了说明,并把分布式存储的基本原理模式作出了展示。第三章Zabbix+Grafana监控系统分析与设计
本章通过结合企业云服务器生活环境,对基于Zabbix+grafana云监控系统的需求从功能需求和性能需求两个方面进行张开深入探讨和分析,从而对所需设计的云监控系统在功能以及性能上有较为清晰的认识。然后对云监控系统的整体构架、模块和设计。在本文中将分别在引入Zabbix+Grafana分布式构架、梯度告警模块、Splunk日志分析模块、数据库优化以及两种方式的进行详细设计。最后实现基于Zabbix+Grafana的云监控系统的分析与设计。
3 系统概要设计
3.1功能需求
3.1.1 Zabbix+Grafana监控系统功能需求
企业所需要的监测管理系统,具有基本的虚拟机或者网络服务监测的平台、web端的监测展示、数据分析的储存功能等基本以外,还应当具有:日志记录数据分析、异常管理、统计库容灾备份等的主要功能,在下面小节对本监测管理系统所考虑到的主要功能要求予以详尽的解析。
3.1.2基本功能需求
企业利用监控系统塔建服务器来获取监控端的信息,从而使形象化的展现到在人们的面前,提供给运维人员来检查CPU利用率、服务器使用情况、系统负载等一系列清晰可见的图像仿照在Grafana系统上信息集群的趋势,监控系统的基本功能如下:
(1)导出监控指标特定时间端的详细数据与趋势数据到Grafana,导出特定时间段内Zabbix的告警信息到xlsx上。
(2)对特定时间段研内信息进行分析,告警服务器的CPU负载、硬盘运行、存储器运行、网路状态、终端监测、日志监测等各种技术指标提供即时监测运行情况等,按照主机组导出巡检报告。
(3)对某个时间段研内信息进行分析,通过告警服务器的CPU负荷、硬盘使用、存储器使用、网络状态、端口监视、日志监控等多种指标进行实时监视使用状况等,按照主机组导出巡检报告。
(4)Zabbix对网络集群中运营着各种上网业务提供查询,上网质量的优劣影响到使用者的体验效果。所以需对网络集群中的网络服务(如:SMTP、HTTP等)实施监测,从而了解不同上网服务状态。
图31 Zabbix报告系统构架图
图3-2 Zabbix+Grafana云监控系统功能模块
3.2 系统结构
监控系统的总体结构如下图显示,Zabbix+Grafana服务器均处于企业的内网,Zabbix的集群搭建和各种功能管理、监控系统的流程等,并深入分析了其中的工作原理。针对于如何优化监控系统,让它能够在分布式监测系统和后期扩展过程中,依然能够取得更好的成绩,增加了自己的创新设计,以获取一些原来无法发收集到的新数据,同时考虑到服务器存储将因为服务器数量的增多,而产生相应的负荷压力。
根据上述性能分析结论,从以下三个角度来剖析控制系统的安全可靠。
(1)稳定性监控系统保障监控服务器稳定性监控系统即时反应了各项系统的运载状况,并且能够及时对信号的采集过程进行管理,如果发生了异常立刻相应的动作,并且可以及时的采用短信、Email、Granfana系统界面等各种方法进行提示报警,传输在整个系统流程上至关重要。
(2)延展性 随着监控系统更新换代升级,业务量就越来越大,所实现的功能也就越来越多,监控系统要进行扩充是非常重要的,数据储存对后期的数据分析或者预报也有重要的作用,增加信息系统的承载力所要具备的。
(3)完整性 具有完整的监控系统,在监测流程中发生数据拥堵时仍能做出反应并保存完好的数据信息。完整性能够充分储存大量数据,来衡量一个系统是否具有关键性的指标。数据由分布式网络存储系统通过与Zabbix-Server通讯,把大规模的抓取的服务器消息保存留下来,这样的话既保证了数据库的稳定性,也为后期的分析创造了基本必要条件。
3.2.1 Grafana信息功能展示
信息展示功能主要是对收集到的信息内容加以图像化,包含收集到的历史信息内容,能够方便快捷的查询各个服务器设备的状况和特性。除了历史消息图型化的功能之外还有预警消息展示和服务器异常消息扫描技术。预警消息展示是当网络服务器状态出现异常时,系统会把特殊消息展现在Grafana上。Zabbix实现的分布式监测技术,把被监测设备的所有指标用PHP语句描述后,在Grafana网站上直接展示在管理人员眼前,它克服了现在大部分的大批量系统监测困难、识别问题困难的情况。
3.3本章小结
本章介绍了当前所需的Zabbix+Grafana系统的功能,随后介绍了各个模块下的功能和所需要的框架,Zabbix系统将数据传输到Grafana界面上,从而显示高级的清晰图像,并对系统程序进行本质上的提升;介绍系统的报警功能和服务器异常功能扫描,从而使系统更加的完善。
4系统实现与应用
4.1 Zabbix安装与使用
4.1.1 Zabbix的安装
(1)安装mysql
Zabbix存储数据所需要坏境
图41 配置环境
完成之后配置在/etc/my.cnf.d/目录下创建 mysql.cnf 文件,编辑内容如下
图42 编制mysql.cnf
(2)安装Zabbix
配置zabbix的yum源,安装zabbix-server、mysql、zabbix-agent
图43 配置server
(2)配置Zabbix的页面初始化配置
图44 配置zabbix界面
对zabbix进行配置
图45 检查Zabbix配置情况
配置数据库
图46 Zabbix配置数据库端口
图47 Zabbix用户端口
监控主机cpu
图48 配置监控主机cpu
仪表盘展现使用情况
图49 cpu告警通知端口
cpu在Zabbix界面使用情况
图410 cpu监控图
(1)配置Grafana界面设置
图411 Grafana登录页面
(2)添加Zabbix数据源
图412 Grafana添加程序
创建表盘,设置Legend
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
大数据知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新