ARTIFACTORY:如何解决filebeat日志中“别名指向多个索引而没有一个被指定为写”的错误
作为在仪表板中启用趋势我们需要启用Filebeat,它将日志和度量数据发送到Elasticsearch。如果你在Artifactory filebeat.log文件中观察“别名指向多个索引,而没有一个被指定为写”,由于多个别名“active_metrics_data”和弹性搜索不知道要写哪个索引,这将发生。
完整的错误将类似于下面的错误:20121-08-13 t06:55:31 .689 z ERROR [elasticsearch] elasticsearch/client。go:224执行批量索引操作失败:400 Bad Request: {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"没有为别名[active_metrics_data]定义写索引。"可以使用is_write_index=false显式禁用写索引,或者别名指向多个索引而没有指定一个写索引}],"type":"illegal_argument_exception","reason":"没有为别名[active_metrics_data]定义写索引。可以使用is_write_index=false显式禁用写索引,或者别名指向多个索引而不指定一个为写索引"},"status":400}
进一步删除其他重复索引的别名将解决这个问题,只留下一个。请参考以下步骤:
执行以下命令验证重复的active_metrics_data别名:旋度-uadminhttp://localhost:8082/elasticsearch/_cat/aliases| grep "active_metrics_data "
从上面的API输出,如果我们看到active_metrics_data的多个重复别名,我们必须使用下面的命令设置LATEST别名:curl -X POST -uadminhttp://localhost:8082/elasticsearch/_aliases——header 'Content-Type:application/json' -d '{"actions":[{"add":{"index":"active_metrics_data_2021.08.13-3","alias":"active_metrics_data","is_write_index":true}}]}'然后使用下面的删除API删除重复的:curl -X DELETE -uadminhttp://localhost:8082/elasticsearch/active_metrics_data_2021.08.12-5注意:请谨慎添加最新的别名和删除重复的别名。
