Prometheus简介
- Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包
- 从2012年开始,许多公司和组织开始使用Prometheus。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司
- 为了强调这点和明确该项目治理结构,Prometheus在2016年继Kurberntes之后,加入了Cloud Native Computing Foundation。
以下命令都需要管理员权限 sudo
搜索 gitlab Docker镜像
sudo docker search prometheus
//输出结果部分截图
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
prom/prometheus 726 [OK]
infinityworks/prometheus-rancher-exporter Exposes Service/Stack/Host status from the R… 7 [OK]
basi/prometheus-swarm A sample image that can be used as a base fo… 7 [OK]
linuxtips/prometheus_alpine Image to run Prometheus on Alpine Linux. #VA… 7 [OK]
sscaling/jmx-prometheus-exporter A docker image containing a released version… 6 [OK]
bitnami/prometheus Bitnami Docker Image for Prometheus 6 [OK]
stefanprodan/swarmprom-prometheus Prometheus Docker Swarm 5
functions/prometheus prometheus 5 [OK]
拉取 gitlab Docker镜像
sudo docker pull prom/prometheus
配置
Prometheus使用YAML进行配置(prometheus.yml)。global配置一些全局信息,scrape_configs配置具体想要抓取的目标。
这段配置的含义是:启动一个叫做go-pro的任务,每隔五秒钟,访问192.168.2.28:8888/metrics获取数据。
global:
scrape_interval: 15s
external_labels:
monitor: 'codelab-monitor'
scrape_configs:
- job_name: 'go-pro'
metrics_path: "/metrics"
scrape_interval: 5s
static_configs:
- targets: ['192.168.2.28:8888']
go统计Demo 点击这里
启动Prometheus
//prometheus.yml放到 data/prometheus内
sudo docker run -d -p 9090:9090 --name prometheus -v /home/ghost/data/prometheus:/data prom/prometheus --config.file=/data/prometheus.yml
- 使用sudo docker ps -a 命令查看当前所有Docker容器的状态。当它的状态由starting变为运行时间时,说明成功启动了
- 使用上面配置的IP地址(如http://192.168.2.28:9090)访问即可
Prometheus
sudo docker stop prometheus //停止容器
sudo docker rm prometheus //移出容器
sudo docker pull prom/prometheus //拉取最新的prometheus