logstash 部署
2022-09-01
获取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 包和我们线上的环境有出入,还是建议根据实际情况,手动部署