首页 > 解决方案 > Elasticsearch - 当我在 Mac 上使用 Docker 启动 Metricbeat 时,没有创建新索引

问题描述

我按照本指南更改metricbeat.yml如下,以便让 Elasticsearch 每天创建新索引,例如metricbeat-7.5.0-2020.02.02-000001

#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]
  ilm.enabled: true
  ilm.pattern: "{now/M{yyyy.MM}}-000001"

下面是控制台输出:

[index-management] idxmgmt/std.go:182 在启用 ILM 时将 output.elasticsearch.index 设置为“metricbeat-7.5.0”。
elasticsearch/client.go:171 Elasticsearch url:https
://YYY.azure.elastic-cloud.com:443 [publisher] pipeline/module.go:97 节拍名称:XXX.local
instance/beat.go:429 metricbeat start跑步。
[监控] log/log.go:118 开始每 30 秒记录一次指标
cfgfile/reload.go:171 配置重新加载器已启动
cfgfile/reload.go:226 配置文件加载完成。
add_cloud_metadata/add_cloud_metadata.go:89 add_cloud_metadata:未检测到托管服务提供商类型。
pipeline/output.go:95 连接回退(elasticsearch( https://YYY.azure.elastic-cloud.com:443 ))
elasticsearch/client.go:753 尝试连接到 Elasticsearch 版本 7.5.0
[index-management] idxmgmt/std.go:256 自动 ILM 启用成功。
[index-management.ilm] ilm/std.go:138 不生成 ilm 策略:exists=true, overwrite=false
[index-management] idxmgmt/std.go:269 ILM 策略已成功加载。
[index-management] idxmgmt/std.go:408 将 setup.template.name 设置为“{metricbeat-7.5.0 {now/d}-000001}”,因为 ILM 已启用。
[index-management] idxmgmt/std.go:413 将 setup.template.pattern 设置为 'metricbeat-7.5.0-*',因为 ILM 已启用。
[index-management] idxmgmt/std.go:447 将模板中的 settings.index.lifecycle.rollover_alias 设置为 {metricbeat-7.5.0 {now/d}-000001},因为 ILM 已启用。
[index-management] idxmgmt/std.go:451 将模板中的 settings.index.lifecycle.name 设置为 {metricbeat-7.5.0 {"policy":{"phases":{"hot":{"actions":{ "rollover":{"max_age":"30d","max_size":"50gb"}}}}}}} 因为 ILM 已启用。
template/load.go:89 模板 metricbeat-7.5.0 已经存在,不会被覆盖。
[索引管理] idxmgmt/std.go:293 加载索引模板。
[index-management] idxmgmt/std.go:304 写入别名成功生成。

标签: dockerelasticsearchindexingmetricbeat

解决方案


你是如何配置 docker 容器网络的?我的猜测是,localhost运行 metricbeat 的容器与localhost你有 elasticsearch 监听的容器不同。尝试localhost在你的 metricbeat.yml 中替换为host.docker.internal

这篇文章应该可以帮助你:

https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds


推荐阅读