logstash 部署

获取Logstash包

# 指定版本 --version 2.1.0,也可以使用最新版本
helm repo add elastic https://helm.elastic.co
helm fetch elastic/logstash

配置文件

在包同级目录下创建配置文件logstash-settings.yaml,内容如下

(base)  ~/service/EKS/ekstest/elk/logstash/ tar xf logstash-2.1.0.tgz

(base)  ~/service/EKS/ekstest/elk/logstash/ ls
logstash               logstash-2.1.0.tgz      logstash-settings.yaml

# 如果不添加 logstash-settings.yaml 可以可以直接修改 logstash 目录中的values.yaml 文件。
cat logstash-settings.yaml
nodeSelector:
  topology.ebs.csi.aws.com/zone: us-west-2a

persistence:
  enabled: false
  storageClass: gp3
  accessMode: ReadWriteOnce
  size: 2Gi

image:
  repository: logstash           # // 它自带的镜像有点难下,下载完后推送到harbor
  tag: 7.17.5
  pullPolicy: IfNotPresent
inputs:
  main: |-
    input {     
      kafka {       // 输入来自kafka
        bootstrap_servers => "kafka:9092"   
        codec => json { charset => "UTF-8" }
        consumer_threads => 5
        topics_pattern => "beat-.*"         # // topic名称
        type => "example"
      }

    }
outputs:
  main: |-
    output {

      #stdout { codec => rubydebug }            # // 开启debug模式,可在控制台输出

      elasticsearch {       # // 输出到es
        hosts => ["${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}"]    # // es主机配置
        manage_template => false
        index => "%{[@metadata][topic]}-%{+YYYY.MM.dd}" # // 创建索引
      }

      }

elasticsearch:  # // es主机定义
  host: elasticsearch-master.default.svc.cluster.local
  port: 9200

启动

helm -n monitoring install logstash -f logstash-settings.yaml logstash

# 如果修改的是 value.yaml 使用如下命令启动
helm -n monitoring install logstash logstash

更新配置

helm -n monitoring upgrade logstash logstash

# 如果修改的是 value.yaml 使用如下命令更新配置
helm -n monitoring upgrade logstash logstash

停止服务

helm -n monitoring uninstall logstash

注意⚠️

正式环境尽量不使用 helm 方式部署,如果自己制定 helm ,比较繁琐,使用现有 helm 包和我们线上的环境有出入,还是建议根据实际情况,手动部署