【发布时间】:2017-04-25 04:56:20
【问题描述】:
我正在使用 ELK 堆栈,其中我在 logstash 中使用了 jdbc 输入
我创建了 2 个索引
- 用户
- 员工
两个索引都有一个相同的列 objid
Logstash 配置文件
input {
jdbc {
jdbc_driver_library => "/opt/application/cmt/ELK/logstash-5.3.0/ojdbc14.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_connection_string => "jdbc:oracle:thin:@xx.xxx.xx.xx:xxxx:abc"
jdbc_user => "xxxx"
jdbc_password => "xxxxx"
schedule => "*/2 * * * *"
statement => "select * from table_employee"
}
}
output {
elasticsearch {
index => "employees"
document_type => "employee"
document_id => "%{objid}"
hosts => "xx.xxx.xxx.xx:9200"
}
}
input {
jdbc {
jdbc_driver_library => "/opt/application/cmt/ELK/logstash-5.3.0/ojdbc14.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_connection_string => "jdbc:oracle:thin:@xx.xxx.xx.xx:xxxx:abc"
jdbc_user => "xx"
jdbc_password => "xxxxxxx"
schedule => "*/2 * * * *"
statement => "select A.OBJID,A.LOGIN_NAME,A.STATUS,A.USER_ACCESS2PRIVCLASS,A.USER_DEFAULT2WIPBIN,A.SUPVR_DEFAULT2MONITOR,A.USER2RC_CONFIG,A.OFFLINE2PRIVCLASS,A.WIRELESS_EMAIL from table_user a where A.STATUS=1"
}
}
output {
elasticsearch {
index => "users"
document_type => "user"
document_id => "%{objid}%{login_name}"
hosts => "xx.xxx.xxx.xx:9200"
}
}
第一个输入 jdbc 'employees' 包含 26935 记录
第二个输入 jdbc 'users' 包含 10619 记录
通用记录:9635(objid 匹配)
第一个问题是当我在 kibana 中创建一个索引模式为 '
用户
显示37554 的计数,为什么?它应该只显示10619
第二个问题:当我将索引模式创建为 '
员工
显示27919 的计数,为什么?它应该只显示26935
我还为索引“用户”%{objid}%{login_name}创建了不同的文档 ID
【问题讨论】:
标签: logstash kibana elastic-stack elasticsearch-5 logstash-jdbc