首页 > 数据库 >logstash同步mongodb到es

logstash同步mongodb到es

时间:2023-11-03 10:35:38浏览次数:38  
标签:04 mongodb input Nov root logstash es

环境:
OS:Centos 7

说明:

logstash本身不自带logstash-input-mongodb插件,需要自行安装。


1.安装编译工具
yum install git
yum install gem

 

2.源码编译

[root@localhost]#git clone https://github.com/phutchins/logstash-input-mongodb.git
[root@localhost]#cd logstash-input-mongodb
[root@localhost logstash-input-mongodb]# gem build *.gemspec
  Successfully built RubyGem
  Name: logstash-input-mongodb
  Version: 0.4.1
  File: logstash-input-mongodb-0.4.1.gem

 

这个时候会生成logstash-input-mongodb-0.4.1.gem文件

[root@localhost logstash-input-mongodb]# ls -al
total 40
drwxr-xr-x. 6 root root   234 Nov  2 04:13 .
drwxr-xr-x. 3 root root    36 Nov  2 04:12 ..
-rw-r--r--. 1 root root   720 Nov  2 04:12 DEVELOPER.md
-rw-r--r--. 1 root root    38 Nov  2 04:12 Gemfile
-rw-r--r--. 1 root root  2335 Nov  2 04:12 Gemfile.lock
drwxr-xr-x. 8 root root   163 Nov  2 04:12 .git
drwxr-xr-x. 3 root root    22 Nov  2 04:12 lib
-rw-r--r--. 1 root root   594 Nov  2 04:12 LICENSE
-rw-r--r--. 1 root root 11776 Nov  2 04:13 logstash-input-mongodb-0.4.1.gem
-rw-r--r--. 1 root root  1255 Nov  2 04:12 logstash-input-mongodb.gemspec
-rw-r--r--. 1 root root    33 Nov  2 04:12 Rakefile
-rw-r--r--. 1 root root  3453 Nov  2 04:12 README.md
drwxr-xr-x. 3 root root    20 Nov  2 04:12 spec
drwxr-xr-x. 2 root root    31 Nov  2 04:12 test

 

3.查看当前安装的插件
[root@localhost bin]# cd /opt/logstash-6.8.5/bin
[root@localhost bin]#./logstash-plugin list

 

4.安装
[root@localhost bin]# cd /opt/logstash-6.8.5/bin
[root@localhost bin]# ./logstash-plugin install /soft/mongo2es/logstash-input-mongodb/logstash-input-mongodb-0.4.1.gem
提示报错:
ERROR: Something went wrong when installing /soft/mongo2es/logstash-input-mongodb/logstash-input-mongodb-0.4.1.gem, message: execution expired

ERROR: Something went wrong when installing /soft/mongo2es/logstash-input-mongodb/logstash-input-mongodb-0.4.1.gem, message: Socket closed

解决办法:
重新运行,该命令要执行很久,至少一个小时

 

 

5.logstash同步配置文件

[root@localhost config]# more sync_mongo_es.conf 
input {
    mongodb {
        codec => "json"
        parse_method => "simple"
        uri => 'mongodb://192.168.1.108:29001/db_pushmsg'
        placeholder_db_dir => '/opt/logstash-6.8.5/db_dir'
        placeholder_db_name =>'app_message_all.db'
        collection => 'app_message_all'
    }
}
# 该部分被注释,表示filter是可选的
filter {
  mutate {
    remove_field => ["host","@version","logdate","log_entry","@timestamp","mongo_id"]
  }
  mutate {
    rename => { "_id" => "uid" }
  }
}


output {
    elasticsearch {
        hosts => ["http://192.168.1.109:19200"]
        user => "elastic"
        password => "elastic123"
        index => "index_app_message_all"
        ##document_type => "%{[@metadata][_type]}"
        ##document_id => "%{[@metadata][_id]}"
    }
}

 

问题:

