Prometheus 实战
  • 前言
  • 修订记录
  • 如何贡献
  • Prometheus 简介
    • Prometheus 是什么
    • 为什么选择 Prometheus
  • Prometheus 安装
    • 二进制包安装
    • Docker 安装
  • 基础概念
    • 数据模型
    • 指标类型
    • 作业与实例
  • PromQL
    • PromQL 基本使用
    • 与 SQL 对比
  • 数据可视化
    • Web Console
    • Grafana
    • Promlens
  • Prometheus 配置
    • 全局配置
    • 告警配置
    • 规则配置
    • 数据拉取配置
    • 远程可写存储
    • 远程可读存储
    • 服务发现
    • 配置样例
  • 服务发现
    • 静态服务发现
    • 文件服务发现
    • HTTP服务发现
    • Consul服务发现
    • moby服务发现
    • kubernetes服务发现
  • Exporter
    • 文本格式
    • Sample Exporter
    • Node Exporter 安装使用
    • Node Exporter 常用查询
    • 其他 Exporter 介绍
  • Pushgateway
    • Pushgateway 是什么
    • 如何使用 Pushgateway
  • 数据存储
    • Local Store
    • Remote Store
  • 告警/记录规则
    • 如何配置
    • 触发逻辑
  • Alertmanager
    • Alertmanager 是什么
    • 配置详情
    • 通过 Email 接收告警
    • 通过企业微信接收告警
    • 通过 Slack 接收告警
    • 通过 Webhook 接收告警
    • 其他告警接收方案
  • Prometheus 工具
    • Promtool 介绍和使用
    • Client SDK
  • Prometheus 性能调优
    • Metrics 仪表盘
    • 启动参数优化
    • 日志查询
  • Prometheus 与容器
    • Docker
    • Kubernetes
  • 高可用方案探讨
    • Prometheus Server 的高可靠
    • AlertManager 的高可靠
  • 实战练习
    • NodeExporter
    • 配置告警规则
    • Grafana 集成
    • Alertmanager 告警
  • 常见问题收录
    • 如何热加载新配置
    • 如何通过认证后拉取数据
Powered by GitBook
On this page
  • 安装
  • Docker 管理 prometheus
  • Docker 镜像配置参数

Was this helpful?

  1. Prometheus 安装

Docker 安装

Previous二进制包安装Next基础概念

Last updated 2 years ago

Was this helpful?

首先确保你已安装了最新版本的 Docker, 如果没有安装请点击。

下面我将以 Mac 版本的 Docker 作为演示。

安装

Docker 镜像地址

执行命令安装:

$ docker run --name prometheus -d -p 9090:9090 quay.io/prometheus/prometheus:v2.39.1

如果安装成功你可以访问 127.0.0.1:9090 查看到该页面:

Docker 管理 prometheus

运行 docker ps 查看所有服务:

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                      NAMES
e9ebc2435387        quay.io/prometheus/prometheus   "/bin/prometheus -..."   26 minutes ago      Up 26 minutes       127.0.0.1:9090->9090/tcp   prometheus

运行 docker start prometheus 启动服务

运行 docker stats prometheus 查看 prometheus 状态

运行 docker stop prometheus 停止服务

Docker 镜像配置参数

ENTRYPOINT [ "/bin/prometheus" ]
CMD        [ "--config.file=/etc/prometheus/prometheus.yml", \
             "--storage.tsdb.path=/prometheus", \
             "--web.console.libraries=/usr/share/prometheus/console_libraries", \
             "--web.console.templates=/usr/share/prometheus/consoles" ]

所以,当我们要修改配置 Prometheus 的启动参数,直接覆盖掉默认的即可,例如:

  • 修改配置文件和存储目录

docker run --name prometheus
    -v=$(pwd)/examples/prometheus.yml:/etc/prometheus/prometheus.yml \
    -v=$(pwd)/examples/tsdb:/prometheus \
    -d -p 9090:9090 \
    quay.io/prometheus/prometheus:v2.39.1

此时在 $(pwd)/examples 目录下将生产一个 tsdb 目录,存储 Promtheus 时序数据。

  • 开启 Lifecycle API

更新启动命令,添加 --web.enable-lifecycle 命令参数:

docker run --name prometheus \
    -v=$(pwd)/examples/prometheus.yml:/etc/prometheus/prometheus.yml \
    -v=$(pwd)/examples/tsdb:/prometheus \
    -d -p 9090:9090 \
    quay.io/prometheus/prometheus:v2.39.1 \
    --config.file=/etc/prometheus/prometheus.yml \
    --storage.tsdb.path=/prometheus \
    --web.console.libraries=/usr/share/prometheus/console_libraries \
    --web.console.templates=/usr/share/prometheus/consoles \
    --web.enable-lifecycle

当重新执行 Docker 命令后并更新 examples/prometheus.yml 后,可以通过 curl -X POST http://localhost:9090/-/reload 动态加载配置文件。

通过 Prometheus 的 可以发现,其运行命令为 /bin/prometheus,并包含了4个默认启动参数:

Dockerfile
这里
Quay.io
prometheus-graph.png