没有衡量,就没有管理。——彼得·德鲁克 Linux系统在企业中的应用程度已经非常广泛 ,人们听到过太多关于Docker和Kubernetes的消息,以至于忘记了监控和日志记录也是同样重要的任务。 监控和测试工具分为 实时数据库、数据采集工具、可视化工具、意见反馈工具、日志记录器 等等。在过去的几年里,开源产品和商业监控应用程序发生了爆炸式增长,涌现出了一批优秀,且应用广泛的监控工具,如 Zabbix、Prometheus 等。由于企业在监控工具的可选性上越来越大,同时随着企业各系统的增加及多样化,多个系统应用多个监控工具的情况越来越多,这给众多的系统运维人员带来了一定的困扰,需要应用和运维多个工具。 因此,这就要求系统运维人员要掌握多个监控工具,以及解决这些工具在日常应用中的各种故障,难题等 今天带大家认识一下目前主流的监控系统, Zabbix、Prometheus等,分别介绍一下各自特点及优势,同时也分享一些学习资料供大家参考学习! 已整理成压缩包,文末自取。 PrometheusPrometheus is an open-source systems monitoring and alerting toolkit -- Prometheus Overview Prometheus 是一款开源的监控和警报工具包 —— 译自 Prometheus Overview Prometheus 的几大特点: 多维数据模型,时间序列数据由指标名称和键/值对标识 提供能在多维度上灵活查询的 PromQL 语言 不依赖分布式存储,单服务器节点自治(single server nodes are autonomous) 基于 HTTP PULL(拉取)的方式采集时序数据 可通过中间网关推送时序数据 可通过服务发现或静态配置要采集的目标服务器 支持多种图表和仪表盘 分享文档介绍: Prometheus官方中文文档既适合小白入门也适合有一定基础的同学进阶提升。这份文档共分为7大部分,共141页,从最基础的Prometheus介绍安装及启动讲起,对不同监控系统的优缺点进行了对比,例如:Graphite和OpenTSDB、Nagios等等。 此外还包括一些实战项目:Grafana结合Prometheus进行可视化 、Instrumenting 以及编写客户库、推送度量指标等等,总之干货十足! 第一部分: 学习 Prometheus的 准备工作 第二部分:Prometheus重要概念详解 第三部分:Prometheus的查询及启动 第四部分:可视化 第五部分:Instrumenting 第六部分:操作 zabbix Zabbix 是一个企业级的、开源的、分布式的监控套件,被用来监控IT基础设施的可用性和性能。Zabbix可以监控网络和服务的监控状况,Zabbix 利用灵活的告警机制,允许用户对事件发送基于邮件、短信、微信和钉钉等告警方式,这样可以保证快速的对问题作出相应。 Zabbix支持主动和被动两种方式.所有的Zabbix报告都可以通过配置参数在WEB前端进行访问。Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况。 zabbix架构不仅支持小型组织,还支持大规模的公司的部署。Zabbix 是零成本的. 因为 Zabbix 编写和发布基于 GPL V2 协议. 意味着源代码是免费发布的。 zabbix优点: 数据采集 :可用性和性能检测,自动发现,支持agent、snmp、JMX、telnet等多种采集方式,支持主动和被动模式数据传输、支持用户自定义插件,自定义间隔收集数据 高可用: server对设备性能要求低,支持proxy分布式监控,分布式集中管理,有自动发现功能,可以实现自动化监控;开放式接口,扩展性强,插件编写容易 告警管理 :支持多条件告警,支持多种告警方式,支持多组模板,模板继承。 告警设置 :告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用 图形化展示 :允许自定义创建多监控项视图,网络拓扑,自定义面板展示,自定义IT服务可用性 历史数据 :历史数据查询可配置,内置housekeeping数据清理机制 安全审计 :具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。 分享文档介绍: 马哥教育内部教程,一共141页。内容详尽,理论+实战,干货满满。相信大家看完后会对zabbix有更加深入的理解。 第一部分:监控服务介绍 第二部分:zabbix规划及部署 第三部分:zabbix监控入门基础 第四部分:zabbix proxy 第五部分:zabbix监控案例实战 第六部分:zabbix事件通知机制 第七部分:zabbix自动化运维 Cacti Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。简单的说Cacti就是一个PHP程序。它通过使用SNMP协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL工具绘图,通过PHP程序展现出来。我们使用它可以展现出监控对象一段时间内的状态或者性能趋势图。 特点如下: 基于RRDtool使效率提高。 Cacti基于RRDtool存储监控数据,在查询指定时间段的监控数据时候不用浏览整个数据文件,和mrtg的文本log相比具有更高的效率。监控曲线图片的生成并不想mrtg那样和数据采集同步并定时成生,而是通过RRDtool提供的图片生成工具使用PHP脚本来生成动态web图片。 监控项目曲线图多样化。 RRDtool的图片生成工具提供了多种参数,这样可以动态设置更多样式的曲线图,也可以将若干监控项目集中显示在一张图片中,例如我们如果要同时显示http/ftp/dns多种协议的流量时就可以派上用场了。当然,其他如颜色,曲线样式,图片大小格式,说明文字等都可以定制产生。 另外最大的一个改进功能是定时时间段的曲线图生成,突破了mrtg中日周月年的固定模式。 基于web配置与监控,操作简单 Cacti是一种web方式的软件,监控项目的新建、配置、管理、监控都是基于web方式来操作的,这对于使用者来说是非常方便。 分享文档介绍: 关于Cacti监控系统,今天分享一份使用手册。包括【使用模板添加响应主机的基本监控项】【自定义脚本的添加以及监控】等内容。 NagiosNagios 是一款开源的网络监视工具,可以有效的监控windows、linux、unix、wmware等平台的各项状态及交换机、路由器等网络设备。 Nagios由核心和插件2部分组成。其中,核心只支持少量的监控功能,更多的监控功能则需要安装对应的插件来实现功能的监控。同时,也可以根据监控的需求,自行编写一些监控功能的插件。 相比于zabbix来说,Nagios属于轻量级的监控软件,部署上相对较为简单,告警方式也较为灵活,有可监控多种协议及独特的服务抖动监控功能等优点。在操作难度上较zabbix要高。Nagios同样也有不少的缺点,如:图标显示,数据库使用,分布式部署等方面都需要插件的支持。 分享文档介绍: 文档内容包括Nagios简介;Nagios工作原理;Nagios实验环境、安装;Nagios配置;Nagios启动与停止;Nagios查看初步配置情况;利用NRPE监控Linux上的"本地信息等。 Garafana这是一位大佬在使用Grafana的过程中总结的笔记,强烈推荐阅读学习! 包括初学者在学习过程中可能遇到的各种问题,结合自身的体会总结了一下Grafana2.1.3的使用,希望可以有助于大家的使用。 所有文档已打包整理成压缩包 领取方式见下图