docker - 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 写入别名成功生成。
解决方案
你是如何配置 docker 容器网络的?我的猜测是,localhost
运行 metricbeat 的容器与localhost
你有 elasticsearch 监听的容器不同。尝试localhost
在你的 metricbeat.yml 中替换为host.docker.internal
这篇文章应该可以帮助你:
https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds
推荐阅读
- java - 获取语法错误插入类主体以完成类“转换为二进制”的类声明
- php - 在 php 交互式 shell 中使用 composer 添加的依赖项
- java - 如何检索 Firebase 集合中的最后一个文档。我还想获取文档字段值
- angular - 可观察类型上不存在订阅
- java - 在Java中查找所有给定类型的子对象
- jquery - 如何使用jquery检查滚动条是否到达div
- java - 如何编写用于编组和解组的 Junit 测试用例
- ios - Inout 参数不允许相互别名
- android - 进行网络调用后如何使用 GraphView 绘制图形?
- ios - 在 swift 4.0 中从 firebase 快照字典中获取值时打开一个可选的 nil