本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Metricbeat 是 Elastic Stack 中的轻量级指标收集器,用于从服务器、容器、应用程序及服务中采集系统和业务指标,并将数据发送至 Elasticsearch、Logstash 或其他输出目标。作为 Docker 镜像分发的 Metricbeat,提供了便捷的容器化部署方式,适用于云原生、容器环境及传统服务器环境的指标监控场景,帮助用户实现统一的指标采集与可视化分析。
从 Docker Hub 或 Elastic 官方仓库拉取镜像:
docker pull elastic/metricbeat:8.11.3 # 建议指定具体版本,如8.11.3(最新稳定版)
docker run 命令)默认配置下,Metricbeat 启用 system 模块(采集主机系统指标),并尝试连接本地 Elasticsearch(需确保 Elasticsearch 已运行):
docker run -d \ --name metricbeat \ --user root \ # 需 root 权限以访问主机系统指标(如/proc、/sys) --volume /var/run/docker.sock:/var/run/docker.sock:ro \ # 如需采集 Docker 容器指标 --volume /sys/fs/cgroup:/host/sys/fs/cgroup:ro \ # 系统指标依赖(cgroup) --volume /proc:/host/proc:ro \ # 系统指标依赖(proc) elastic/metricbeat:8.11.3
推荐通过挂载本地配置文件(metricbeat.yml)自定义采集规则和输出目标:
docker run -d \ --name metricbeat \ --user root \ --volume /path/to/your/metricbeat.yml:/usr/share/metricbeat/metricbeat.yml:ro \ # 挂载自定义配置 --volume /var/run/docker.sock:/var/run/docker.sock:ro \ --volume /sys/fs/cgroup:/host/sys/fs/cgroup:ro \ --volume /proc:/host/proc:ro \ --volume /etc/machine-id:/etc/machine-id:ro \ # 确保主机标识唯一性 elastic/metricbeat:8.11.3
适用于多容器环境(如与 Elasticsearch、Kibana 联动):
version: '3.8' services: metricbeat: image: elastic/metricbeat:8.11.3 container_name: metricbeat user: root volumes: - ./metricbeat.yml:/usr/share/metricbeat/metricbeat.yml:ro # 本地配置文件 - /var/run/docker.sock:/var/run/docker.sock:ro - /sys/fs/cgroup:/host/sys/fs/cgroup:ro - /proc:/host/proc:ro - /etc/machine-id:/etc/machine-id:ro - metricbeat-data:/usr/share/metricbeat/data # 持久化数据(如注册信息、偏移量) environment: - ELASTICSEARCH_HOSTS=[***] # Elasticsearch 地址(若在同一 Compose 网络) - KIBANA_HOST=[***] # Kibana 地址(用于导入仪表盘) - LOG_LEVEL=info # 日志级别:debug/info/warn/error depends_on: - elasticsearch # 依赖 Elasticsearch 启动后再启动 networks: - elastic-net # 加入 Elastic Stack 网络 elasticsearch: image: elastic/elasticsearch:8.11.3 # ... Elasticsearch 配置(省略,需开启网络、设置密码等) kibana: image: elastic/kibana:8.11.3 # ... Kibana 配置(省略) volumes: metricbeat-data: # 持久化 Metricbeat 数据 networks: elastic-net:
Metricbeat 的核心配置通过 metricbeat.yml 文件定义,主要包含以下部分:
output)指定指标数据的输出目标(如 Elasticsearch、Logstash):
output.elasticsearch: hosts: ["[***]"] # Elasticsearch 地址列表 username: "elastic" # 认证用户名(若启用 Elasticsearch 安全功能) password: "changeme" # 认证密码 index: "metricbeat-%{[agent.version]}-%{+yyyy.MM.dd}" # 自定义索引名(默认按版本和日期拆分) # 或输出至 Logstash: # output.logstash: # hosts: ["logstash:5044"]
metricbeat.modules)启用并配置采集模块(每个模块对应一类数据源):
metricbeat.modules: - module: system # 系统指标模块 metricsets: # 采集的指标集(如cpu、memory、diskio) - cpu - memory - diskio period: 10s # 采集周期 processes: [".*"] # 进程过滤(默认采集所有进程) cpu.metrics: ["percentages", "normalized_percentages"] # CPU 指标类型 - module: docker # Docker 容器指标模块 metricsets: ["container", "cpu", "memory", "network"] period: 5s hosts: ["unix:///var/run/docker.sock"] # Docker 守护进程地址
setup 与 shipper)setup: kibana: host: "[***]" # Kibana 地址(用于导入仪表盘) username: "elastic" password: "changeme" dashboards: enabled: true # 自动导入模块对应的 Kibana 仪表盘(首次启动时) shipper: name: "${NODE_NAME:unknown-node}" # 节点名称(可通过环境变量 NODE_NAME 注入)
可通过环境变量动态调整配置(无需修改 metricbeat.yml),常用变量如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
ELASTICSEARCH_HOSTS | Elasticsearch 输出目标地址列表 | http://localhost:9200 |
ELASTICSEARCH_USERNAME | Elasticsearch 认证用户名 | - |
ELASTICSEARCH_PASSWORD | Elasticsearch 认证密码 | - |
KIBANA_HOST | Kibana 地址(用于仪表盘导入) | http://localhost:5601 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
NODE_NAME | 节点名称(用于标识采集源) | 容器 hostname |
METRICBEAT_MODULES | 启用的模块列表(逗号分隔,如 system,docker) | 默认启用 system 模块 |
通过命令行启用/禁用模块(需进入容器或挂载配置文件):
# 进入容器 docker exec -it metricbeat /bin/bash # 列出所有可用模块 metricbeat modules list # 启用模块(自动生成默认配置至 modules.d/ 目录) metricbeat modules enable nginx redis # 禁用模块 metricbeat modules disable nginx
权限要求:采集系统/容器指标需 root 用户权限,或添加 CAP_SYS_PTRACE 等 capabilities(如 --cap-add=SYS_PTRACE)。
配置文件权限:挂载的 metricbeat.yml 文件需确保容器内用户可读(建议权限 644)。
数据持久化:通过 volume 挂载 /usr/share/metricbeat/data 目录,避免容器重启后丢失注册信息(如 Elasticsearch 索引生命周期管理元数据)。
版本兼容性:Metricbeat 版本需与 Elasticsearch/Kibana 版本保持一致(如 8.11.3 需搭配 8.11.3 版本的 Elasticsearch),避免协议不兼容问题。
安全配置:若 Elastic Stack 启用 TLS/SSL 或安全认证(如 Elasticsearch 内置用户),需在 metricbeat.yml 中配置 ssl.enabled: true 及认证信息。
docker logs metricbeat,检查是否有连接错误或配置异常。docker exec metricbeat metricbeat test config -e(验证配置文件合法性)。docker exec metricbeat metricbeat test output -e(验证与 Elasticsearch/Logstash 的连接)。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429