FusionInsight Elasticsearch对接Logstash

举报
晋红轻 发表于 2020/09/25 17:31:43 2020/09/25
【摘要】 Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据存储到Elasticsearch,如日志搜索场景等。本文介绍如何对接FusionInsight Elasticsearch。

操作场景

Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据存储到Elasticsearch,如日志搜索场景等。

前提条件

已下载安装Logstash。

  1. 下载logstash安装包“logstash-oss-6.7.1.tar.gz”并上传至待安装节点,例如“/opt”目录下。

    开源社区下载地址:https://www.elastic.co/cn/downloads/past-releases/logstash-oss-6-7-1

  2. 解压安装包,并进入对应解压目录。

    cd /opt

    tar -xvf logstash-oss-6.7.1.tar.gz

    cd logstash-6.7.1/


    该软件包在Linux ARM环境下运行时会报错:load error : ffi/ffi,规避方式如下:

    1. 在“/opt/logstash-6.7.1/logstash-core/lib/jars”目录下获取jar包:“jruby-complete-9.2.6.0.jar” 。

      “jruby-complete-9.2.7.0.jar”、“jruby-complete-9.2.8.0.jar”同样存在此bug。

    2. 拷贝一份该jar包到Windows环境下,用解压缩软件打开该文件,进入目录:\META-INF\jruby.home\lib\ruby\stdlib\ffi\platform下面,找到对应操作系统的目录,如\META-INF\jruby.home\lib\ruby\stdlib\ffi\platform\aarch64-linux。(操作系统信息可使用uname -a命令查看)

    3. 进入到该目录下,只有types.conf文件,没有platform.conf文件。拷贝一份types.conf文件,并重命名为platform.conf。

    4. 将修改后的jar包重新上传至目录“/opt/logstash-6.7.1/logstash-core/lib/jars”,替换原jar包,然后重新运行Logstash。

操作步骤

利用Logstash往Elasticsearch写入数据。

  1. 创建数据源文件“log.log”,例如将文件放置于“/opt/log/”目录下。

    2016-07-11T23:56:42.000+00:00 INFO this is a test! 127.0.0.12016-07-11T23:56:42.000+00:00 INFO this is a test! 127.0.0.222
  2. 创建配置文件“safe2Es.conf”,例如将文件放置于“/opt/logstash-6.7.1/”目录下。

    input{file{path => "/opt/log/log.log"}}filter{grok{match=>{ "message" =>"%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:log-level} %{DATA:message} %{IP:address}" }}}output{elasticsearch{hosts =>"ip:httpport"index => "filtertest"user => "username"password => "password"ssl => truessl_certificate_verification => false}}


    关键配置参数说明:


    • hosts:需要连接的EsNode实例的IP地址和端口。

    • index:索引名称。

    • user:具有Elasticsearch读写权限的用户。

    • password:对应用户的密码。

    • ssl:配置为true,开启ssl加密。

    • ssl_certificate_verification:配置为false,Logstash不校验Elasticsearch服务端证书。

    • input:数据源。

    • filter:数据过滤处理方式。

    • output:数据输出方式。

    • 普通模式下,无需配置user、password、ssl、ssl_certificate_verification。

  3. 执行如下命令,运行Logstash。

    cd /opt/logstash-6.7.1/

    bin/logstash -f safe2Es.conf


    • 启动后,往“log.log”里面添加数据(Logstash默认是增量模式,监控到数据源有变化后,开始往Elasticsearch里面写数据)。

    • 如需后台运行,可执行如下命令运行Logstash:

      nohup bin/logstash -f safe2Es.conf &

  4. 查询验证写入的Elasticsearch索引数据。

    curl -XGET --tlsv1.2 --negotiate -k  -u : "https://ip:httpport/filtertest/_search?pretty"



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。