prometheus怎么使用的? 存储类型是什么?

Prometheus 是一个流行的开源监控和警报工具,主要用于收集和存储时间序列数据,以及提供可视化和告警功能。以下是 Prometheus 的基本使用步骤以及其存储类型:

Prometheus 的使用步骤:
  1. 安装与配置

    • 下载并安装 Prometheus 服务器。
    • 编辑配置文件 prometheus.yml,定义数据抓取目标(scrape targets)、数据存储路径以及其他相关配置项,如警报规则、远程写入等。
  2. 配置数据抓取

    • 通过配置文件或服务发现机制指定需要监控的服务或应用程序的指标出口(通常是HTTP端点),Prometheus 定期轮询这些端点收集指标数据。
  3. 指标收集与存储

    • Prometheus 服务器根据配置自动从被监控的目标收集指标,并将其存储在本地的 TSDB(Time Series Database)中。
  4. 查询与可视化

    • 使用 Prometheus 的内置查询语句 PromQL 查询存储的数据,通过 Grafana 等可视化工具展示监控图表。
    • 可以通过 Prometheus 的 web UI 直接查询和查看数据。
  5. 警报管理

    • 配置警报规则(alert rules),当查询结果满足预设条件时,Prometheus 会触发警报并通过 Alertmanager 进行处理和通知。
存储类型:

Prometheus 使用一种定制的时间序列数据库(TSDB)来进行数据存储,其内部存储机制主要包括 Block 和 WAL(Write Ahead Log)。

  • Block Storage
    Prometheus 把采集到的样本数据以两小时为一个时间窗口,形成一个个的 Blocks。每个 Block 包含多个 chunk 文件(存储压缩后的样本数据)、索引文件(用于快速查找样本数据)以及 tombstones 文件(记录已删除的样本信息)。

  • WAL(Write-Ahead Log)
    当 Prometheus 收集到新的样本数据时,首先会写入预写式日志(WAL),用于在服务器崩溃时保护数据不丢失,并在后台将数据整理进块存储(Blocks)中。

此外,Prometheus 还支持远程存储集成,通过 Remote Write 功能,可以将数据导出到其他支持 Prometheus Remote Write API 的远程存储系统,如 Thanos、Cortex 等。这样可以实现长期存储、跨集群聚合等功能。

有并发场景吗?

根据个人经历说吧

最后编辑: kuteng  文档更新时间: 2024-04-02 09:53   作者:kuteng