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

Filebeat是Elastic Stack生态中的轻量级日志托运人(log shipper),专为在资源受限环境中高效收集、转发日志数据而设计。作为Docker镜像,它可快速部署于容器化环境,实现对物理机、虚拟机或容器日志的统一采集,并将数据可靠传输至Elasticsearch、Logstash、Kafka等后端系统,支持日志集中存储、分析与可视化。
filebeat.yml自定义日志路径、过滤规则、标签及元数据/var/log/syslog、/var/log/auth.log),实时监控系统状态与异常行为filebeat.yml),用于定义日志输入源与输出目标(配置示例见下文)Filebeat需通过配置文件指定输入与输出,建议将本地filebeat.yml挂载至容器内:
docker run -d \ --name filebeat \ -v /path/to/your/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro \ -v /var/log:/var/log:ro \ # 挂载主机日志目录(只读) -v /path/to/filebeat-data:/usr/share/filebeat/data \ # 持久化状态数据(避免重复收集) docker.elastic.co/beats/filebeat:8.11.3 # 使用***镜像,版本号可替换
说明:
filebeat.yml需设置权限为chmod 600(容器内Filebeat用户ID为1000)/var/log挂载为只读(:ro),防止容器修改主机日志文件
结合Elasticsearch与Kibana的完整部署示例(docker-compose.yml):
version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.11.3 environment: - discovery.type=single-node - xpack.security.enabled=false ports: - "9200:9200" networks: - elastic kibana: image: docker.elastic.co/kibana/kibana:8.11.3 ports: - "5601:5601" environment: - ELASTICSEARCH_HOSTS=[***] depends_on: - elasticsearch networks: - elastic filebeat: image: docker.elastic.co/beats/filebeat:8.11.3 volumes: - ./filebeat.yml:/usr/share/filebeat/filebeat.yml:ro - /var/log:/var/log:ro - /var/lib/docker/containers:/var/lib/docker/containers:ro # 收集Docker容器日志 - /var/run/docker.sock:/var/run/docker.sock:ro # 获取容器元数据 - filebeat-data:/usr/share/filebeat/data # 持久化状态数据 user: root # 需root权限访问Docker sock及部分日志文件 depends_on: - elasticsearch networks: - elastic networks: elastic: driver: bridge volumes: filebeat-data: # 命名卷,持久化Filebeat状态数据
核心配置项示例(输出至Elasticsearch):
filebeat.inputs: - type: log # 日志输入类型 paths: - /var/log/*.log # 收集/var/log下所有.log文件 - /var/log/nginx/access.log # 收集Nginx访问日志(需额外挂载对应目录) tags: ["server-logs"] # 添加标签,便于后续过滤 fields: # 自定义字段,丰富日志元数据 service: "web-server" output.elasticsearch: hosts: ["elasticsearch:9200"] # Elasticsearch地址(与docker-compose网络一致) index: "filebeat-%{+yyyy.MM.dd}" # 按日期生成索引 setup.kibana: host: "kibana:5601" # Kibana地址,用于导入默认仪表板 setup.dashboards.enabled: true # 自动导入Filebeat默认仪表板
可通过环境变量动态调整配置(需在filebeat.yml中引用):
| 环境变量 | 说明 | 示例值 |
|---|---|---|
ELASTICSEARCH_HOSTS | Elasticsearch服务地址 | [***] |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
INDEX_NAME | 自定义索引名称 | custom-filebeat-index |
在filebeat.yml中引用环境变量示例:
output.elasticsearch: hosts: ["${ELASTICSEARCH_HOSTS}"] index: "${INDEX_NAME}-%{+yyyy.MM.dd}" logging.level: "${LOG_LEVEL:info}" # 默认为info级别
启动前可通过以下命令验证配置文件有效性:
docker run --rm \ -v /path/to/your/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro \ docker.elastic.co/beats/filebeat:8.11.3 \ test config -c /usr/share/filebeat/filebeat.yml
root用户运行(或添加CAP_DAC_READ_SEARCH权限)以访问日志文件与Docker sock--memory=512m --cpus=0.5),防止资源占用过高output.elasticsearch.username与password配置认证信息
免费版仅支持 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