一、搭建
step 1 拉取镜像
docker pull prom/node-exporter #用来监控系统CPU、内存、硬盘等
docker pull prom/prometheus
docker pull grafana/grafana
docker pull google/cadvisor #用来监控容器
step2 创建prometheus配置文件路径,编辑配置文件
mkdir prometheus
cd prometheus
vim prometheus.yml
prometheus.xml文件
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'codelab-monitor'
# 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'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090'] #prometheus自身地址和端口
- job_name: 'linux'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['10.168.2.53:9100'] #监控linux的地址和端口
labels:
instance: node
- job_name: 'container'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['10.168.2.53:9001'] #监控docker的地址和端口
labels:
instance: container
step 3 创建grafana目录,并赋予权限。因为是挂载,grafana文件夹需要一些权限,否则容器不能创建成功。
mkdir grafana
chmod 777 -R grafana
step 4 创建容器
# 创建监控docker的容器
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=9001:8080 --detach=true --name=cadvisor google/cadvisor
# 创建监控linux的容器
docker run -d -p 9100:9100 --name=prometheus-node -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" --net=host prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|)"
# 创建prometheus容器
docker run -it -p 9091:9090 -v /opt/prometheus:/etc/prometheus --name=prometheus prom/prometheus:latest --config.file=/etc/prometheus/prometheus.yml
# 创建grafana容器
docker run -d -p 9002:3000 --name=grafana -v /opt/grafana:/var/lib/grafana grafana/grafana
step5 验证搭建结果
访问prometheus地址 http://ip:9091
从首页->Status->Targets 进入targets页面,查看监控是否正常运行。当state=up时,正常运行。
二、grafana可视化配置
访问grafana地址,http://ip:9002
step1:配置数据源,选择Prometheus数据源,配置prometheus相关内容(name、url),保存(save&test)
扫描二维码关注公众号,回复:
11931357 查看本文章
step2: 选择监控模块
进入grafana官网 https://grafana.com/,从菜单栏Grafana中选择Dashboards,进入dashboards模板页面
选择合适的模板(linux监控模板/container监控模板) ,比如 监控linux的(node),dashboardID是8919
step3:在grafana中使用模板
在grafana中,在下图输入框中输入dashboardsID,load即可。
效果如下:
其他模板样式,可在grafana中查找使用。
参考: