es-kibana-logstash
kibana
[官网]https://www.elastic.co/guide/en/logstash/index.html
简介
一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现
安装使用流程
-
下载
- 根据elasticsearch下载对应的版本
- [地址]https://www.elastic.co/downloads/kibana
-
配置
-
取消config/kibana.yml中elasticsearch.hosts节点的注释,并修改为elasticsearch对应的地址
elasticsearch.hosts: ["http://localhost:9200"]
-
-
启动
./bin/kibana
- 启动成功后访问:http://localhost:5601/
-
进入
Dev Tools
操作elasticsearch
logstash
[官网]https://www.elastic.co/guide/en/logstash/index.html
简介
Logstash是具有实时流水线功能的开源数据收集引擎。Logstash可以动态统一来自不同来源的数据,并将数据规范化为您选择的目标。清除所有数据并使其民主化,以用于各种高级下游分析和可视化用例
安装
- 下载
- 根据elasticsearch下载对应的版本
- [地址]https://www.elastic.co/downloads/logstash
- 将软件包解压即可
使用
本文结合oracle,将oracle中的数据导入到es中
-
新建索引
PUT /comp { "settings": { "index": { "number_of_shards" : "5", "number_of_replicas" : "1" } }, "mappings": { "properties": { "arch_no": { "type": "keyword" }, "bre_code": { "type": "keyword" }, "company_name": { "type": "text", "analyzer": "ik_max_word" }, "data_flag": { "type": "keyword" }, "data_update": { "type": "date" }, "entname_old": { "type": "text", "analyzer": "ik_max_word" }, "esdate": { "type": "date" }, "frname": { "type": "completion" }, "m_id": { "type": "keyword" }, "org_code": { "type": "keyword" }, "regcap": { "type": "keyword" }, "usc_code": { "type": "keyword" } } }, "aliases": { "comp_lastes": {} } }
-
配置文件-jdbc_oracle.conf
[input 配置参考]https://www.elastic.co/guide/en/logstash/current/input-plugins.html
[output 配置参考]https://www.elastic.co/guide/en/logstash/current/output-plugins.html
[filter 配置参考]https://www.elastic.co/guide/en/logstash/6.4/filter-plugins.htmlinput { jdbc { # jdbc sql server 驱动,各个数据库都有对应的驱动,需自己下载 jdbc_driver_library => "/home/es/software/logstash-7.2.0/ojdbc14.jar" #jdbc class 不同数据库有不同的 class 配置 jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver" #配置数据库连接 ip 和端口,以及数据库 jdbc_connection_string => "jdbc:oracle:thin:@192.168.11.110:1521:Base" #配置数据库用户名 jdbc_user => "DAS" #配置数据库密码 jdbc_password => "DAS" # 定时器 多久执行一次SQL,默认是一分钟;schedule => 分 时 天 月 年 schedule => "* * * * *" #是否清除 last_run_metadata_path 的记录,如果为真那么每次都相当于从头开始查询所有的数据库记录 clean_run => false #是否开启递增列功能,这个参数就是数据库给出的一个字段名称。当然该字段必须是递增的,可以是数据库的数据时间类型 use_column_value => true #是否记录上次执行结果, 如果为真,将会把上次执行到的 tracking_column 字段的值记录下来,保存到 last_run_metadata_path 指定的文件中 record_last_run => true #只需要在 SQL 语句中 WHERE MY_ID > :last_sql_value 即可. 其中 :last_sql_value 取得就是该文件中的值 #最后一条数据存储位置 last_run_metadata_path => "/home/es/software/logstash-7.2.0/data/jdbc.lastrun" #表示tracking_column设置的那个字段的类型,只能选择timestamp或者numeric tracking_column_type => "timestamp" #last_run_metadata_path使用哪个字段记录最后一条数据,sql中可以直接使用sql_last_value获取该值 tracking_column => "data_update" #编码 codec => plain {charset => "UTF-8"} #是否分页 jdbc_paging_enabled => "true" #每页数据数量 jdbc_page_size => "50000" #sql脚本 statement => "SELECT m_id,arch_no,company_name,usc_code,org_code,bre_code,esdate,frname,regcap,entname_old,data_update,data_flag FROM T_DAS_ES_SEARCH where data_update >= :sql_last_value" } } output { elasticsearch { #es地址 hosts => "192.168.11.220:9200" #索引名称 index => "comp" #索引类型 document_type => "_doc" #m_id主键 document_id => "%{m_id}" } }
-
执行
./bin/logstash -f ./jdbc_oracle.conf