iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 8
0

設定Pipeline

設定Pipeline的方式有兩種一種是透過介面管理設定,另一種就只能進機器編輯Pipeline設定檔

介面設定Pipeline

透過Kibana選擇左下角的Stack Management進去之後選擇
Logstash Pipelines 然後再按 Create Pipelines

logstash

  • Pipeline ID 寫入設定test_1 (上一篇設定的xpack.management.pipeline.id: ["test_1", "test_2"])
  • Description 描述
  • Pipeline Logstash Pipeline主要設定(後面詳細解釋)
  • Pipeline workers 設定Pipeline多少線程處理(通常會高於CPU數)
  • Pipeline batch size 設定單個工作線程在嘗試執行過濾器和輸出之前收集的最大事件數
  • Pipeline batch delay 管道批處理延遲是Logstash在當前管道工作線程中接收到事件後等待新消息的最
  • Queue type 可以選擇隊列存放位置有分記憶體或是硬碟(記憶體如果重開就消失)
  • Queue max byte 設定隊列存放大小
  • Queue.checkpoint.writes 隊列檢查點設定,如果設定太大硬體故障可能會造成資料遺失,太小又耗效能

logstash

按下Create and deploy按鈕之後,應該可以在logstash log看見相關訊息
logstash

機器裡面設定Pipeline

編輯 /etc/logstash/pipelines.yml 基本上跟介面差不多了

- pipeline.id: dev
  path.config: "/etc/logstash/dev_conf.d/pipeline.conf"
  pipeline.workers: 3
  pipeline.batch.delay: 5
- pipeline.id: qa
  path.config: "/etc/logstash/qa_conf.d/pipeline.conf"
  queue.type: persisted
  pipeline.batch.size 200

再編輯 /etc/logstash/dev_conf.d/pipeline.conf

input {
    redis {
        data_type => "list"
        key => "dev"
        host => "10.102.0.16"
        port => "6379"
        db => 0
        id => "elk-redis-dev-1"
    }
}

filter {
    json {
        source => "message"
        target => "content"
    }
}

output {
    elasticsearch {
        index => "%{[kubernetes][namespace]}-%{[kubernetes][container][name]}-@-%{+YYYY.MM.dd}"
        hosts => ["10.102.0.15:9200", "10.102.0.17:9200"]
    }
}

上一篇
Day7-Logstash安裝設定(一)
下一篇
Day9-Logstash安裝設定(三)
系列文
Elastic Stack 是一把梭,用起來再說!!!17

尚未有邦友留言

立即登入留言