Prometheus+grafana部署-八零岁月
记录所见
分享所感

Prometheus+grafana部署

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部署

分享到:更多 ()

吐槽集中营 抢沙发

评论前必须登录!