看似簡單小問題系列之ELK

之前本人一篇 ElasticSearch 6 安裝及相關坑解析 講過ES安裝 那麼 今天講一下剩下的LK 希望能和Spring的整合

logstash基本解壓就能用,conf裏面配置下elasticsearch地址,用如下命令啓動:

nohup bin/logstash -f config/logstash.conf &

logstash.conf 怎麼配置呢,這裏要說明下:

如果要配置jdbc 那麼需要執行 ./logstash-plugin install logstash-input-jdbc

出現Installation successful表明安裝成功!

然後 如下配置 :

input {
  stdin {
  }
  jdbc {
    type => "es_type"
    jdbc_driver_library => "/home/service/module/mysql-connector-java-8.0.16.jar"
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://0.0.0.0:3306/xxxx?useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&serverTimezone=UTC"
    jdbc_user => "****"
    jdbc_password => "****"
    tracking_column => "id"
    use_column_value => "true"
    record_last_run => "true"
    last_run_metadata_path => "sku_meta"
    clean_run => "false"
    statement => "SELECT * from sku where id > :sql_last_value"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
    schedule => "* * * * *"
  }
}

output {
  if [type]=="es_type" {
    elasticsearch {
      hosts => ["http://0.0.0.0:9200"]
      index => "sku"
      document_type => "es_type"
      document_id => "%{id}"
      #type => "es_type"
      #index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
      #user => "elastic"
      #password => "changeme"
    }
  }
}

重要參數設置:

//是否記錄上次執行結果, 如果爲真,將會把上次執行到的 tracking_column 字段的值記錄下來,保存到 last_run_metadata_path 指定的文件中
record_last_run => true

//是否需要記錄某個column 的值,如果 record_last_run 爲真,可以自定義我們需要 track 的 column 名稱,此時該參數就要爲 true. 否則默認 track 的是 timestamp 的值.
use_column_value => true

//如果 use_column_value 爲真,需配置此參數. track 的數據庫 column 名,該 column 必須是遞增的.比如:ID.
tracking_column => MY_ID

//指定文件,來記錄上次執行到的 tracking_column 字段的值
//比如上次數據庫有 10000 條記錄,查詢完後該文件中就會有數字 10000 這樣的記錄,下次執行 SQL 查詢可以從 10001 條處開始.
//我們只需要在 SQL 語句中 WHERE MY_ID > :last_sql_value 即可. 其中 :last_sql_value 取得就是該文件中的值(10000).
last_run_metadata_path => "/etc/logstash/run_metadata.d/my_info"

//是否清除 last_run_metadata_path 的記錄,如果爲真那麼每次都相當於從頭開始查詢所有的數據庫記錄
clean_run => false

//是否將 column 名稱轉小寫
lowercase_column_names => false

//存放需要執行的 SQL 語句的文件位置
statement_filepath => "/etc/logstash/statement_file.d/my_info.sql"

 

然後kibana也是基本解壓就能用,同樣在config裏面配置elasticsearch地址,啓動如下:

nohup bin/kibana &

關閉kibana 麻煩一點 ps -ef | grep node 找到進程,強殺!

and 。。。然後從入門到放棄,好像elk裏面 就 elasticsearch非常有用,logstash略微有用,等筆者有心情了再看看K是否有卵用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章