DevOps监控之Prometheus实施基础指南

关注开源优测不迷路

大数据测试过程、策略及挑战

测试框架原理,构建成功的基石

在自动化测试工作之前,你应该知道的10条建议

在自动化测试中,重要的不是工具

简介

Prometheus是一个开源系统监控和警报工具包,最初在SoundCloud上构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。

它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并澄清项目的治理结构,Prometheus于2016年加入了云原生计算基金会,成为继Kubernetes之后的第二个托管项目。

Prometheus将其指标收集并存储为时间序列数据,即指标信息与记录它的时间戳一起存储,以及称为标签的可选键值对。

Prometheus server 直接从监控任务进程中拉取监控指标,也可以通过其他程序或脚本,将监控数据推送 Pushgateway,之后 Prometheus server 再从 Pushgateway 中拉取指标。

Prometheus server 将所有抓取的样本存储在本地,并对此数据运行规则,以聚合和记录现有数据中的新时间序列或生成警报。

Grafana 或其他 API 使用者可用于可视化收集的数据。

架构图

架构组件说明

系统由多个组件组成,其中许多组件是可选的:

  • Prometheus server 主要组件,用于抓取和存储时间序列数据

  • client libraries, 用于检测应用程序代码

  • Push gateway 支持短期作业的推送

  • Exporters,用于监控特殊服务,如HAProxy,StatsD,Graphite等服务

  • alertmanager 用于处理警报

  • 各种支持工具大多数Prometheus组件都是用Go编写的,这使得它们易于构建和部署为静态二进制文件。

特性说明

  • 具有由指标名称和键/值对标识的时间序列数据的多维数据模型

  • PromQL,一种灵活的查询语言,可利用这种维度

  • 不依赖分布式存储;单个服务器节点是自治的

  • 时序收集通过 HTTP 上的拉取模型进行

  • 通过中间网关支持推送时间序列

  • 通过服务发现或静态配置发现目标

  • 多种模式的绘图和仪表板支持

应用场景

  • Prometheus非常适合记录任何纯数字时间序列。

  • 既适合以机器为中心的监视,也适合监视高度动态的面向服务的体系结构。

  • 在微服务世界中,它对多维数据收集和查询的支持是一个特别的优势。

  • 每个Prometheus服务器都是独立的,不依赖于网络存储或其他远程服务。

相关推荐
wheeldown24 分钟前
【Linux】为什么死循环卡不死 Linux?3 个核心逻辑看懂进程优先级与 CPU 调度密码
linux·运维·服务器·开发语言·c++·unix·进程
xxy.c31 分钟前
嵌入式解谜日志-网络编程(udp,tcp,(while循环原理))
linux·运维·c语言·开发语言·数据结构
守.护2 小时前
云计算学习笔记——Linux系统网络配置与远程管理(ssh)篇
linux·运维·服务器·ssh·linux网络配置
Lynnxiaowen5 小时前
今天我们继续学习shell编程语言的内容
linux·运维·学习·云计算·bash
Molesidy7 小时前
【随笔】【Debian】【ArchLinux】基于Debian和ArchLinux的ISO镜像和虚拟机VM的系统镜像获取安装
运维·debian·archlinux
skywalk81637 小时前
mayfly-go:web 版 linux、数据库等管理平台
linux·运维·数据库
dbdr09017 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十四天
linux·运维·c语言·python·学习
烟雨迷7 小时前
web自动化测试(selenium)
运维·开发语言·前端·python·selenium·测试工具
吐个泡泡v8 小时前
Portainer:Docker可视化管理神器部署与使用攻略
运维·docker·容器·portainer
wanhengidc9 小时前
在云手机中游戏可以自动更新吗?
运维·科技·安全·游戏·智能手机