精华内容
下载资源
问答
  • 平台监控报表系统

    千次阅读 2014-05-06 08:59:31
    综合利用Nagios、Ganglia和Splunk搭建起的云计算平台监控体系,具备错误报警、性能调优、问题追踪和自动生成运维报表的功能。有了这套系统,就可轻松管理Hadoop/HBase云计算平台。 云计算早已不是停留在概念阶段...

    综合利用Nagios、Ganglia和Splunk搭建起的云计算平台监控体系,具备错误报警、性能调优、问题追踪和自动生成运维报表的功能。有了这套系统,就可轻松管理Hadoop/HBase云计算平台。

    云计算早已不是停留在概念阶段了,各大公司都购买了大量的机器,开始正式的部署和运营。而动辄上百台的性能强劲的服务器,为运营管理带来了巨大的挑战。

    • 如果没有方便的监控报警平台,对于管理员而言犹如噩梦,每天都将如救火队员一样,飞快地敲击键盘,用原始的Unix命令在多台机器中疲于奔命。
    • 如果没有好的日志管理平台,对于开发者Troubleshooting更是一件泪流满面的事情。
    • 而如果你是运维团队的总负责人,简洁清晰的Report则非常重要。Stakeholder们动不动就可能问起系统的SLA、机器的利用率等诸多问题,毕竟,公司为此投入了巨大的资金和人力。

    朋友们,当我们管理起公司寄予厚望的云计算平台时,当我们面对如此多充满挑战的实际问题时,该怎么办?

    概述

    我们在搭建趋势云计算平台时,遇到了很多的问题和挑战。开始搭建时,第一次来了那么多性能强劲的机器,我们在感到兴奋的同时,也不免有些顾虑。大家坐在一起讨论,问题就列了满满一白板。

    • 出了问题怎么办,有没有预警机制?
    • 有没有可视化的管理界面?
    • 管理平台需要自己开发吗?开发难度有多大?
    • 有没有开源的管理工具?
    • 那么多日志分布在各个机器上,有没有更有效的方法管理?
    • 能否生成好的报表?
    • 机器宕机,管理员能否收到短信通知?
    • 如何做性能调优?
    • 扩容升级时,能否给出依据?

    带着这些问题,我们开始了自己的云计算平台管理和运营之旅,一路走来,收获颇丰。现在基本上形成了如图1所示的一整套云计算平台监控体系。

    图1 云计算平台监控架构

    在这个系统中,我们综合利用了NagiosGangliaSplunk,搭建起云计算平台监控体系,使其具备错误报警、性能调优、问题追踪和自动生成运维报表的功能。有了这套系统,我们终于能够轻松管理Hadoop/HBase云计算平台了。接下来将简单介绍它们的特点和功能。

    Nagios:云计算平台的智能报警器

    总不能天天盯着机器看吧,因此我们首先关心的是机器的监控与报警。最理想的境界是:如果机器出故障了,我能第一时间处理;如果机器没有问题(最好永远没有问题),我能去喝茶、钓鱼和睡大觉。

    发现机器有没有问题,对我们而言不是什么难事。写个脚本,Ping一下IPTelnet每台机器的Service端口,如果增加了新机器就改改配置即可。但这样也太原始了吧,可视化效果差,不好维护,没有层次,不好管理,出不来报表,总不能老是用Excel人工写报表吧。有没有更好的方法呢?

    有,你可以用Nagios

    Nagios是一个可运行在Linux/Unix平台之上的开源监视系统,可以用来监视系统运行状态和网络信息。Nagios可以监视所指定的本地或远程主机以及服务,同时提供异常通知功能。

    Nagios可以提供以下几种监控功能。

    • 监控网络服务(SMTPPOP3HTTPNNTPPing等)。
    • 监控主机资源(处理器负荷、磁盘利用率等)。
    • 简单的插件设计使得用户可以方便地扩展自己服务的检测方法。
    • 并行服务检查机制。
    • 具备定义网络分层结构的能力,并使用“parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态。
    • 当服务或主机问题产生与解决时将告警发送给联系人(通过电子邮件、短信、用户定义方式)。
    • 具备定义事件处理功能,可以在主机或服务的事件发生时获取更多问题定位。
    • 自动的日志回滚。
    • 可以支持并实现对主机的冗余监控。
    • 可选的Web界面用于查看当前的网络状态、通知和故障历史、日志文件等。

    Nagios最好用的地方就是它将这些每天管理员做的工作自动化,你只需设定好要监听的端口即可,它会默默地工作,帮忙定时地去检测服务端口的状态,一旦发现问题,会及时发出报警。报警可以是电子邮件也可以是手机,从而使得管理员第一时间就能收到系统的状况。

    Nagios的报表功能也很强大。管理员可以很容易地得到每天、每周和每月的Service运行状况。

    图2 SPN 后台运行的所有Service的当前状态

     

    如图2所示,红色部分清楚地标注有问题的机器,点开链接,就可以得到有问题机器的情况。虽然在HBase中,几台Region Server宕机不会对整体服务产生大的影响,但多少会影响到系统的Performance。而且,如果某几台Region Server频繁宕机,对整个系统的稳定性也会产生不好的影响。有了Nagios,我们可以快速定位有问题的机器,及时地将一些机器移除出HBase系统,待调整好了再上线运行,以保证系统的稳定性。

    现在,Nagios已经成为了很多公司必备的监控工具。只需要简单地配置,就可以实现强大的功能,将管理员从日常烦琐的工作中解放出来。

    有了Nagios,哪怕就是管理上千台机器,也不会手忙脚乱,而是有一种统领千军、运筹帷幄的感觉。

    Ganglia:看到云计算平台的方方面面

    Nagios的确不错,但你是不是真的可以喝茶、钓鱼、睡大觉呢?显然还不行。有了Nagios,你基本上可以做个优秀的救火队员,能在事发第一时间到达现场、处理事故。但如何防患于未然,真正做到运筹帷幄、游刃有余呢?

    我们需要更加精确的数据,能够看到云计算平台的方方面面,能根据这些数据,做出性能调整、升级、扩容等的决策,从而保证Service能够满足不断增长的业务需求。

    这时候,你需要Ganglia

    Ganglia是UC Berkeley发起的一个开源实时监视项目,用于测量数以千计的节点,为云计算系统提供系统静态数据以及重要的性能度量数据。Ganglia系统基本包含以下三大部分。

    Gmond:Gmond运行在每台计算机上,它主要监控每台机器上收集和发送度量数据(如处理器速度、内存使用量等)。

    Gmetad:Gmetad运行在Cluster的一台主机上,作为Web Server,或者用于与Web Server进行沟通。

    Ganglia Web前端:Web前端用于显示GangliaMetrics图表。

    HadoopHBase本身对于Ganglia的支持非常好。通过简单的配置,我们可以将HadoopHBase的一些关键参数以图表的形式展现在GangliaWeb Console上。这些对于我们洞悉HadoopHBase的内部系统状态有很大的帮助。

    Hadoopconf文件夹下面,找到hadoop-metrics.properties,配置好GangliaServer即可。这里要注意,Ganglia 3.0Ganglia 3.1的区别,它们使用了不同的class

    dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31

    dfs.period=10

    dfs.servers={Ganglia_Server}:8649

    有了这些图表,HadoopHBase就不再是一个黑盒。无论是HadoopNamenodeDatanode,还是HBaseMasterServerRegionServer任何时刻的情况,都会一目了然。由于图标的跨度可以是小时、天、月甚至是年,这样,就可以非常方便地定期生成周报、月报和年报。同时,根据图中Metrics的状况,我们可以通过调整参数、增加内存和硬盘、增加机器等的方法调整单个机器或者整个Service的性能。

    图3 Hadoop其中一个DataNode的Metrics

     

    Nagios 最大的问题在于不能洞悉到Service内部的状况。像HadoopHBase这样的分布式系统,一个节点的故障并不等于整个Service的故障,影响的只是Service的性能。所以,在测定ServiceSLA时,我们不能以某一台机器的故障作为Service故障的评判标准。比如在我们的HBase SLA的设定上,我们定义了HBase Service完全不能工作的评判标准如下。

    • Master Server 联系不上。
    • 所有RegionServer 都无法联系上。
    • -ROOT- 表无法访问。
    • .META. 表无法访问。

      图4 Ganglia对Hadoop/HBase使用情况的监测

    那么,我们就可以根据这个规则定义SLA,通过定期调用HBaseAdmin相应API ,将测试的结果发给Ganglia。采用同样的方法,我们还可以自定义一些规则,监视HBase MasterZookeeper等的情况。

    通过这些方法,我们完全能够针对Hadoop/HBase使用的实际情况,做出Service级别而不是机器级别的监控系统并生成报表。

    此外,Ganglia还可以通过Server反馈回来的Load信息,给出各个机器的Load情况,给我们做升级和扩容提供依据。

    如图5所示,Ganglia分别会用不同颜色,标注出当前时刻的机器Load分布情况。如果Load过重,就应该检查机器的具体使用情况。

    图5 HBase Cluster Load Metrics

    Ganglia的安装配置,可以参考:http://www.spnguru.com/?p=604

    Splunk:像查Google一样查日志

    有了NagiosGanglia,算是成功了一大半。作为一名优秀的管理员,我们需要具备一定的Troubleshooting能力,对一些常见的问题能给出解决方案。那么,对日志的分析就必不可少。

    Hadoop/HBase的日志分布在各个机器上面,而日志之间关联性强。Client端的错误有可能是Region Server引起,而Region Server的错误有可能是Zookeeper导致。有没有一个统一的日志管理平台呢?

    众里寻它千百度,蓦然回首,我们找到了Splunk——日志界的Google

    很遗憾,Splunk不是开源的,但它的免费版本提供每天500MB日志索引。如果数据量较小,通过定义好Log的级别,基本上也能满足需求。但对于数据量较大的公司,就有些捉襟见肘。

    Splunk支持AdHoc的日志搜索,而且可以与Nagios配合使用。比如Nagios报警某台RegionServer端口不可达,我们收到Notification后,登录Splunk,直接搜索shutdownhost名称,找到RegionServer退出的日志。点击详细信息,分析日志,就能快速定位问题。如图6所示。

    图6 Splunk与Nagios配合使用进行日志搜索

     

    HadoopHBase有了进一步了解后,我们可以利用Splunk实时检测日志中的关键字,定义关键字规则,如监控“shutdown”、“quit”、“ERROR”、“Zookeeper Session Expired”等,一旦出现,利用SplunkNotification功能,发出邮件通知管理员,管理员通过Splunk定位问题,就可以在系统真正出现问题之前,对系统进行调整,防患于未然。

    具体Splunk的设置,可以参考:http://www.spnguru.com/?p=122

    总结

    搭建一套云计算平台,强大的监控管理系统是必不可少的。当然,任何工具都不是万能的,在实际维护过程中,我们也发现,NagiosSplunk经常出现误报,如果规则定义得不好,大量的警报邮件如潮水一样涌来,反而掩盖了真正的问题。可以说,在云计算平台的运维管理上,没有一劳永逸的事情,随着规模的不断增大和应用的不断多样化,需要大家不断地实践和总结。


    展开全文
  • 智慧城管项目的总体设计目标是根据市里的要求,建设智慧城管管理平台和视频监控系统,是构建在电子政务外网及其他电子政务基础设施之上,以互联网、城管视频监控专网为平台,以数字地理信息为基础,结合移动定位系统...

     

    一、需求分析

    智慧城管项目的总体设计目标是根据市里的要求,建设智慧城管管理平台和视频监控系统,是构建在电子政务外网及其他电子政务基础设施之上,以互联网、城管视频监控专网为平台,以数字地理信息为基础,结合移动定位系统和计算机软件技术,为城市管理者提供声、像、图、文四位一体的管理平台,实现针对城市部件的检查、报警、紧急事件处理、指挥调度、督察督办等功能。具体情况如下:

    1.移动终端需求分析

    信息采集员配备具有通话、短信、拍照、录音、手写、GPS、GIS等多功能的移动终端设备。

    2.车载终端设备需求分析

    车辆GPS定位监控子系统为科学、快速、高效的车辆管理提供了一个合理的解决方案,通过调用GPS/GPRS定位接口可以实现对城管执法、作业等车辆的现有位置及历史位置追踪,显示车辆的移动轨迹。实现对城市管理车辆的科学调度和运行情况的实时监管,提高车辆管理的工作效率。

    通过车载GPS定位技术,可以实时获得车辆位置信息。通过查询车牌或从地图上直接监视,便可获得目标车辆的实时运行信息,包括实时位置及行驶轨迹等;同时仅需要设置目标车辆轨迹回放时间,就可以看到车辆在该时间段内的行驶轨迹,并在GIS电子地图上显示;车载GPS移动位置信息通过GPRS网络平台导入到“智慧城管”系统中,实现对车辆的动态监控以及智能化调度。

    指挥中心通过文字或车载电话实现对城管车辆的文字或语音调度,城管执法人员可以通过车载终端对调度指令进行回复,实现指挥中心与城管车辆间的信息交互,保证了调度的准确性和实时性。

    3.视频监控的需求分析

    随着经济的发展,移动或不固定非法商贩数量激增,针对无照经营、流动、不固定非法商贩的管理,需在管辖区域内的重点部位建设视频监控系统,进行实时的图像监控。同时应为城管的执法车辆配备移动的视频监控系统,指挥中心可以通过GPS来监控和管理的执法车的位置,通过视频实时监控车内、外状态,达到流动监控、非长期固定场所监控、执法队伍管理的目的。

    按照统一规划,分步实施的原则,2012年完成中心城区21.4平方公里内“智慧城管(一期)”试点(建设50个视频监控点,其中高清10个,标清40个)。

    另外,配备相应可移动摄像机,对特定的地方(工地、道路等)临时进行监控,保持城市管理的美容美观。

    4.资源整合需求分析

    在上述内容中,一方面要充分整合现有信息化资源,如公安部门的视频监控资源、区电子政务外网等,实现与“智慧城管”的互联;另一方面,要预留与环保、交通、环卫及应急指挥等系统的信息接口。

    二、项目总体设计

    (一)建设原则

    根据高起点、高标准、高性能、严要求的指导方针,结合当今计算机网络信息系统的共性,对照城市管理及执法业务工作的个性,智慧城管平台项目建设应遵循以下原则:

    1.立足高起点、高标准。将智慧城管建设作为城市管理的突破口,通过构建与市局无缝对接的智慧城管信息处理系统平台,整合基础数据资源,组建覆盖全区的城市管理网络,为我区城市管理工作奠定良好的基础。

    2.立足大城管、创新体制。建立科学合理的城市管理体系,促使城市管理从“小城管”向“大城管”转变,解决多条块协同工作问题,全面提高我区城市管理总体水平,全力打造“科技城管、法治城管、人文城管、和谐城管”新格局。

    3.统筹规划、分步实施。根据我区信息化建设水平,统筹规划区智慧城管建设,因地制宜、稳步推进、统一规划、分步实施,做到规划在前、管理先行、有序实施,逐步打造功能完善、技术先进的智慧城管系统,逐步将城市管理领域拓展到社会服务、城市应急、地下管网等诸多方面。

    4.整合资源、共建共享。区智慧城管项目建设是一项系统工程,充分整合、共享政府公共资源和现有成果,合理利用公安、交警、交通、工商、环保等各部门的监控资源,自建视频监控系统建成后不仅为智慧城管运行提供技术支撑,同时为其他部门提供资源数据共享。

    5.多元投资、减轻压力。充分借鉴其他地方的建设经验,采用政府投资、市场化运作相结合的方式。以最低的资金投入,全方位开展区智慧城管系统建设,实现智慧城管平台效益最大化。

    (二)建设目标

    智慧城管建设紧紧围绕智慧城管建设的目标要求,按照“以最小的投入,实现最大效益”的思路,构建智慧城管系统。综合运用计算机技术、信息技术和智能管控技术,通过资源整合、功能拓展,深化智慧城管建设,实现城市管理的范围全包容、空间全覆盖、时间全天候,形成监控实时化、处理及时化、管理精细化、考核标准化的运行模式,促进城市管理工作由被动向主动、静态向动态、粗放向精细、无序向规范转变,全面提高城市管理水平,确定以下建设目标:

    1.通过现代化信息手段,整合应用GIS(地理信息系统)、遥感、遥测、宽带网络、多媒体、智能管控及虚拟仿真等多项技术进行城市管理,实现城市管理空间细化和管理对象精确定位。

    2.通过创新管理体制,规范城市管理流程,增强对城区动态性、突发性事件处置力度,实现快捷、高效、全时段、全方位的城市管理。

    3.通过进一步明确各部门城市管理职能,建立完善的城市管理问题发现机制、指挥决策机制、执行反馈机制、综合评价机制,进而形成管理规范、运转高效的城市管理长效体制。

    4.通过智能监控系统建设,充分整合利用现有资源,为社会治安、公共安全、社会服务、应急事件等提供视频信息及技术支持,提高城市管理水平,提升城区品位,构建和谐社会。

    (三)建设内容

    根据“智慧城管”整体项目建设内容,可以分为如下几部分:

    建立“智慧城管”平台:“智慧城管”平台建设将由市统一进行开发,统一部署,主要包括智慧城管核心业务系统、队伍管理、公众服务系统、智能管控、统一视频监控系统、基础管理服务系统、统一定位管理系统、统一呼叫管理系统及空间信息管理平台九大方面等,由市统一进行开发。

    视频监控系统:根据“智慧城管”建设要求及城管局业务发展需要,同时从资源整合、共享,投资成本最大化节约等角度考虑,同时整合、共享公安部门视频监控资源及自建,以达到对城管局所管辖范围进行实施监控。

    移动执法终端:根据本次项目建设需求,终端设备主要由城管通、执法通、领导通。

    硬件配套设施:包括软件平台配套的服务器、存储、交换机等,及信息采集设备、终端设备,办公设备等。

    三、项目详细设计

    (一)总体框架

    根据《国家电子政务总体框架》的要求,结合城管局信息化建设实际,以标准、制度和安全体系为保障,以各项管理业务流程信息化为主线,形成互联互通,贯穿上下的政务管理、决策支持和社会服务信息化体系,如图2所示:

     

    图2 总体框架图

    根据“智慧城管”项目建设目标和业务特点及发展需要,要求系统架构具有稳定、可靠、高效、可扩展性好等特点。

    在尽可能保障现有需求和考虑未来系统扩展需要的基础上,采用面向服务体系架构(SOA)进行设计,遵循多层体系、业务规范、数据资源标准等标准体系,强调各类基础资源的复用和可扩展性,实现对现有系统和资源的整合与集成,并扩展新的功能。

    基础设施层主要指保障上层系统正常运行的硬件设备和运行于硬件上的基础系统,包括核心网络、互联网、无线网和政务网等网络资源,还包括服务器系统、机房系统、网络管理系统、存储管理和备份系统等,为系统提供数据存取、通信、安全等基础设施。

    支撑层为平台提供了基础的服务支撑能力,并将这些服务能力依据不同功能划分,以松散耦合的形式组织成各类基础服务。这些基础服务在SOA的总体架构内互相提供服务和数据,构成了上层应用系统所需要的底层应用支撑。

    应用层主要分为数字城管、数字执法、应急指挥、公众服务、智能管控、决策分析等六大应用群。

    展现层即用户界面,为平台各类用户提供具有良好用户体验的终端展现界面,各种应用的服务、功能及信息被集成在展现层,用户通过智能管控平台、领导通终端、城管通终端、执法通终端、各类公众网站等方面实现日常管理、公众服务和决策辅助的相关功能。

    展开全文
  • Grafana监控系统之Prometheus+Grafana监控系统搭建 本文章内容较长,可通过右上角点击目录快速定位想看的内容 => => 一. 概述 1.1 Grafana介绍 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过...

    Grafana监控系统之Prometheus+Grafana监控系统搭建

    本文章内容较长,可通过右上角点击目录快速定位想看的内容 => =>

    一. 概述

    1.1 Grafana介绍

    Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

    1. 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

    2. 数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

    3. 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

    4. 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

    5. 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

    6. 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

    简单来讲,它是一个多用途的监控工具,同时通过邮件等方式进行有效的预警通知,丰富的直观的可视化界面,多种数据源配置是其优点所在;

    1.2 Prometheus对比Zabbix

    • 和Zabbix类似,Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,很庞大也很繁杂。

    • zabbix的客户端agent可以比较方便的通过脚本来读取机器内数据库、日志等文件来做上报。而Prometheus的上报客户端则分为不同语言的SDK和不同用途的exporter两种,比如如果你要监控机器状态、mysql性能等,有大量已经成熟的exporter来直接开箱使用,通过http通信来对服务端提供信息上报(server去pull信息);而如果你想要监控自己的业务状态,那么针对各种语言都有官方或其他人写好的sdk供你使用,都比较方便,不需要先把数据存入数据库或日志再供zabbix-agent采集。

    • zabbix的客户端更多是只做上报的事情,push模式。而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据。

    • 界面来说zabbix比较陈旧,而prometheus比较新且非常简洁,简洁到只能算一个测试和配置平台。要想获得良好的监控体验,搭配Grafana还是二者的必走之路。

    1.3 Grafana结构图

    在这里插入图片描述

    1.4 通俗讲

    • Prometheus作为一个中间点,而Grafana作为可视化展示,后面的exporter作为监控,exporter将需要获取的数据获取并连接到Prometheus,而Prometheus连接到Grafana,直观展示被监控者状态;

    二. Grafana监控系统之Prometheus+Grafana监控系统搭建

    2.1 安装Prometheus

    • 下载并解压
      wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
      
      tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
      
    • 运行Prometheus server
      cd prometheus-2.7.2.linux-amd64
      
      ./prometheus --config.file=prometheus.yml
      
    • 配置Prometheus
      • 在Prometheus.yml中有配置文件,我们可以对其进行配置,当然第一次安装也可以不管;
      $ cat prometheus.yml 
      # my global config
      global:
        scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
        evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
        # scrape_timeout is set to the global default (10s).
       
      # Alertmanager configuration
      alerting:
        alertmanagers:
        - static_configs:
          - targets:
            # - alertmanager:9093
       
      # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
      rule_files:
        # - "first_rules.yml"
        # - "second_rules.yml"
       
      # A scrape configuration containing exactly one endpoint to scrape:
      # Here it's Prometheus itself.
      scrape_configs:
        # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
        - job_name: 'prometheus'
       
          # metrics_path defaults to '/metrics'
          # scheme defaults to 'http'.
       
          static_configs:
          - targets: ['localhost:9090']
      
      

    其大致可分为四部分:
    - global:全局配置,其中scrape_interval表示抓取一次数据的间隔时间,evaluation_interval表示进行告警规则检测的间隔时间;
    - alerting:告警管理器(Alertmanager)的配置,目前还没有安装Alertmanager;
    - rule_files:告警规则有哪些;
    - scrape_configs:抓取监控信息的目标。一个job_name就是一个目标,其targets就是采集信息的IP和端口。这里默认监控了Prometheus自己,可以通过修改这里来修改Prometheus的监控端口。Prometheus的每个exporter都会是一个目标,它们可以上报不同的监控信息,比如机器状态,或者mysql性能等等,不同语言sdk也会是一个目标,它们会上报你自定义的业务监控信息。

    • 访问prometheus
      • 输入: “ip地址”+":9090" 在浏览器中进行访问,如果出现可视化界面说明成功;

    示例: 186.163.15.42:9090 直接在自己电脑中访问
    如果访问不了,请检查防火墙是否开启9090端口

    2.2 添加机器状态监控(监控服务器CPU,硬盘,网络等状态)

    • 下载且解压并运行

      // 下载最新版本,可以在github的release中对最新版本右键获取下载链接
      wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
      
    • 解压

      tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
      
    • 进入解压出的目录

      cd node_exporter-0.17.0.linux-amd64
      
    • 运行监控采集服务

      ./node_exporter
      
    • 监听9100端口

      • 本Centos中访问: curl http://localhost:9100/metrics
      • 电脑浏览器中访问: ip地址:9100

      如果访问有内容显示则成功

      启动服务的时候可使用nohup后台启动,如果是直接图中所示内容启动则重开连接

      • 去Prometheus的配置文件中加上这个exporter的地址
        • 先回到根目录
      cd ~
      
    • 进入prometheus

      cd prometheus-2.7.2.linux-amd64/
      
    • 编辑配置文件prometheus.yml

      vim prometheus.yml
      

    没有vim可以下载或者使用vi也可以

    • 添加target:
      scrape_configs:
        - job_name: 'prometheus'
          static_configs:
            - targets: ['localhost:9090']
        - job_name: 'server'
          static_configs:
            - targets: ['localhost:9100']
      

    2.3 安装Grafana

    • 下载并解压Grafana
      wget https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz
      
      tar -zxvf grafana-6.0.0.linux-amd64.tar.gz
      

    这个页面给出的是最新版本的安装命令,右上角可以选择切换其他版本的安装命令。解压后会出现 grafana-6.0.0 目录,进入该目录,然后就可以运行Grafana了;

    • 安装插件

      • 进入Grafana服务器的该Grafana的lib目录下,然后输入以下命令更新插件:
        ./grafana-cli plugins install grafana-piechart-panel
    • 进入Grafana目录

      cd grafana-6.0.0
      
      • 启动Grafana。
      ./bin/grafana-server web
      
    • 在Grafana展示监控信息

      • 安装并启动Grafana后,浏览器输入 IP:3000 来访问Grafana,管理员账号密码默认是admin/admin。首次登陆会让你修改管理员密码,然后就可以登录查看了。

      • 添加数据源
        在这里插入图片描述

      • 选择Prometheus
        在这里插入图片描述

      • 先输入名称,然后填入http://ip+9090然后直接点Save&Test,成功后则直接点击Dashboards选择展示面板
        在这里插入图片描述

      • 点击导入,可一个也可以全部导入
        在这里插入图片描述

      • 选择左侧边栏的 + 号,点击Imput, 在Grafana.com Dashboard中输入: 8919

      也可以自己选择官方展示面板,链接: https://grafana.com/dashboards

      • 输入号码后点击确定,然后再prometheus选择对应的Prometheus,点击Import即可
        在这里插入图片描述
    • 查看效果

      • 左边侧栏选择方块,点击Manage,然后点击刚刚创建的,即可成功展示!
        在这里插入图片描述

      • 展示效果如图所示:
        在这里插入图片描述

    三. Grafana监控系统之搭建其他服务器监控系统

    3.1 前述

    • 这次的教程是配置其他服务器的监控系统,所以假设上面的已经做好了

    • 监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置;而Prometheus则存储exporter的信息供Grafana询问;Grafana则负责信息的展示;所以可以只配置一个Prometheus,而其他服务器或者本机的服务器的exporter只需要在这一个Promethes中给出它的job_name,targets地址等信息即可;

    • 这里介绍了又重新下载了一个Prometheus的方式,不下载的话可直接跳过从教程: 3.5 添加机器状态监控 开始

    3.2 安装Prometheus

    • 连接需要被安装的服务器,安装Prometheus:
      wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
      
      tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
      

    3.3 启动Prometheus

    • 下载最新版本,可以在github的release中对最新版本右键获取下载链接
      wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
      
    • 解压
      tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
      
    • 进入解压出的目录
      cd node_exporter-0.17.0.linux-amd64
      
    • 运行监控采集服务
      ./node_exporter
      

    3.4 配置Prometheus:

    $ cat prometheus.yml 
    # my global config
    global:
      scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
      evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
      # scrape_timeout is set to the global default (10s).
     
    # Alertmanager configuration
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
     
    # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
     
    # A scrape configuration containing exactly one endpoint to scrape:
    # Here it's Prometheus itself.
    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus'
     
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
     
        static_configs:
        - targets: ['localhost:9090']
    

    如无其他特殊需求可不做改变;

    3.5 添加机器状态监控

    ~~~java
    // 下载最新版本,可以在github的release中对最新版本右键获取下载链接
    wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
    ~~~
    
    • 解压
      tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
      
    • 进入解压出的目录
      cd node_exporter-0.17.0.linux-amd64
      
    • 运行监控采集服务
      ./node_exporter
      

    可使用后台运行进程命令启动也可以;访问:http://ip:9100/metrics即可验证,如果有对应界面则配置成功

    3.6 配置Prometheus.yml文件

    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
      - job_name: 'server'
        static_configs:
          - targets: ['localhost:9100']
    

    如果prometheus不在本服务器,则将server下的targets中的localhost改为对应的ip地址;
    重新启动一下

    3.7 配置Grafana

    • 进入Grafana服务器的该Grafana的lib目录下,然后输入以下命令更新插件:
      ./grafana-cli plugins install grafana-piechart-panel
      

    更新插件后重新启动服务

    3.8 配置可视化界面

    • 添加数据源
      在这里插入图片描述
    • 选择Prometheus

    在这里插入图片描述

    • 先输入名称,然后填入http://ip+9090然后直接点Save&Test,成功后则直接点击Dashboards选择展示面板
      在这里插入图片描述
    • 点击导入,可一个也可以全部导入
      在这里插入图片描述
    • 选择左侧边栏的 + 号,点击Imput, 在Grafana.com Dashboard中输入: 8919

    也可以自己选择官方展示面板,链接: https://grafana.com/dashboards

    • 输入号码后点击确定,然后再prometheus选择对应的Prometheus,点击Import即可
      在这里插入图片描述

    3.9 查看效果

    • 左边侧栏选择方块,点击Manage,然后点击刚刚创建的,即可成功展示!
      在这里插入图片描述

    • 展示效果如图所示:
      在这里插入图片描述

    注意:如果需要监控其他服务器,则只需要在其他服务器安装 node_exporter 即可,将其对应的ip地址,端口号等信息配置到已有的Prometheus的Prometheus.yml内即可;格式参照其他,job_name不能命名成一样的,可改成其他名称;Grafana添加数据源和注册仪表盘都是一致的;

    四. Grafana监控系统之邮件报警

    4.1 Grafana服务器配置

    • 关闭服务
      ctrl+c

    如果是后台启动的服务,则用相关的命令关闭grafana web
    如果grafana监控系统没有开启,则无需关闭;

    • 进入grafana目录
      cd grafana-6.0.0
      
    • 编辑配置文件conf
      vim defaults.ini
      

    没有vim直接 yum install vim 即可,使用vi 也可以进行编辑
    在这里插入图片描述
    smtp.qq.com:465是针对qq邮箱的,其他的邮箱的服务器不同,请做对应的改变,直接百度即可;

    • 编辑完退出:
      ESC+:wq+Enter
    • 返回上一级
      cd ..
    • 启动服务
      ./bin/grafana-server web
      

    4.2 Grafana 可视化界面配置

    • 添加
      在这里插入图片描述
    • 输入具体警告内容
      在这里插入图片描述

    如果成功就能接收到邮件,否则查看服务器内配置是否正确;

    4.3 邮件报警总结

    • 此功能可以具体对某些仪表盘的数据设立阀值,如果超过此值则触发报警,具体的应用具体分析,后面补充;

    五. Grafana监控系统之搭建MySQL监控系统

    5.1 步骤概述概述

    1. 下载安装Mysql并配置账号密码
    2. 导入sql文件
    3. 安装mysqld_exporter
    4. 对mysqld_exporter进行操作
    5. 运行mysql_exporter
    6. 加入Prometheus.yml配置
    7. 配置可视化界面

    5.2 下载安装Mysql

    • 如果是对已有的mysql进行操作,请忽略此步骤;

    • 下载mysql的repo源:

      wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
      
    • 安装mysql-community-release-el7-5.noarch.rpm包:

      rpm -ivh mysql-community-release-el7-5.noarch.rpm
      
    • 安装mysql:

      yum install mysql-server -y
      
    • 修改权限,否则会报错:

      chown -R root:root /var/lib/mysql
      
    • 重启mysql服务:

      service mysqld restart
      
    • 登录并重置密码:

      ## 直接回车进入mysql控制台
      mysql -u root
      mysql > use mysql;
      mysql > update user set password=password('123456') where user='root';
      mysql > exit;
      

    5.3 导入sql文件

    1. 下载my2.sql
      https://codeload.github.com/john1337/my2Collector/zip/master
      
    2. 解压文件后将此文件夹内的sql文件放入要监控的Mysql服务器中
    3. 使用命令登录mysql
      mysql -u用户名 -p密码 示例: mysql -uroot -proot
    4. 使用命令导入sql文件
      	source /root/my2.sql
      

    后面的是具体地址,如果位置不对则相应变化

    1. 当出现一系列执行成功,则说明完成;

    5.4 对mysqld_exporter进行操作

    • 先下载并解压:
      https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
      
      tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz
      
    • 创建.my.cnf 文件
      vim vi.my.cnf
      
    • 创建效果如下:
      [client]
      user=root
      password=root
      

    账号密码只要连接得上mysql即可,也可单独为其分配账号;

    • 运行mysql_exporter
      ./mysqld_exporter -config.my-cnf=".my.cnf" &
      

    5.5 加入Prometheus.yml配置

      - job_name: mysql
        static_configs:
          - targets: ['mysql的ip地址:9104']
    

    这里9104不要改动,配好后保存重启Prometheus,然后点击Status->Targets,如果发现mysql的State为Up 状态,则说明已经配置好了
    如果没有配置好,则可以注意一下是否mysql开启了远程访问,一般新安装的msyql都是仅本机可访问;开启远程访问可百度;

    5.6 配置可视化界面

    • 先点击小齿轮添加DataSource,然后点击Mysql,输入对应的ip+端口号,以及账号密码等信息,点击Save&Test进行测试,如果反馈成功则说明配置成功
    • 点击+ 图标,然后选择Import ,可选择官方文档中的仪表盘,这里我使用的是: 7991

    输入7991点Load可自动加载

    • 官方地址: https://grafana.com/dashboards
    • 加载后配置相关的名称地址,以及加载的数据源等信息,点击添加后即可在 小方块 图标的Manage下展示;
    • 效果图如下:
      在这里插入图片描述

    六. Grafana监控系统之开放API

    6.1 概述

    • 在我们使用server类型的访问模式中,访问数据通常有两种形式;一种是直接使用用户登录,获取到的Cookie进行验证;一种是通过 API令牌机制进行资源请求校验;
    • Admin HTTP API目前不支持API令牌。API令牌目前仅链接到组织和组织角色。他们无法获得服务器管理员的许可,只有用户才能获得该权限。因此,为了使用这些API调用,您必须使用Basic Auth,Grafana用户必须具有Grafana Admin权限。(默认管理员用户被调用admin并且有权使用此API。)

    官方文档地址:https://grafana.com/docs/http_api/admin/

    6.2 关于用户登录验证请求资源

    • 无法使用HTTP API的部分,可以使用RestTemplate等工具模拟登录验证,获取Cookie请求资源;而请求资源我们可以使用F12 获取请求的接口地址,需要哪些资源,直接到相关站点界面获取接口地址,模拟登录即可做对应的操作;

    这部分不多加介绍,下面介绍使用HTTP API的方式;

    6.3 创建API 令牌

    • 创建API KEY
      在这里插入图片描述
    • 点击保存
      在这里插入图片描述
    • 将Key后面的内容作为 Authorization中的Bearer 后的内容:
      在这里插入图片描述

    里面的权限为Viewer,Eidtor,和Admin,权限为只能看,可以部分写,以及全部权限;

    6.4 验证HTTP资源/操作 接口示例:

    在这里插入图片描述

    6.5 创建API Key 示例:

    • 请求ip地址和请求头填写内容:
      在这里插入图片描述
    • 请求体内填写内容:
      在这里插入图片描述

    权限类别可分为Viewer,Editor和Admin,Viewer只能查看,Editor可以一些界面进行操作,而Admin是拥有所有权限的角色;
    secondsToLive - 以秒为单位设置密钥到期时间。这是可选的。如果是正数,则设置密钥的到期日期。如果它为null,为零或完全省略(除非api_key_max_seconds_to_live设置了配置选项),密钥将永不过期。

    6.6 删除API Key示例:

    • 先通过查询接口查询到所有Api Key列表
      在这里插入图片描述
    • 拿到需要删除的ApiKey的id,然后使用Delete请求方式,在最后带id即可删除对应id的ApiKey,图示如下:
      在这里插入图片描述

    只要支持HTTP API的均可使用此方式,具体的请求路径和对应资源可进入官方文档查看;
    https://grafana.com/docs/http_api/dashboard/

    七. Grafana监控系统之监控RabbitMQ

    7.1 下载并解压

    • 下载:
      wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC5/rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz
      

    没有wget等命令请自行搜索下载

    • 解压:

      tar -xvf rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz
      
    • 进入目录:

      cd rabbitmq_exporter-1.0.0-RC5.linux-amd64
      
    • 执行命令:

      RABBIT_USER=guest RABBIT_PASSWORD=guest OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter 2>&1 &
      

    注意里面的PABBIT_USER的账号,以及后面的密码,请按实际账号密码输入,以及端口等;

    7.2 加入Prometheus.yml

    • 进入有Prometheus的服务器,进入Prometheus,编辑prometheus.yml

      vim prometheus.yml
      
    • 配置如下内容:

      - job_name: 'RabbitMQ'
        static_configs:
      	- targets: ['Rabbit的ip地址:9099']
      

    这里的ip地址写Rabbit的地址,端口号默认都写9099;

    7.3 进入Grafana配置RabbitMQ地址

    1. 浏览器输入:ip地址+3000 进入Grafana 默认账户和密码都是admin
    2. 点击小齿轮,点击**Data Sources **
      在这里插入图片描述
    3. 点击右侧 **Add data source ** 选择Prometheus
    4. 编辑Prometheus的配置信息,Name为名称,URL为 http://promethues的服务器地址和端口号(9090)

    这里的URL不是写RabbitMQ的服务器地址,而是Prometheus的地址,注意不要弄错;

    1. 点击Save&Test进行测试,如果下方出现小绿条提示: Data source is working 则说明安装成功
    2. 点击左侧的 + 图标,选择Import,在第一个输入框中输入 2121 ,然后点击 Load
    3. 点击左侧小方块图标,点击Manage 选择刚刚配好的,点击进入即可展示,效果图如下:
      在这里插入图片描述

    八. Grafana监控系统之监控Redis

    8.1 下载并解压

    • 下载:
      wget https://github.com/oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz
      
    • 解压:
      tar -xvf redis_exporter-v1.0.3.linux-amd64.tar.gz
      

    8.2 启动 Redis_exporter

    • 无密码:
      ./redis_exporter redis//192.168.1.120:6379 &
      
    • 有密码:
      redis_exporter  -redis.addr 192.168.1.120:6379  -redis.password 123456****
      

    里面的ip地址和端口号请根据自身实际来

    8.3 配置Prometheus.yml

    • 进入prometheus的服务器,然后进入prometheus.yml,进行编辑:
    • 编辑:
      vim prometheus.yml
      
    • 内容如下:
       - job_name: redis
          static_configs:
            - targets: ['ip地址:9121']
      

    8.4 检查Redis状态

    • 进入地址
      Premetheus的ip地址:9090/targets
      

    如果显示State的结果为 UP 则说明成功。

    8.5 配置Grafana的数据源

    • 登录网站:
      Grafana的ip地址:3000
      
    • 添加数据源,如果之前已经在Grafana中添加了此DataSource(指向了安装有Prometheus的ip地址和对应端口),则无需重新添加,在导入面板的时候,可以直接引用此DataSource;

    8.6 配置展示面板

    1. 先进行登陆,登陆后点击 + 号选择Import
    2. 在第一个框框内输入: 731

    注意,也可以自己找其他的展示面板,在官方的面板页面找到数据源为Prometheus的Redis展示面板,在上方所说的对应位置输入它的编号即可
    官方控制面板地址:https://grafana.com/dashboards

    8.7 直接查看,展示效果图如下:

    **https://grafana.com/dashboards**

    九.Grafana监控系统之监控TiDB

    9.1 下载二进制包并解压

    • 下载
      wget https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.linux-amd64.tar.
      
    • 解压
      tar -xzf node_exporter-0.15.2.linux-amd64.tar.gz
      

    9.2 启动服务

    • 进入目录:
      cd node_exporter-0.15.2.linux-amd64
      
    • 启动 node_exproter服务
      ./node_exporter --web.listen-address=":9100" \ --log.level="info" &
      

    9.3 在Prometheus.yml中配置

    • 进入Prometheus所在的服务器,并进入该Prometheus目录
      cd prometheus-2.2.1.linux-amd64
      
    • 编辑 prometheus.yml
      vim prometheus.yml
      
    • 新增内容如下:
        - job_name: 'tidb'
          honor_labels: true  # 不要覆盖 job 和实例的 label
          static_configs:
          - targets: ['tidb所在服务器ip地址:10080']
      

    这里配置好了以后,需要重新启动一下Prometheus.yml,然后登陆 ip地址:9090/targets 如果Status显示为 UP 则说明成功;

    9.4 启动Grafana服务

    ./prometheus \
        --config.file="./prometheus.yml" \
        --web.listen-address=":9090" \
        --web.external-url="http://192.168.199.113:9090/" \
        --web.enable-admin-api \
        --log.level="info" \
        --storage.tsdb.path="./data.metrics" \
        --storage.tsdb.retention="15d" &
    

    9.5 启动Grafana并配置DataSource

    • 按照正常命令启动,如果已经启动过则无需改;
    • 如果前面已经对此Prometheus的DataSource进行过配置,则无需再次配置,在导入展示面板的时候直接指向此已经写好的展示面板即可;

    9.6 导入Grafana面板

    1. 在侧边栏菜单中,依次点击 + 号 > Import 打开 Import Dashboard 窗口。

    2. 点击 Upload .json File 上传对应的 JSON 文件(https://github.com/pingcap/tidb-ansible/tree/master/scripts)。

    3. 注意:TiDB 面板对应的 JSON 文件为tidb.json 。 (我们可以通过上面的链接进入找到此tidb.json然后将内容复制出来命名为tidb.json然后导入)

    4. 点击 Load。

    5. 选择一个 Prometheus 数据源。(以前对这个Prometheus创建过数据源,我们可以重复利用,直接指向即可)

    6. 点击 Import,Prometheus 面板即导入成功。

    9.7 在Mangae 里面可以直接预览,展示效果图如下

    在这里插入图片描述

    码子不易,喜欢的话点个关注或收藏吧~ ^^

    展开全文
  • 实验环境 主机名 IP 角色 server1 172.25.6.1 server server2 ...一、安装zabbix监控 server1: 1.下载zabbix安装包,解压并安装 [root@server1 ~]# ls 4.0 zabbix-server-mysql-4.0.5-1....

    实验环境

    主机名 IP 角色
    server1 172.25.6.1 server
    server2 172.25.6.2 agent
    server3 172.25.6.3 agent

    一、安装zabbix监控

    server1:

    1.下载zabbix安装包,解压并安装

    [root@server1 ~]# ls
    4.0
    zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm 
    zabbix-web-mysql-4.0.5-1.el7.noarch.rpm 
    zabbix-web-4.0.5-1.el7.noarch.rpm 
    php-bcmath-5.4.16-42.el7.x86_64.rpm 
    php-mbstring-5.4.16-42.el7.x86_64.rpm 
    fping-3.10-1.el7.x86_64.rpm 
    iksemel-1.4-2.el7.centos.x86_64.rpm
    zabbix-agent-4.0.5-1.el7.x86_64.rpm 
    

    在这里插入图片描述
    2.安装数据库,开启数据库

    [root@server1 ~]# yum install -y mariadb-server
    [root@server1 ~]# systemctl start mariadb
    

    在这里插入图片描述
    在这里插入图片描述
    3.安全初始化

    [root@server1 ~]# mysql_secure_installation 
    Set root password? [Y/n] y
    New password: 
    Re-enter new password:
    Remove anonymous users? [Y/n] y
    Disallow root login remotely? [Y/n] y
    Remove test database and access to it? [Y/n] y
    Reload privilege tables now? [Y/n] y
    

    4.创建一个zabbix库

    [root@server1 ~]# mysql -p
    Enter password: 
    
    MariaDB [(none)]> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.00 sec)
    
    MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN; 
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';	##用户授权
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> Bye
    

    在这里插入图片描述
    5.导入zabbix库

    [root@server1 4.0]# zcat /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz | mysql -uzabbix -p zabbix
    Enter password: 
    

    在这里插入图片描述

    6.再次登陆可以看到有很多表

    [root@server1 ~]# mysql -p
    Enter password: 
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | zabbix             |
    +--------------------+
    MariaDB [(none)]> use zabbix;
    MariaDB [zabbix]> show tables;
    

    在这里插入图片描述
    在这里插入图片描述
    7.编辑zabbix的配置文件

    [root@server1 ~]# cd /etc/zabbix/
    [root@server1 zabbix]# ls
    web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
    [root@server1 zabbix]# 
    [root@server1 zabbix]# vim zabbix_server.conf    ##修改用户名和密码
    116 DBUser=zabbix
    124 DBPassword=redhat
    
    [root@server1 zabbix]# vim /etc/httpd/conf.d/zabbix.conf   ##修改时区
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    8.开启httpd服务,zabbix服务

    [root@server1 zabbix]# systemctl start zabbix-server
    [root@server1 zabbix]# systemctl start zabbix-agent
    
    [root@server1 zabbix]# systemctl start httpd
    

    在这里插入图片描述

    9.打开浏览器,访问http://172.25.6.1/zabbix, 配置zabbix的web界面

    在这里插入图片描述
    点击【Next step】——相关配置都必须是【OK】

    在这里插入图片描述
    输入zabbix用户及其密码
    在这里插入图片描述

    输入server端的名字(可以自行命名)

    在这里插入图片描述

    确认相关配置后,点击【Next step】
    在这里插入图片描述

    点击【Finash】

    在这里插入图片描述

    登录zabbix平台

    在这里插入图片描述

    登录之后可以修改监控界面的语言为中文,点击右上角用户图表
    在这里插入图片描述

    【Language】中选择Chinese,点击【Update】
    在这里插入图片描述
    修改完毕!

    在这里插入图片描述

    点击【配置】–>【主机】,查看server的状态

    在这里插入图片描述

    命令行也可以查看到10050端口已经打开
    在这里插入图片描述

    二、添加agent主机

    准备工作:

    [root@server1 4.0]# scp zabbix-agent-4.0.5-1.el7.x86_64.rpm server2:
    

    在这里插入图片描述

    server2:安装agent,编辑配置文件,开启agent服务

    [root@server2 ~]# ls
    zabbix-agent-4.0.5-1.el7.x86_64.rpm
    [root@server2 ~]# 
    [root@server2 ~]# yum install -y zabbix-agent-4.0.5-1.el7.x86_64.rpm 
    
    [root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf 
    [root@server2 ~]# systemctl start zabbix-agent
    [root@server2 ~]# 
    
     98 Server=172.25.19.1
    139 ServerActive=172.25.19.1
    150 Hostname=server2
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在浏览器zabbix的web界面中添加agent

    添加agent主机有两种方式:

    手动添加
    自动发现
    自动注册

    1.手动添加

    • 依次点击【配置】 -> 【主机】 -> 【创建主机】,在主机这一栏里写入被添加主机的相关信息

    • 群组(选择 Linux servers)–>agent代理程序的端口–>添加
      在这里插入图片描述
      server2已添加进来
      在这里插入图片描述

    • 点击【server2】–>【模板】–>【选择(Template OS Linux)】–>【添加】—>【更新】
      在这里插入图片描述
      在这里插入图片描述

      添加完之后ZBX是灰色,server模板多了Linux OS
      在这里插入图片描述

    • 刷新之后server2【ZBX】变成绿色,如果没有变绿,重启server1的zabbix-server服务和server2的zabbix-agent服务,过一会就会变绿
      在这里插入图片描述

    2.自动发现规则

    • 先删除之前添加的server2
      在这里插入图片描述
      在这里插入图片描述

    • 配置–>动作–>将事件源选择为自动发现–>选择下面的事件—>动作触发条件–>添加—>更新–>自动发现规则–> local network -->ip范围–>更新
      在这里插入图片描述
      点击上图中的事件
      在这里插入图片描述
      点击【添加】
      在这里插入图片描述
      点击 【更新】
      在这里插入图片描述
      点击【停用的】,打开动作
      在这里插入图片描述
      点击上面功能栏【自动发现】,配置被发现段的IP范围,及更新时间
      在这里插入图片描述
      点击【更新】,并启用发现规则
      在这里插入图片描述

    • 等待一小会后,查看主机是否被发现并添加进来
      在这里插入图片描述

    3.自动注册

    • 将上面设置的自动发现(动作、自动发现规则都禁用)
      在这里插入图片描述
      在这里插入图片描述

    • 再添加一个agent(server3),配置和server2相同
      server3:

        [root@server1 4.0]# scp zabbix-agent-4.0.5-1.el7.x86_64.rpm server3:
        [root@server3 ~]# ls
        zabbix-agent-4.0.5-1.el7.x86_64.rpm
        [root@server3 ~]# rpm -ivh zabbix-agent-4.0.5-1.el7.x86_64.rpm 
        [root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf 
      
        [root@server3 ~]# systemctl start zabbix-agent.service 
      
        [root@server3 ~]# cat /var/log/zabbix/zabbix_agentd.log 
      

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • zabbix的web界面中配置

      选择自动注册–>创建动作—>输入名称和条件之后 添加—>操作---->添加三个—>更新
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 刷新之后server3被添加进来,ZBX变绿(需要等待一会儿)
      在这里插入图片描述

    展开全文
  • 滴滴夜莺(Nightingale)是一款经过大规模生产环境验证的、分布式高性能的运维监控系统。基于Open-Falcon,结合滴滴内部的最佳实践,在性能、可维护性、易用性方面做了大量的改进,支撑了滴滴内部数十亿监控指标,...
  • 大数据平台任务调度与监控系统

    万次阅读 热门讨论 2018-07-12 23:13:06
    目前各业务的数据任务基本都是靠Crontab定时调度,各个任务之间的依赖仅靠简单的串行来实现。这样做的问题:很容易造成前面的任务未...SkyNet调度监控系统,正是为了解决以上问题。系统架构名词解释SkyNet任务调度监...
  • 就在这样一个纷繁复杂的环境下,监控系统粉墨登场了。 今天,我们会对 IT 监控系统进行介绍,包括其功能,分类,分层;同时也会介绍几款流行的监控平台。 国美易卡监控系统的功能: 在 IT 运维过程中,常遇到...
  • 作者 | 中国农业银行艾明浩、矫宏鹤责编 | Carol封图 | CSDN 下载自视觉中国当前市面直播平台百家争鸣,直播监控系统是判断一个直播平台是否完善的必要条件。文章简要介绍了笔者...
  • 远程屏幕监控系统

    千次阅读 2018-05-12 20:41:13
    远程屏幕监控系统 近期整理代码的时候,发现大二的时候(目前大三)做的几个课程设计还不错,所以把这部分的代码以及设计文档都开源出来,以供后者参考学习使用。 完整代码以及本文的word都在放在了Github上,...
  • 本文转自微信号EAWorld。...前言随着Devops、云计算、微服务、容器等理念的逐步落地...面对动辄几百上千个虚拟机、容器,数十种要监控的对象,现有的监控系统还能否支撑的住?来自于容器、虚拟机、物理机、网络设备、中...
  • CAT分布式监控系统(一):CAT监控系统功能介绍 本文概要: 1、CAT监控系统是什么。 2、CAT监控系统能做什么,能监控些什么。 下面有些截图是CAT 2.0版本的,但和3.0版本没什么区别的。 一、简介 ...
  • 监控平台技术调研

    万次阅读 2018-11-03 16:51:05
    【前言】 随着业务不断迅速的扩展,我们的项目越来越,越来越复杂;随之而来的是系统各种问题一直在困扰着我们;...经过自己的调研以及实践,将监控平台从无到有搭建起来,目前正在各个系统中进行推广。...
  • 监控系统的一般架构

    千次阅读 2017-07-21 14:16:42
    几年以来,个人对监控系统的接触比较,像电力scada系统,自动化设备的上位机系统,无人机地面站等,到后来独立开发监控系统,慢慢的形成了自己对监控系统通用实现的一种理解。其实做这行软件开发的也都有一个架构...
  • EasyDarwin云平台作为国内较有影响力的开源流媒体平台,集流媒体分发,录像,信令交互为一体,目前已经被广泛应用到监控互联网各个领域;从刚接触EasyDarwin到现在已经快两年了,目前正利用其开发一款加入智能分析的...
  • Nagios监控系统

    千次阅读 2018-11-01 21:47:52
    Nagios监控系统 前言:Nagios是一款开源的免费网络监视工具,可以监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,在系统或服务状态异常时发出邮件或短信报警,第一时间通知网站运维人员。流量监控...
  • QT实战之监控系统

    千人学习 2018-08-10 03:32:02
    本课程基本Qt for windows平台下开发的监控界面程序,支持添加摄像头播放监控画面,支持1、4、9、16分屏显示,通过封装播放器,可以支持协议,本地视频多种播放方式,随意封装播放器功能,并且可在此基础上对本次...
  • IT 监控系统介绍

    千次阅读 2019-09-30 14:40:29
    就在这样一个纷繁复杂地环境下,监控系统粉墨登场了。 今天,我们会对 IT 监控系统进行介绍,包括其功能,分类,分层;同时也会介绍几款流行的监控平台监控系统的功能 在 IT 运维过程中,常遇到这样的...
  • 监控系统的设计

    万次阅读 2019-09-29 14:35:53
    经济高速发展的今天,我们处于信息大爆炸的时代。...就在这样一个纷繁复杂地环境下,监控系统粉墨登场了。 今天,我们会对 IT 监控系统进行介绍,包括其功能,分类,分层;同时也会介绍几款流行的监控平台...
  • 简述舆情监控系统

    千次阅读 2019-06-03 21:44:04
    首先我们要知道什么是舆情监控系统,这个有什么用。 网络舆情是指在互联网上流行的对社会问题不同看法的网络舆论,是通过互联网传播的公众对现实生活中某些热点、焦点问题所持的有较强影响力、倾向性的言论和观点。...
  • 分布式监控系统

    千次阅读 2016-06-12 13:22:32
    在一个大型分布式系统中(一个完备的...【在分布式监控系统比较低级时,比如只能监控某一个微服务的运行情况:这时就需要一些人力来保证整个链路的问题的及时发现,一个人维护100个系统的稳定性,知道哪个系统是否异
  • 可视化爬虫监控系统

    千次阅读 2019-01-31 11:17:36
    当你部署很爬虫以后你就需要一个可视化的爬虫监控系统。来方便查看每个爬虫的入库数据和工作状态等… 本文就手把手一步步教你如何搭建这样一个可视化监控系统。本文不讲解爬虫的相关技术实现,而是从实用性的角度...
  • 部署Cacti监控平台 构建Cacti监测系统

    千次阅读 2018-07-10 08:13:31
    1 案例1:部署Cacti监控平台 1.1 问题 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步执行具体的监控任务做准备: 安装net-snmp、net-snmp-utils 安装LAMP及相关依赖软件包 部署Cacti监控...
  • nagios+ganglia监控系统

    千次阅读 2015-06-24 10:25:45
    nagios+ganglia监控系统简介:监控报警系统是基于已有的开源监控系统ganglia和nagios集成并做二次开发的监控系统。该系统不但实现的对原有系统功能及性能上的增强而且能够提供实时的可视化的监控数据。系统提供了...
  • 监控系统调研报告

    千次阅读 2011-11-13 16:40:08
    监控系统调研报告各位领导,各位同事:XX地方税务局(以下简称地税局)2009年采购并部署了IBM网络及服务器设备监控管理软件(以下简称一期工程),供应商基于IBM Tivoli产品进行了数据中心机房服务器及网络设备监控...
  • 开源IT监控系统对比

    万次阅读 2014-09-15 15:10:10
    应邀对开源IT监控系统进行对比,选取了Nagios、Cacti、Zenoss、Zabbix、Hyperic HQ做为对比样本,帮助读者选择开源的IT监控系统作为底层,开发所需的监控运维工具。 1 背景和目标 1.1 前言 随着SaaS、P2P等各类在线...
  • 监控的重要性不言而喻, 微服务架构的特点决定了其监控实现更具有挑战性与难度,从以下方面理解微服务的监控相关(非特别指明的监控都是指的微服务架构体系下的监控): 1. 简介 2. 为什么需要监控体系 3. 与单体...
  • 监控系统产生报警事件之后需要发送报警邮件或者报警短信,各个公司可能有自己的邮件服务器,有自己的邮件发送方法...当监控系统遇上告警平台,必然会擦出火花。实现短信、邮件、微信、电话、App等综合告警。 常见的...
  • 多媒体平台——Da Vinci平台的微波传输无线监控系统。介绍了新一代双核 DSP 平台的特性,阐述了基于双核系统的开发方法和流程。 关键词:达芬奇;嵌入式系统; xDAIS; 双核; 1 简介  在日常生活中,很高...
  • 基于ARM平台的远程视频监控系统的研究The Research Of Remote Video Monitor System Based On The ARM 王宪 刘井权 戴旻 来源:微计算机信息 (江南大学通信与控制工程学院 江苏 无锡 214122)摘要 介绍了一种基于S3C...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 256,095
精华内容 102,438
关键字:

多平台监控系统