1.同步会丢失第一条记录,因为增量同步是通过id>同步的。

 2.不需要明确些调度关键字schedule => "*/5 * * * * *",默认就是增量同步的。

标签:04,mongodb,input,Nov,root,logstash,es
From: https://www.cnblogs.com/hxlasky/p/17807048.html

相关文章

  • 定制unittest测试报告
    基于HTMLTestRunner的定制版本非常多,我这几天手动定制了一款,除了有不错的颜值,还提供了一些非常实用的功能。安装github:https://github.com/SeldomQA/HTMLTestRunner>gitclonehttps://github.com/SeldomQA/HTMLTestRunner>cdHTMLTestRunner/>pythonsetup.pyinstall基本使......
  • Playwright VS Selenium VS Puppeteer VS Cypress
    参考:https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/这四款自动化测试框架在我们的公众号都有介绍。上周介绍了新出Playwright,那这款工具有什么优点,是否值得我们投入精力学习。关键对比接下来,我会通过一些维度来进行对比。支持语言Playwright:......
  • js中的includes用法
    includes可用于查找数组和字符串是否包含某元素,包含返回true,否则返回false1、数组letarr=[1,2,3,4,5]arr.includes[4]//truearr.includes[9]//false2、字符串varstr="Helloworld"str.includes("world")//truestr.includes("wo")//truestr.include......
  • 采坑-阿里云 kex_exchange_identification: read: Connection reset by peer
    自己买了台阿里的测试服务器,打开终端,输入命令 sshroot@xxx 等待输入密码。**报错:kex_exchange_identification:read:Connectionresetbypeer******昨天刚用的,今天咋回事,然后试了试公司的服务器是可以的。然后就开始百度找资料,找了一圈,大部分都是让修改配置文件。但是换了......
  • AtCoder Beginner Contest(abc) 314
    B-Roulette难度:⭐题目大意有一个猜数字的游戏,有n个人参加,每人都猜了若干个数;最后给出答案数字;在所有猜中数字的人中输出猜数数量最少的人的编号;(可能不止一个);解题思路数据不大,暴力即可;神秘代码#include<bits/stdc++.h>#defineintlonglong#def......
  • webpack4_CodeSplit——optimization.splitchunks
    目录代码文档树webpack.config.js通过修改entry来达到分割打包文件的目的通过optimization.splitChunks来分离大文件以及重复文件修改entry为单文件,在test.js文件中引入jquery配置optimization.splitchunks多入口情况下的多份大文件重复引入单入口情况下的文件单独打包参考博客代......
  • A. Copil Copac Draws Trees
    A.CopilCopacDrawsTrees题目大意:给出一个树边序列,要求你从1号节点建树,对于每条边只有两个端点中有一个绘制了才可以绘制此边思路:这题思路不难,但以前写图太少,遍历被卡,给每个边按序列编号,dfs如果该边的编号大于上条边\(ans++\)code:intn;vector<pii>a[N];intans[N]=......
  • myfileserver
    1.nmap扫描网段找出靶机,靶机ip:192.168.224.133 2.namp-A192.168.224.133全面扫描靶机开启的端口有21,22,80,111,445,2049,2121。其中21对应的ftp服务允许匿名登录,22对应的ssh连接是以ssh-key方式验证的,2121对应ftp也可以匿名登录尝试顺序:21,2121,80,445,22。 3.进入ftp权限太......
  • mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore
    系列导航一、linux单机版mongo安装(带密码验证)二、mongo集群搭建三、java连接mongo数据库四、java对mongo数据库增删改查操作五、mongo备份篇mongoexport、mongoimport以及mongodump、mongorestore如下是总结mongo数据库在执行备份和恢复中一些常用的语句。备份方面比较:1......
  • 深入理解Cookie与Session:实现用户跟踪和数据存储
    1.会话跟踪技术介绍会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。一次会话中可以包含多次请求和响应.HTTP协议是无状态协议,每次同一浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现同一会话内数据共享思考:下图......