尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【AWS】基于Docker搭建监控系统基础(二)

【AWS】基于Docker搭建监控系统基础(二)
📅 发布时间:2026/7/1 5:00:37
背景

上一章讲到了认识服务器,这一章讲如何从安装docker到安装基本的监控设施
这章你会知道:Docker、Grafana、Loki、Prometheus、Protmail、Node-Exploer

基本信息:AWS EC2实例 服务器系统版本Ubuntu

安装Docker

`curl-fsSLhttps://get.docker.com|sh`安装docker

docker --version 查看docker版本,确认是否安装,如果安装失败,请自行排查问题

sudosystemctl startdocker--启动dockersudosystemctlenabledocker--关闭docker

这些指令在安装后尝试几次就好,重要是后续会以compose(容器组件)的形式启动
记得添加权限,免得报错

sudousermod-aGdockerubuntu --给docker添加权限
dockerps<-a>--查看


不报错即可,这里是已经搭好了,所以会有东西

dockercompose version --查看compose版本 如果有则不需要另外安装,没有请自行搜索相关教程

文件目录准备

infra
├── grafana
├── loki
├── prometheus
└── promtail
基于建立infra一级目录,然后建立其余的文件目录
举例:

mkdirinfra --创建infracdinfra --进入mkdirxxx --在该目录下再创建

最终我们要做的框架是
Grafana = 展示层
Loki = 日志存储
Promtail = 日志采集
Prometheus = 指标采集
Node Exporter = 服务器指标 (这个由Compose启动时安装下载即可)
cAdVisor = 容器指标 (这个由Compose启动时安装下载即可)

Compose文件准备与安装部署

yaml和yml文件是一个意思,配置时注意一下就好了
docker config

安装部署Loki

wgethttps://raw.githubusercontent.com/grafana/loki/main/cmd/loki/loki-local-config.yamlvimloki-local-config.yaml 编辑查看mkdir-p~/infra/loki/data 创建loki data文件 确认 common: path_prefix: /loki

配置文件

auth_enabled:falseserver:http_listen_port:3100grpc_listen_port:9096log_level:debuggrpc_server_max_concurrent_streams:1000common:instance_addr:127.0.0.1path_prefix:/lokistorage:filesystem:chunks_directory:/tmp/loki/chunksrules_directory:/tmp/loki/rulesreplication_factor:1ring:kvstore:store:inmemoryquery_range:results_cache:cache:embedded_cache:enabled:truemax_size_mb:100limits_config:metric_aggregation_enabled:trueenable_multi_variant_queries:trueschema_config:configs:-from:2020-10-24store:tsdbobject_store:filesystemschema:v13index:prefix:index_period:24hpattern_ingester:enabled:truemetric_aggregation:loki_address:localhost:3100ruler:alertmanager_url:http://localhost:9093frontend:encoding:protobuf

编写Compose 文件

vimdocker-compose.yml
services:grafana:image:grafana/grafanacontainer_name:grafanaports:-"3000:3000"volumes:-./grafana-data:/var/lib/grafanarestart:unless-stoppedloki:image:grafana/loki:latestcontainer_name:lokiports:-"3100:3100"command:-config.file=/etc/loki/local-config.yamlvolumes:-./loki/loki-local-config.yaml:/etc/loki/local-config.yaml-./loki/data:/lokirestart:unless-stopped

启动docoker compose

dockercompose up-d启动dockercompose down 关闭dockerps查看docker容器状态curllocalhost:3100/ready 访问 http://你的服务器ip:3000 登录grafana 默认账户 admin 密码 admin

配置Grafana数据源

登录后访问Grafana->Connections->Add new connection 选择loki
URL填写http://loki:3100
save&testing 保存

安装部署Promtail

作用: 采集日志 ↓ 发送给 Loki ↓ Grafana 展示 日志链路: Linux日志 ↓ Promtail ↓ Loki ↓ Grafana
vim~/infra/promtail/promtail.yaml 编辑promtail配置文件

配置文件样板:

