Docker学习笔记十三:Docker安装Prometheus

介绍

Prometheus介绍

  • 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。
  • 基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控,输出被监控组件信息的HTTP接口被叫做exporter。

 

常用exporter介绍 

  • node_exporter
    • 说明:收集Linux系统数据,默认端口号9100
    • 下载1:https://prometheus.io/download/#node_exporter
    • 下载2:https://github.com/prometheus/node_exporter/releases
  • mysql_exporter
    • 说明:收集MySQL数据库数据,默认端口号9104
    • 下载:https://prometheus.io/download/#mysqld_exporter
  • ...

 

安装Prometheus

下载

  • 命令:docker pull prom/prometheus:latest
  • 说明:安装可参考Docker  Hub官网说明的镜像的用法

 

安装

创建容器

  • a、准备“prometheus.yml”配置文件
    • 说明:如下配置文件可供复制,配置文件内容可根据需要添加相应配置
    • 配置:prometheus获取对应的exporter信息,都可以在该配置文件中配置新的“job_name”,配置文件之后需要重启服务,并保证对应的“exporter”服务监听启动成功。
# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
 
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
 
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
 
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
 
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
 
    static_configs:
    - targets: ['192.168.6.9:9090']
View Code

  • b、创建映射目录
    • 命令:mkdir prometheus
    • 说明:创建了映射目录之后,可以将“prometheus.yml”文件放在该目录下

  • c、创建容器
docker run -d \
--name prometheus \
-p 9090:9090 \
--privileged=true \
-v /opt/docker_data/prometheus/:/data \
-e TZ=Asia/Shanghai \
prom/prometheus:latest --config.file=/data/prometheus.yml

# docker run:运行并启动容器
# -d:在后台运行容器,并输出容器ID
# --name:设置容器的名称
# -p 9090:9090:容器的9090端口映射宿主机9090端口(程序访问端口)
# --privileged=true:可选配置,目录映射时避免出现权限问题
# -v:设置"宿主机目录:容器目录"映射位置
# -e:设置时区、mysql的密码
# 执行安装的镜像信息,格式:名称:标签(REPOSITORY:TAG)

访问页面

  • prometheus默认的端口是9090,访问web页面查看对应的标签规则。如:http://xxxx.xxx.xxx.xxx:9090

 

posted @ 2022-12-20 17:25  零下一度的微笑  阅读(992)  评论(0编辑  收藏  举报