使用td-agent向AWS OpenSearch发送数据时遇索引未找到异常
问题分析与解决
核心问题
错误提示里的no such index [:9200]说明td-agent把端口号当成了索引名称,根源是host配置末尾多了斜杠。当host字段带斜杠时,td-agent会错误拼接请求路径,把端口9200当作索引的一部分发送给OpenSearch,导致找不到对应索引。
修复步骤
- 修改
td-agent.conf中的host配置,去掉末尾的斜杠:
<match *log*> @type opensearch host search-tanz-domain-2vbjmk2d4.us-west-2.es.amazonaws.com port 9200 scheme https ssl_verify false user admin password lah_001 index_name test </match>
- 重启td-agent服务:
sudo systemctl restart td-agent
额外验证点
- 确认test索引确实存在:可以通过OpenSearch的API再次验证,比如执行
curl -XGET https://search-tanz-domain-2vbjmk2d4.us-west-2.es.amazonaws.com/_cat/indices?v,确保能看到test索引。 - 检查OpenSearch的访问权限:确认admin用户有写入test索引的权限,避免因权限问题导致的隐性错误。
内容的提问来源于stack exchange,提问作者S Andrew
相关产品推荐
相关产品推荐

