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

2023-05-02 10:12:06 浏览数 (1)

1、部署Docker

详见文章

2、部署 Prometheus 服务

创建 mon 用户,创建目录

代码语言:javascript复制
groupadd -g 2000 mon
useradd -u 2000 -g mon mon
mkdir -p /home/mon/prometheus/{etc,data,rules}

创建配置文件

代码语言:javascript复制
vim /home/mon/prometheus/etc/prometheus.yml

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

启动容器服务

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

3、部署 Grafana 服务

创建数据目录

代码语言:javascript复制
mkdir -p /home/mon/grafana/plugins

安装插件: 下载Grafana插件

代码语言:javascript复制
tar zxf /tmp/grafana-plugins.tar.gz -C /home/mon/grafana/plugins/
chown -R mon. /home/mon/grafana
chmod 777 -R /home/mon/grafana

启动容器服务

代码语言:javascript复制
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

代码语言:javascript复制
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 服务

创建目录

代码语言:javascript复制
mkdir -p /home/mon/alertmanager/{etc,data}
chmod 777 -R /home/mon/alertmanager

创建配置文件

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

7、多容器启动管理

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

Prometheus
代码语言:javascript复制
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
代码语言:javascript复制
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
代码语言:javascript复制
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

0 人点赞