1.安装 Prometheus
新建目录,生成 prometheus.yml
mkdir /data/docker/prometheus
cd /data/docker/prometheus
vim prometheus.yml
编辑 prometheus.yml
global:
# 默认情况下,每15s拉取一次目标采样点数据。
scrape_interval: 15s
# 我们可以附加一些指定标签到采样点度量标签列表中, 用于和第三方系统进行通信, 包括:federation, remote storage, Alertmanager
external_labels:
# 下面就是拉取自身服务采样点数据配置
monitor: 'codelab-monitor'
scrape_configs:
# job名称会增加到拉取到的所有采样点上,同时还有一个instance目标服务的host:port标签也会增加到采样点上
- job_name: prometheus
# 覆盖global的采样点,拉取时间间隔5s
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
docker 启动 prometheus
docker run -d -p 9090:9090 \
-v /data/docker/prometheus/:/usr/local/src/file/ \
--name prometheus quay.io/prometheus/prometheus \
--config.file=/usr/local/src/file/prometheus.yml
查看是否启动成功
netstat -nultp | grep 9090
访问 http://IP:9090/targets

2.安装 Grafana
新建 conf 和 data 目录
mkdir -p /data/docker/grafana/{conf,data}
docker 运行
docker run -d --name grafana -p 3000:3000 \
-v /data/docker/grafana/data:/var/lib/grafana grafana/grafana
把配置文件复制出来
cd /data/docker/grafana/conf/
docker cp grafana:/etc/grafana/grafana.ini .
修改配置文件,grafana 数据库改为 MySQL
vim /data/docker/grafana/conf/grafana.ini
[database]
type = mysql
host = IP:3306
name = xx #库名
user = grafana
password = xx
挂载配置文件重新部署
docker stop grafana
dockre rm grafana
docker run -d --name grafana -p 3000:3000 \
-v /data/docker/grafana/data:/var/lib/grafana \
-v /data/docker/grafana/conf/grafana.ini:/etc/grafana/grafana.ini grafana/grafana
查看是否启动成功
netstat -nultp | grep 3000
访问 http://IP:3000

初始用户密码 admin admin
登陆后会提示输入新密码
添加数据源


选择 prometheus

URL 输入 prometheus 机器 IP

点击 save&test,出现 data source is working 后点击 back 返回

prometheus 数据源添加完成
3.部署 node_exporter 监控 Linux 机器
docker 运行
docker run -d -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
--name node_exporter \
prom/node-exporter
查看是否启动成功
netstat -nultp | grep 9100
访问 http://IP:9100/metrics

修改 prometheus.yml
vim /data/docker/prometheus/prometheus.yml
在最后添加
- job_name: "node"
static_configs:
- targets: ["机器IP:9100"]
labels:
instance: linux
重启 prometheus
docker restart prometheus
访问 http://IP:9090/targets

在 Grafana 导入仪表板


选择数据源

导入成功

4.部署windows_exporter监控windows机器
下载地址 https://github.com/prometheus-community/windows_exporter/releases

在windows上启动,默认端口是9182
修改prometheus.yml
在最后添加
- job_name: 'windows'
static_configs:
- targets: ['windowsIP:9182']
labels:
instance: windows
访问 http://IP:9090/targets

在 Grafana 导入仪表板10467,步骤同上
导入成功

5.部署cadvisor监控docker容器
使用docker部署,默认端口8080,有需要可以自行修改,我这里改为8888
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8888:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
查看是否启动成功
netstat -nultp | grep 8888
修改prometheus.yml
在最后添加
- job_name: 'docker'
static_configs:
- targets: ['dockerIP:8888']
labels:
instance: docker
访问 http://IP:9090/targets

在 Grafana 导入仪表板893,步骤同上
导入成功

文章转载请说明出处:八零岁月 » Prometheus+grafana部署
评论前必须登录!