ElasticSearch6.5.4六ELK和Logstash同步数据

ElasticSearch6.5.4<一>单机部署以及简单尝试

ElasticSearch6.5.4<二>几个重要概念以及常用搜索

ElasticSearch6.5.4<三>中文以及拼音的操作

ElasticSearch6.5.4<四>java使用ES并实战搜索

ElasticSearch6.5.4<五>集群操作

ElasticSearch6.5.4<六>ELK和Logstash同步数据

ElasticSearch6.5.4<七>ES分布式原理以及工作原理

ElasticSearch6.5.4<八>ES常见问题

ELK简介 

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

ElasticSearch6.5.4六ELK和Logstash同步数据_第1张图片

 Logstash API

https://www.elastic.co/guide/en/logstash/6.5/index.html

ElasticSearch6.5.4六ELK和Logstash同步数据_第2张图片

Elasticsearch API

https://www.elastic.co/guide/en/elasticsearch/reference/6.5/index.html

ElasticSearch6.5.4六ELK和Logstash同步数据_第3张图片

Kibana API

https://www.elastic.co/guide/en/kibana/6.5/index.html

ElasticSearch6.5.4六ELK和Logstash同步数据_第4张图片

 

ELK使用

这里用一个案例讲解下ELK,通过Logstash收集mysql数据,然后同步到ElasticSearch然后用Kibana展示,(着重讲解一个下Logstash,因为ElasticSearch和Kibana前面都有讲解)

准备

下载地址

https://www.elastic.co/cn/downloads/past-releases/logstash-6-5-4

解压

unzip logstash-6.5.4.zip

logstash工作流程

ElasticSearch6.5.4六ELK和Logstash同步数据_第5张图片

Input:logstash支持很多种输入方式,比如beats、log4j、udp、tcp、jdbc、redis、kafka等等

Filter:对Input进行过滤,比如对字段的添加、修改

Output:logstash也支持很多种输出方式,比如es

配置mysql.conf

网上找一个mysql-connector-java-5.1.38.jar

ElasticSearch6.5.4六ELK和Logstash同步数据_第6张图片

 


input {
    stdin {
    }

  jdbc {
      # 数据库
      jdbc_connection_string => "jdbc:mysql://xxx/xxx"
      # 用户名密码
      jdbc_user => "xxx"
      jdbc_password => "xxx"
      # jar包的位置
      jdbc_driver_library => "/elastic/logstash/config-mysql/mysql-connector-java-5.1.38.jar"
      # mysql的Driver
      jdbc_driver_class => "com.mysql.jdbc.Driver"
    #是否分页,以及分页大小
      jdbc_paging_enabled => "false"
      #jdbc_page_size => "50000"
      statement => "select * from xxx"
    #执行时间
      schedule => "* * * * *"
    #字段
    add_field => { "[@metadata][type]" => "content" } 
    }
}

filter {

  mutate {
      remove_field => ["@timestamp","@version"]
    }
}

output {
   if [@metadata][type] == "content"{
     elasticsearch {
        hosts => "127.0.0.1:9200"
        #index名
        index => "wechat"
        #type
        document_type => "content"
        #id
        document_id => "%{id}"
      }
  }
}

启动logstash并指定mysql.conf文件

/elastic/logstash/logstash-6.5.4/bin/logstash -f /elastic/logstash/config-mysql/mysql.conf

ps:在启动logstash之前确保启动了es和kibana

 

总结

ELK每部分的api都比较多,这里只能通过一个例子来说明一下,更多的功能还需要自己去研究

 

获取最新动态http://www.rancho.io

你可能感兴趣的:(elastic,es,elasticsearch,es同步Mysql数据,elk使用)