logstash数据采集差8小时问题及解决(原创)

作者:star

  1. 软件版本
软件名称 版本号
elasticsearch 2.1.1
logstash 2.3.1
  1. 问题解决办法
    解决方案1:
input {
    jdbc {
      jdbc_connection_string => "jdbc:oracle:thin:@10.35.4.97:1521:OMS1"
      jdbc_driver_library => "/home/yarn/logstash-2.3.1/lib/ojdbc14.jar"
      jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
      jdbc_user => "ypt_jk"
      jdbc_password => "ypt_jk123"
      schedule => "11 18 25 11 *"
      statement => "SELECT '省调' dkflag,id, '' as loglevel, CONTENT AS datastr,'oms' AS sources,'自动化' AS type  ,'人工录入' as generatetype,'' AS host, to_char(RECORDDATE,'YYYY-MM-DD HH24:MI:SS') AS modifydate,RECORDUSER as RECORDUSER,recordyy AS remark FROM AUTO.T_AUTORUNRECORD"
    }
}
filter {
    date {
        match => [ "modifydate", "yyyy-MM-dd HH:mm:ss'GMT+8'"]
        target => "modifydate"
    }
}

output {
    elasticsearch {
        document_id => "%{id}"
        hosts => ["10.35.8.23:9200"]
        index => "test_log"
    }
    stdout {
        codec => json_lines
    }
}

解决方案2:

input {
    jdbc {
      jdbc_connection_string => "jdbc:oracle:thin:@10.35.4.97:1521:OMS1"
      jdbc_driver_library => "/home/yarn/logstash-2.3.1/lib/ojdbc14.jar"
      jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
      jdbc_user => "ypt_jk"
      jdbc_password => "ypt_jk123"
      schedule => "54 10 25 11 *"
      statement => "SELECT '省调' dkflag,'' as loglevel,CONTENT   AS datastr,'oms' AS sources,'监控' AS type,'系统生成' as generatetype,'' AS host,to_char(OPERATETIME,'YYYY-MM-DD HH24:MI:SS') AS modifydate,RECORDPERSON as RECORDUSER,'' AS remark FROM DISPATCH.T_CONTROL_LOG_CONTENT"
    }
}
filter {
    date {
        match => [ "modifydate", "yyyy-MM-dd HH:mm:ss"]
        target => "modifydate"
        locale => "en"
        timezone => "+00:00"
        }

}

output {
    elasticsearch {
        hosts => ["10.35.8.23:9200"]
        index => "log_t_control_log_content"
        document_type => "oms_log"
    }
    stdout {
        codec => json_lines
    }
}

经测试:两种方案都可以很好的解决此问题

方案三:修改logstash源码

vi logstash-2.3.1\vendor\bundle\jruby\1.9\gems\logstash-core-event-2.3.1-java\lib\logstash\timestamp.rb

UTC = org.joda.time.DateTimeZone.forID(“UTC”)  
修改为:  
UTC = org.joda.time.DateTimeZone.getDefault()  

相关连接:
http://www.oschina.net/question/248849_156867
https://github.com/elastic/logstash/pull/1784
http://blog.csdn.net/shan1369678/article/details/51375537

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 13,904评论 12 197
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,219评论 25 709
  • 以前的一些收藏,后续再整理格式 如何使用git管理代码版本http://www.cocoachina.com/io...
    安好99阅读 5,083评论 0 4
  • 获取相册数据 http://kayosite.com/ios-development-and-detail-of-...
    0271fb6f797c阅读 5,613评论 0 1
  • 今天妈妈的朋友从宁夏给妈妈邮来啦一瓶黑色的小豆豆。我问妈妈这个是什么呀?妈妈说这是“黑枸杞”。我见枸杞都是红色的,...
    段智耀阅读 1,769评论 0 0

友情链接更多精彩内容