elasticsearch,logstash,Amazon Web Services,elasticsearch,Logstash" /> elasticsearch,logstash,Amazon Web Services,elasticsearch,Logstash" />

Amazon web services logstash和elasticsearch缺少数据

Amazon web services logstash和elasticsearch缺少数据,amazon-web-services,elasticsearch,logstash,Amazon Web Services,elasticsearch,Logstash,我有这个logstash配置文件,查询返回10547,但在elasticsearch中只看到10500。 数据越大,损失越明显 为什么? 输入{ jdbc{ Postgres jdbc到数据库的连接字符串mydb jdbc_连接_字符串=>jdbc:mysql://outsystemsdemomysql.cxxhlwetgta3.us-east-1.rds.amazonaws.com:3306/outsystems1 我们希望执行语句的用户是 jdbc_用户=>xxxxx jdbc_密码=>xx

我有这个logstash配置文件,查询返回10547,但在elasticsearch中只看到10500。 数据越大,损失越明显

为什么?

输入{ jdbc{ Postgres jdbc到数据库的连接字符串mydb jdbc_连接_字符串=>jdbc:mysql://outsystemsdemomysql.cxxhlwetgta3.us-east-1.rds.amazonaws.com:3306/outsystems1 我们希望执行语句的用户是 jdbc_用户=>xxxxx jdbc_密码=>xxxxx 下载的jdbc驱动程序的路径 jdbc_驱动程序_库=>mysql-connector-java-5.1.40-bin.jar Postgresql的驱动程序类的名称 jdbc_驱动程序_类=>com.mysql.jdbc.driver 我们的疑问 语句=>选择OSUSR\u QP0\u CONTACT.ID, 当OSUSR_QP0_CONTACT.NAME=然后为“未知”时的情况,否则OSUSR_QP0_CONTACT.NAME结束名称, OSUSR_QP0_联系人。标题,OSUSR_QP0_联系人。电话,OSUSR_QP0_联系人。地址,OSUSR_QP0_联系人。电子邮件,OSUSR_QP0_ORGANIZATIONTYPE.AKA OrgType 来自OSUSR\u QP0\u联系人 在OSUSR_qp0_联系人上左键加入OSUSR_qp0_组织。组织ID=OSUSR_qp0_组织ID OSUSR_QP0_组织上的左联接OSUSR_QP0_组织类型。类型=OSUSR_QP0_组织类型.ID 其中OSUSR_QP0_CONTACT.ARCHIVED=0 } } 输出{ 亚马逊{ hosts=>[search-prochamps-nzv5olnw2mloxwiqd7s3o557we.us-east-1.es.amazonaws.com] 地区=>us-east-1 如果配置了实例配置文件,aws\u访问\u密钥\u id、aws\u机密\u访问\u密钥是可选的 aws\u访问\u密钥\u id=>xxxxx aws\u密码\u访问\u密钥=>xxxx 索引=>crm 文档类型=>联系人 文档_id=>%{id} } } 尝试一些调试:

在logstash中使用stdout{}输出,查看它处理了多少文档。 检查logstash和elasticsearch日志,查看是否报告了任何错误,例如映射中的类型不匹配将导致记录丢失。
为了调试这类问题,我使用了两种不同的解决方案:1。在调试模式下使用logstash,即使不总是清楚失败的请求是什么。2.使用本地elasticsearch作为日志存储的另一个输出,以查看日志中的故障。如何在调试模式下使用日志存储?另一件奇怪的事情是,如果我添加了代码stdout{codec=>rubydebug},那么所有数据都是postedI的,在启动logstash/opt/logstash/bin/logstash-debug时使用-debug选项