server:http_listen_port:9080positions:filename:/tmp/positions.yamlclients:-url:http://loki:3100/loki/api/v1/pushscrape_configs:-job_name:syslogstatic_configs:-targets:-localhostlabels:job:sysloghost:ec2__path__:/var/log/syslog

向docker-compose.yml追加

promtail:image:grafana/promtail:latestcontainer_name:promtailvolumes:-./promtail/promtail.yaml:/etc/promtail/config.yml-/var/log:/var/logcommand:--config.file=/etc/promtail/config.ymlrestart:unless-stopped
dockercompose up-ddockerps出现 promtail 即配置完成

安装部署Node Exporter

Compose追加

node-exporter:image:prom/node-exportercontainer_name:node-exporterports:-"9100:9100"volumes:-"/:/host:ro,rslave"command:-'--path.rootfs=/host'restart:unless-stopped
dockercompose up-d启动curllocalhost:9090/metrics 访问 看里面有 node_cpu_seconds_total node_memory_MemTotal_bytes之类的参数指标即可

安装部署prometheus

vimprometheus/prometheus.yml
global:scrape_interval:15sscrape_configs:-job_name:prometheusstatic_configs:-targets:-prometheus:9090-job_name:nodestatic_configs:-targets:-node-exporter:9100
dockercompose up-d启动 然后挂载刚刚装的promtail和prometheuscurllocalhost:9100/metrics 访问查看是否有返回,报错则自行查阅解决 访问 http://服务器ip:9090/query 查询up 应该有prometheus和node=1

安装部署cAdvisor

compose追加

cadvisor: image: gcr.io/cadvisor/cadvisor:latest container_name: cadvisor ports: -"8080:8080"volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys:/sys:ro - /var/lib/docker:/var/lib/docker:ro restart: unless-stopped

prometheus追加采集

- job_name: cadvisor static_configs: - targets: - cadvisor:8080
dockercompose restart prometheus --重启单个容器dockercompose restart --全部重启curlhttp://服务器ip:9090/query up{job="prometheus"}1up{job="node"}1up{job="cadvisor"}1



以上基础搭建就完成了接下来是grafana的展示层dashboard的搭建

Grafana Dashboard搭建

点击搜索栏或者crtl+k 搜索Import DashBoard

Node Exporter数据源

UID=1860 grafana官方模板 或者 较新的10180


可以用来查看:
CPU使用率
内存占用
磁盘IO
网卡流量
负载Load
文件系统

Loki数据源

UID=13639

查看loki日志
可以用来查看:
按容器看日志
按服务看日志
关键字搜索
错误统计

cAdvisor数据源

Cadvisor exporter
UID=14282

可以用来查看:
容器数量
容器状态
资源占用排行

注意事项和心得

具体的一些安装部署、监控指标怎么看都什么意思等排障和扫盲,待下篇会讲,这里只简单讲。

  • 注意容器的network模式 是host还是bridge 这个很重要,会影响到容器之间的访问,模式不一致容易踩坑
  • 安装部署后一定要立马检查部署是否成功
  • 服务器记得开放进站端口范围(入口)[3000、9100、9090等],用于自己访问或者白名单访问,不要被攻击啦!!!~

相关新闻

  • 2026年,AI搜索优化的技术底层:从向量检索到商品卡交易闭环,每一层到底在做什么
  • 终极英雄联盟效率工具:5分钟提升游戏表现的完整指南
  • AI赋能Nmap:构建智能安全扫描与自动化风险分析系统

最新新闻

  • 终极指南:让旧Mac焕发新生!OpenCore Legacy Patcher完全使用教程
  • 机器人避障、游戏物理引擎都离不开它:FCL碰撞检测库保姆级入门指南
  • 文献综述写作不用埋头翻资料!paperxie 四段式生成工具,按页面指引产出规范学术文稿
  • 51单片机新手必看:用MPU6050和LCD1602做个简易姿态仪(附完整代码)
  • 突破性超声波定向声学系统:创新音频传播技术的实战方案
  • 别再手动写3D了!用WPF的HelixToolkit库,5分钟搞定.stl模型加载与交互

日新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号