本文介绍使用阿里云Logstash的常见问题。
Logstash支持将数据源配置为DRDS吗?
支持。可参考RDS MySQL数据迁移方案进行配置,具体操作请参见通过Logstash将RDS MySQL数据同步至Elasticsearch。
如何将公网数据导入或导出到Logstash中?
Logstash实例部署在专有网络VPC(Virtual Private Cloud)下,可以通过配置NAT网关实现与公网的连通。具体操作,请参见配置NAT公网数据传输。
使用自建Kafka作为Logstash的输入或者输出时,出现错误日志,如何处理?
常见错误日志如下:
No entry found for connection
原因:Logstash节点无法解析到Kafka服务的hostname对应的IP地址。
解决方法:在
server.properties
中添加配置信息,以Kafka服务运行在10.10.10.10的9092端口为例,配置信息如下。listeners=PLAINTEXT://10.10.10.10:9092 advertised.listeners=PLAINTEXT://10.10.10.10:9092
重要在配置信息时,请将
10.10.10.10:9092
替换为您Kafka集群的IP地址和端口号。推荐您使用阿里云Kafka服务,并且保证Logstash所在节点的IP地址在Kafka的访问白名单内。
could not be established. Broker may not be available
原因:Kafka服务不存在或者无法连接。
解决方法:检查Kafka服务是否正常运行,或者Logstash管道配置中的
bootstrap_servers
配置是否正确。
阿里云Logstash的JDBC支持MySQL数据库吗?
支持。需要上传mysql-connector-java驱动文件,具体操作请参见配置扩展文件。
Logstash支持节点监控吗?
支持。可通过配置X-Pack,关联阿里云Elasticsearch实例后,在Kibana中监控Logstash节点。具体操作,请参见配置X-Pack监控。
Logstash支持上传脚本文件吗?
不支持。目前,Logstash只支持通过Config配置文件配置管道,实现数据传输。详细信息,请参见通过配置文件管理管道。
Logstash支持配置HTTP采集协议吗?
支持。Logstash支持通过HTTP或HTTPS接收单行或多行事件,详细信息请参见Http input plugin。
阿里云Logstash默认不提供公网访问能力,如果您需要采集公网HTTP请求,可通过配置NAT网关实现。具体操作,请参见配置NAT公网数据传输。
如何通过Logstash,将日志服务数据同步到Elasticsearch上?
您可以通过logstash-input-sls插件实现,具体操作请参见logstash-input-sls插件使用说明。
Logstash能够实时同步数据吗?
Logstash是准实时同步工具。只要您不停止管道任务,且源端有数据,Logstash就会一直向目标端写入数据。
通过logstash同步数据时报错 "[routing] is missing for join field [joinField]"
, 是什么原因?
包含子文档的数据路由值是强制性的,父文档和子文档必须保持写入同一分片。建议设置目标端索引主分片为1,同时管道中增加参数routing =>"0"
。
管道创建后,进程卡住了,实例变更进度不变,如何处理?
查看实例的主日志是否有报错,根据报错判断原因,具体操作请参见查询日志。常见的原因及解决方法如下。
原因 | 解决方法 |
管道配置错误。 | 中断变更,等到实例处于变更中断状态后,修改管道配置,触发重启恢复。具体操作,请参见查看实例任务进度详情。 |
集群磁盘使用率过高。 | 升级实例规格。具体操作,请参见升配集群。完成后,刷新实例,观察变更进度。 |
output为elasticsearch时,没有开启Elasticsearch实例的自动创建索引功能。 | 开启Elasticsearch实例的自动创建索引功能。具体操作,请参见配置YML参数。完成后,刷新实例,观察变更进度。 |
input为beats时,port没有使用8000~9000的端口。 | 中断变更,等到实例处于变更中断状态后,在管道配置中,修改port为8000~9000的端口,触发重启恢复。 |
源端或目标端都使用了外网地址。 | 选择以下任意一种方式处理:
|
管道配置中包含了file_extend,但没有安装logstash-output-file_extend插件。 | 选择以下任意一种方式处理:
|
Logstash私网地址是否能ping通?
Logstash私网地址默认禁止ping,可以使用telnet测试。
Logstash在两个Elasticsearch之间同步数据,如何保证mapping一致?
阿里云Elasticsearch为了保证用户操作数据的安全性,默认将自动创建索引配置设置为不允许。阿里云Logstash在传输数据的时候,使用提交数据的方式创建索引,而不是Create index API自动创建索引的方式。所以在使用阿里云Logstash上传数据之前,需要先把集群的自动创建索引设置为允许,或提前创建好索引和mapping。
阿里云Logstash支持rubydebug模式吗?
不支持。阿里云Logstash提供logstash-output-file_extend插件来打印调试日志,不推荐使用stdout,并且没提供相关的接口,因此不支持rubydebug等模式。