0.环境准备
IP | Hostname | Docker | Grafana | Prometheus | node_exporter |
---|---|---|---|---|---|
10.180.249.245 | manager.rancher | v19.03.8 | v6.7.2 | v2.17.1 | v0.18.1 |
10.180.249.246 | master.rancher | v19.03.8 | - | - | v0.18.1 |
10.180.249.247 | worker.rancher | v19.03.8 | - | - | v0.18.1 |
Centos7.4-Rancher2.3.6-Docker19.03环境Ansible部署
1.下载镜像
manager.rancher 节点
docker pull grafana/grafana
docker pull prom/prometheus
manager.rancher、master.rancher、worker.rancher 节点
docker pull prom/node-exporter
2.启动 node_exporter
manager.rancher、master.rancher、worker.rancher 节点
docker run -d -p 9100:9100 -v “/proc:/host/proc:ro” -v “/sys:/host/sys:ro” -v “/:/rootfs:ro” prom/node-exporter
-d 后台运行
-p 主机端口:容器端口
-v 绑定卷,主机目录:容器目录
访问URL,可查看收集的系统信息
http://IP:9100/metrics
3.启动 Prometheus
manager.rancher 节点
新建目录prometheus,编辑配置文件prometheus.yml
mkdir -p /opt/prometheus/cfg/
cd /opt/prometheus/cfg/
vim prometheus.yml
# 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: ['10.180.249.245:9090']
- job_name: 'manager.rancher'
static_configs:
- targets: ['10.180.249.245:9100']
labels:
instance: sys1
- job_name: 'master.rancher'
static_configs:
- targets: ['10.180.249.246:9100']
labels:
instance: sys2
- job_name: 'worker.rancher'
static_configs:
- targets: ['10.180.249.247:9100']
labels:
instance: sys3
docker run -d -p 9090:9090 -v /opt/prometheus/cfg/prometheus.yml:/opt/prometheus/prometheus.yml prom/prometheus
访问URL:http://IP:9090/
4.启动 Grafana
新建空文件夹grafana-storage,用来存储数据
mkdir -p /opt/grafana-storage
chmod 777 /opt/grafana-storage
docker run -d -p 3000:3000 --name=grafana -v /opt/grafana-storage:/var/lib/grafana grafana/grafana
访问URL:http://IP:3000/
默认登录用户名和密码:admin/admin
登录根据提示设置密码:admin123
5.Grafana添加Prometheus数据源