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