
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Prometheus格式的Elastic Beats内部统计数据导出器,作为https://github.com/trustpilot/beat-exporter%E7%9A%84%E6%9B%BF%E4%BB%A3%E5%AE%9E%E7%8E%B0%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%94%B6%E9%9B%86%E5%92%8C%E6%9A%B4%E9%9C%B2Elastic Beats(如Filebeat、Journalbeat等)的内部运行指标,以便集成到Prometheus监控体系中。
适用于需要监控Elastic Beats运行状态的环境,尤其适合Kubernetes集群中部署的Filebeat、Journalbeat等Beats组件,可集中收集多个Beats实例的性能指标和运行状态。
bashdocker run sepa/beats-exporter -h
usage: beats-exporter [-h] [-p PORT] [-f FILTER] [-l {info,warn,error}] Prometheus exporter for Elastic Beats optional arguments: -h, --help 显示帮助信息并退出 -p PORT, --port PORT 要抓取的Beats HTTP端口(默认:5066),可多次指定以监控多个Beats -f FILTER, --filter FILTER 过滤指标的子字符串(默认:禁用),可多次指定 -l {info,warn,error}, --log {info,warn,error} 日志级别(默认:info)
通过-f参数可筛选包含指定子字符串的指标,减少暴露的指标数量:
bash./beats-exporter.py -f=error -f=version
访问localhost:8080/metrics将返回过滤后的指标:
filebeat_info{version="7.4.0"} 1 filebeat_libbeat_output{read="errors"} 0 filebeat_libbeat_output{write="errors"} 0
Kubernetes部署示例文件为kubernetes-example.yml,采用DaemonSet方式在每个节点部署包含3个容器的Pod:Filebeat(读取Docker容器日志)、Journalbeat(读取systemd-journal)和beats-exporter(导出前两者的指标)。
启用Beats内部指标暴露
在Beats配置中启用HTTP指标暴露:
yaml# 指标可通过 http://localhost:5066/stats 访问 http: enabled: true port: 5066
覆盖Journalbeat端口
由于Filebeat和Journalbeat使用同一配置文件(端口5066),需覆盖Journalbeat的端口:
yaml- name: journalbeat image: docker.elastic.co/beats/journalbeat:7.4.0 args: - -c - /etc/beats/beats.yml - -e - -E - http.port=5067
配置beats-exporter抓取端口
配置exporter从两个端口抓取指标:
yaml- name: exporter image: sepa/beats-exporter args: - -p=5066 - -p=5067
配置Prometheus自动发现
添加注解使Prometheus自动发现exporter:
yamlannotations: prometheus.io/scrape: "true" prometheus.io/port: "8080"
部署后可通过以下命令验证指标:
bashkubectl -n kube-system exec beats-9chbm -- curl -s localhost:8080/metrics | grep info
预期输出:
Defaulting container name to filebeat. Use 'kubectl describe pod/beats-9chbm -n kube-system' to see all of the containers in this pod. filebeat_info{version="7.4.0"} 1 filebeat_beat_info_uptime_ms 5268342 journalbeat_info{version="7.4.0"} 1 journalbeat_beat_info_uptime_ms 5268038
yaml- alert: FileBeatQueue expr: filebeat_libbeat_pipeline{events="active"} > 100 and delta(filebeat_libbeat_pipeline{events="active"}[15m]) > 0 for: 15m labels: severity: warning instance: '{{$labels.kubernetes_pod_node_name}}' annotations: description: Filebeat队列当前值为{{printf "%.0f" $value}}且持续增长
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务