Logstash docker釋出

正怒月神發表於2024-07-18

一 下載Logstash

不廢話了,我下載的7.17.6

二 新增配置檔案

在logstash/pipeline中,新增logstash.conf

input {
  jdbc {
# 連線
    jdbc_connection_string => "jdbc:mysql://192.168.1.1:3306/kintech-cloud-bo?characterEncoding=UTF-8&useSSL=false"
# 賬號
    jdbc_user => "root"
# 密碼
    jdbc_password => "xxxx"
# docker中的mysql驅動位置
    jdbc_driver_library => "/app/mysql.jar"
# 驅動
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
# 查詢語句,:sql_last_value為固定寫法
    statement => "SELECT * FROM student where update_time>:sql_last_value"
# 同步間隔,每分鐘
    schedule => "* * * * *"
# 啟用欄位(增量更新)
    use_column_value => true
# 欄位型別(update_time)(增量更新)
    tracking_column_type => "timestamp"
# 欄位名稱(增量更新)
    tracking_column => "update_time"
  }
}
 
output {
  elasticsearch {
#es 地址,不要用local和127.0.0.1
    hosts => "192.168.1.2:9200"
#索引名稱
    index => "bo_sop_content"
  }
}

三 啟動docker

將logstash.conf和logstash.yml(這個不用改),以及mysql.jar 新增到資料卷。

docker run -d 
-v /root/docker/elk/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf 
-v /root/docker/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml 
-v /root/lib/mysql.jar:/app/mysql.jar --name=logstash logstash:7.17.6

四 設定es分詞器

# 設定分詞器
PUT  192.168.1.247:9200/default
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_english_analyzer": {
          "type": "ik_smart",       
          "max_token_length": 5,    
          "stopwords": "_english_"  
        }
      }
    }
  }
}

五 kibana查詢

GET /bo_sop_content/_search
{
  "query": {
    "multi_match": {
      "query":    "歸檔,hello,sop content",
      "fields": [ "sop_title", "sop_content" ] 
    }
  }
}

兩條符合查詢

相關文章