一篇了解自治组件的运维监控方法
经常出现的监控方法
Prometheus和Grafana是两个盛行的开源监控工具,它们经常一同经常使用来成功系统和运行程序的监控、可视化和告警。
Prometheus
Prometheus 是一个开源的系统监控和警报工具包。它最后由SoundCloud开发,用于监控其容器化架构中的服务。Prometheus提供了多维数据模型和弱小的查问言语,可以轻松搜集和存储期间序列数据,并支持灵敏的数据查问和剖析。其关键特点包括
多维数据模型
Prometheus经常使用标签(labels)来标识期间序列数据,准许用户依据多个维度启动查问和聚合。
灵敏的查问言语
PromQL是Prometheus的查问言语,支持丰盛的操作符和函数,可以成功复杂的数据查问和剖析。
时序数据存储
Prometheus经常使用本地存储引擎存储期间序列数据,支持极速高效的数据查问和检索。
智能发现和服务发现
Prometheus支持智能发现和服务发现性能,可以灵活地监控和治理多个目的实例。
警报和通知
Prometheus可以设置警报规定,并经过电子邮件、Slack等形式发送警报通知。
Grafana 是一个开源的数据可视化和剖析平台,最后由Torkel Ödegaard开发。它提供了丰盛的数据可视化性能,支持多种数据源,并且具备灵敏的仪表板性能和高度可定制化的图表。Grafana的关键特点包括
少数据源支持
Grafana支持多种数据源,包括Prometheus、InfluxDB、Elasticsearch、MySQL等,可以轻松整合不同数据源的监控数据。
丰盛的可视化选项
Grafana提供了多种图表类型和可视化选项,包括折线图、柱状图、仪表盘等,用户可以依据需求自定义图表展现形式。
灵敏的仪表板性能
Grafana准许用户自定义仪表板规划和组件性能,可以依据实践需求设计和定制监控仪表板。
告警和通知
Grafana可以集成多种告正通知形式,如电子邮件、Slack、Webhook等,协助用户及时发现和处置异常状况。
Prometheus与Grafana的配合经常使用
Prometheus和Grafana通常一同经常使用,构成弱小的监控和可视化处置打算。Prometheus担任数据的搜集、存储和查问,而Grafana则担任将搜集到的数据启动可视化展现和剖析。经过这种配合经常使用,用户可以成功对系统和运行程序的片面监控和实时剖析,协助极速发现和处置潜在疑问,提高系统的稳固性和牢靠性。
经常使用Prometheus
要将监控目的提供应Prometheus,我们须要成功以下接口或遵照以下商定
Prometheus HTTP Server接口
我们须要在我们的运行程序中成功一个HTTP Server,用于提供监控目的的HTTP接口。这个接口通常位于门路下,Prometheus将活期向该接口发送HTTP恳求来失掉监控目的数据。
Exposition格局
我们的HTTP接口须要依照Prometheus的Exposition格局输入监控目的数据。Exposition格局是一种便捷的文本格局,蕴含了监控目的的称号、标签和值。我们可以输入以下几种类型的监控目的
Counter(计数器)
用于累计某个事情出现的次数,例如恳求数、失误数等。
Gauge(仪表盘)
示意的某个值,可以随时增减,例如内存经常使用量、并发衔接数等。
Histogram(直方图)
用于示意数据的散布状况,例如恳求照应期间的散布。
Summary(摘要)
相似于直方图,然而摘要会对数据启动汇总和统计,例如恳求照应期间的摘要统计信息。
Prometheus目的命名规范
我们的监控目的称号须要遵照Prometheus的命名规范,通经常常使用小写字母和下划线,并且具备语义明白的称号。例如
http_requests_total
、
memory_usage_bytes
等。
标签(Labels)
为了更好地域分和过滤监控目的,我们可认为每个监控目的减少标签(Labels)。标签通罕用于示意监控目的的附加信息,例如主机名、运行程序称号等。标签的格局为。
定时降级
我们的HTTP接口应该能够定时降级监控目的的值,并且保障在Prometheus发送恳求时前往最新的数据。通常,Prometheus会活期拉取监控目的数据,因此我们须要确保我们的接口能够及时提供最新的监控目的值。
经过成功以上接口和遵照商定,我们就可以将我们的监控目的泄露给Prometheus,并让Prometheus能够活期失掉和存储这些目的数据,从而成功对我们的运行程序的片面监控。
Prometheus提供了哪些exporter
官网提供了特意多的exporter,简直涵盖了所以的,我们不须要自己写即可成功。
大数据基座各集群监控方法
日志采集
监控方法
Filebeat/Metricbeat/Winlogbeat监控
Kafka集群
监控方法
Kafka目的监控
归一化集群
散布式成功打算
Fluent Bit二次开发
监控方法
集群形态监控
富化集群
散布式成功打算
自研Go言语规定引擎
监控方法
集群形态监控
Hadoop集群
监控方法
Hadoop集群监控
Hive/Spark义务监控
Oozie调度
监控方法
Oozie作业监控
Flink义务集群
监控方法
Flink集群监控
以上监控方法可以协助我们成功对大数据基座各集群的实时监控和性能剖析,确保系统的稳固性和牢靠性。
最终打算
我们可以采取在构建模块的时刻集成Prometheus的exporter,这样可认为进一步做好集群监控搭好基础。