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']
- 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