logstash增量将证书库导入到elasticsearch库中

周五下午开始使用logstash将证书库导入到ES库中,也就30G数据量,导的特别慢,原因应该是我用xshell连接的内网服务器,没有把es库进程以及logstash导入的进程放到后台执行,直接在xshell的各个终端执行了,而且logstash的配置文件里头我是有写stdout这种输出信息的……后来发现怎么改变这种导入的很慢,而且不稳定的状态呢,就是把进程放到后台去执行,符号为"&"。示例:./elasticsearch& 。当然人家运行着的时候你直接把xshell终端关了,也会导致这个后台进程结束,我的方法是:多敲入几个空格,等到出现可以输入其他命令的待输入命令行之后,再exit,就不用担心会关闭这个进程啦。

继续说问题,那么情况来了,因为它导的特别慢,所以晚上9点之后我就回去玩了,然后凌晨的时候xshell和服务器的连接断掉了……然后数据没有导完,这就是不让程序在后台跑的弊端!!这几个进程也就断了!!问了刚哥,刚哥说可以增量导入,喵喵喵???

然后我就开始搜咋增量导入呢,原来是这样,只要修改一下你的logstash配置文件就行啦~就是sincedb_path这个东西:

#sincedb_path表示文件读取进度的记录,每行表示一个文件,每行有两个数字,第一个表示文件的inode,第二个表示文件读取到的位置(byteoffset)。默认为$HOME/.sincedb*
sincedb_path => "/opt/logstash-2.3.1/sincedb_path/access_progress"

它要在哪写呢?在这里:

input {
    file {
        path => ["/data/test.log"]
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}
注意! sincedb_path => “/dev/null” 该参数用来指定 sincedb 文件名,但是如果我们设置为 /dev/null这个 Linux 系统上特殊的空洞文件,那么 logstash 每次重启进程的时候,尝试读取 sincedb 内容,都只会读到空白内容,也就会理解成之前没有过运行记录,自然就从初始位置开始读取了!
非常悲剧的一点是呢,我原始的logstash配置文件的sincedb_path就是这个/dev/null,所以…………我只能把index删了重新导入了,这一次我修改了配置文件,把sincedb_path修改到了一个自己写的文件里头,这样就不怕啦~所以我们就实现了增量导入,就算这次没导完,由于sincedb_path记录了你的文件读取进度,所以下次可以从下一条继续导了~
这里推荐一个链接,是logstash配置文件比较全的一个链接http://blog.csdn.net/xfg0218/article/details/52980726





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值