Prometheus监控系列二 | Docker容器化部署实战

1、部署Docker

详见文章

2、部署 Prometheus 服务

创建 mon 用户,创建目录

groupadd -g 2000 mon
useradd -u 2000 -g mon mon
mkdir -p /home/mon/prometheus/{etc,data,rules}

创建配置文件

vim /home/mon/prometheus/etc/prometheus.yml

此处内容需要评论回复后方可阅读

启动容器服务

此处内容需要评论回复后方可阅读

3、部署 Grafana 服务

创建数据目录

mkdir -p /home/mon/grafana/plugins

安装插件: 下载Grafana插件

tar zxf /tmp/grafana-plugins.tar.gz -C /home/mon/grafana/plugins/
chown -R mon. /home/mon/grafana
chmod 777 -R /home/mon/grafana

启动容器服务

docker pull grafana/grafana:latest
docker run -d -p 3000:3000 -v /home/mon/grafana:/var/lib/grafana --name=grafana grafana/grafana:latest

4、配置 Grafana 对接 Prometheus

访问 http://ip:3000,初始账号密码为 admin/admin,会要求更改密码。

按照如下截图顺序配置 Prometheus Dashboard:

此处内容需要评论回复后方可阅读

5、部署 Node_Exporter 服务

安装配置Node_Exporter

curl https://github.com/prometheus/node_exporter/releases/download/v1.1.1/node_exporter-1.1.1.linux-amd64.tar.gz > /opt/node_exporter-1.1.1.linux-amd64.tar.gz
cd /opt
tar zxf node_exporter-1.1.1.linux-amd64.tar.gz
mv node_exporter-1.1.1.linux-amd64 node_exporter

配置服务启动脚本

此处内容需要评论回复后方可阅读

6、部署 Alertmanager 服务

创建目录

mkdir -p /home/mon/alertmanager/{etc,data}
chmod 777 -R /home/mon/alertmanager

创建配置文件

此处内容需要评论回复后方可阅读

7、多容器启动管理

多容器配置,需要修改端口、数据存储路径等信息,例如

Prometheus

docker run -d --user root -p 9091:9090 --name prometheus-poc \
    -v /home/mon/prometheus-poc/etc/prometheus.yml:/etc/prometheus/prometheus.yml \
    -v /home/mon/prometheus-poc/rules:/etc/prometheus/rules \
    -v /home/mon/prometheus-poc/data:/data/prometheus \
    prom/prometheus \
    --config.file="/etc/prometheus/prometheus.yml" \
    --storage.tsdb.path="/data/prometheus" \
    --web.listen-address="0.0.0.0:9090"

不同之处:

  • -p 9091:9090
  • --name prometheus-poc
  • -v /home/mon/prometheus-poc/etc/prometheus.yml:/etc/prometheus/prometheus.yml
  • -v /home/mon/prometheus-poc/rules:/etc/prometheus/rules
  • -v /home/mon/prometheus-poc/data:/data/prometheus

Grafana

docker run -d -p 3001:3000 -v /home/mon/grafana-poc:/var/lib/grafana --name=grafana-poc grafana/grafana:latest

不同之处:

  • -p 3001:3000
  • --name=grafana-poc
  • -v /home/mon/grafana-poc:/var/lib/grafana

Alertmanager

docker run -d --user root -p 9094:9093 --name alertmanager-poc \
    -v /home/mon/alertmanager-poc/etc/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
    -v /home/mon/alertmanager-poc/data:/alertmanager/data
    prom/alertmanager:latest \
    --config.file="/etc/alertmanager/alertmanager.yml" \
    --web.listen-address="0.0.0.0:9093"

不同之处:

  • -p 9094:9093
  • --name alertmanager-poc
  • -v /home/mon/alertmanager-poc/etc/alertmanager.yml:/etc/alertmanager/alertmanager.yml
  • -v /home/mon/alertmanager-poc/data:/alertmanager/data

8 参考资料

Docker 部署 Prometheus+Grafana

Dashboard Download

打赏
评论区
头像
    头像
    boris
      

    感谢分享,共同成长。

    头像
    小許同学
      

    学习一下

文章目录