听闻少年二字,当与平庸相斥。这篇文章主要讲述Prometheus监控步骤相关的知识,希望能为你提供帮助。
具体的监控场景中,Prometheus 需要了解每一个支持直接测量的目标,以及每一个 Exporter 的接入位置。然而,动态系统环境中,需要纳入监控控制系统中的目标会动态变化,用户难以全部事先静态定义出这些目标来,这就要借助服务发现功能进行动态生成。
待监控目标确定之后,Prometheus 即可以拉取的方式通过 HTTP 请求采集相应的指标数据,这个过程在 Prometheus 中也称为“指标抓取”。响应报文中的指标数据经 Prometheus 解析后以时间序列的格式保存在内存上,并定时存储至内置的 TSDB(Time-Series Database)存储系统中,同时存入的还有其他几个有用的指标,例如抓取操作的成功状态以及耗费的时长等。指标抓取是一个周期性的例行操作,默认为 15 秒,用户可根据需要自定义为 10 秒~60 秒区间内的任意值。
Prometheus 内置了众多的 HTTP API,用户既可以通过它们请求原始数据,又可以进行 PromQL 查询,并可基于数据与查询结果生成图形和仪表板。PromQL 是一种表达式语言,它支持使用多维时间序列标签进行过滤,允许用户实时选择和汇聚时间序列数据,广泛应用于 Prometheus 的数据查询、可视化和告警处理等使用场景当中。
Prometheus 的告警功能可分为两个部分:一部分是 Prometheus Server 中的告警规则,它负责将告警通知发送到 Alertmanager;而 Alertmanager 就是相应的另一部分,它负责管理告警操作,包括静默、抑制、分组、路由和去重等,并将告警发送给客户端应用程序。
Prometheus Pushgateway 的设计目标是为了允许临时任务或批处理作业向 Prometheus 暴露其指标。由于这类的工作任务可能只存活较短的时间,可能会错过 Prometheus Server 的抓取周期,因此需要将这些指标推送到 Pushgateway,并由 Prometheus 通过 Pushgateway 进行抓取。
Prometheus 的每个时间序列都由其“指标名称”和可选的“标签”作为标识符,指标名称用于表达指标自身的含义,即监控目标上某个可测量属性的基本含义,而标签则用来体现某个指标再次细分的维度特征。
【Prometheus监控步骤】Prometheus 的客户端库支持 Counter(计数器)、Gauge(仪表盘)、Histogram(柱状图或直方图)和 Summary(摘要)4 种指标类型。Prometheus Server 并不使用类型信息,而是将所有数据展平为时间序列。
Prometheus 将任意一个可以抓取测度数据的端点(监控目标 target)称之为 Instance(实例),这通常是对应于单个进程的叫法,例如 envoy 或 node_exporter,而诸如水平扩展集群中的多个端点的 Instance 的集合称为 Job(作业)。
推荐阅读
- 浅谈容器逃逸
- 王道Java网络编程实战详解三TCP完结
- Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)
- 客快物流大数据项目(六十八)(工作流调度)
- Linux 环境下 javac 编译错误( 编码UTF8的不可映射字符(编码UTF8/GBK的不可映射字符))
- coursera 视频总是缓冲或者无法观看的解决办法(Windows和Linux 系统环境)
- 移动应用的测试策略与测试架构
- PyQt5 中调用MySql接口失败( QSqlDatabase 组件)在Linux环境下如何修改
- 使用HAProxy的ACL实现基于文件后缀名的动静分离