1、安装Logstash
1、下载logstash安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.11-linux-x86_64.tar.gz
2、解压到安装目录
tar xzvf logstash-7.17.11-linux-x86_64.tar.gz -C /usr/local/elk
3、修改logstash配置文件
#修改logstash服务配置
vi /opt/efk-7.17.11/logstash-7.17.11/config/logstash.yml
#修改以下三项
node.name: node-01
#设置自动重载logstash读取数据配置文件
config.reload.automatic: true
api.http.host: 192.168.1.120
#修改logstash读取数据配置
vi /opt/efk-7.17.11/logstash-7.17.11/config/logstash.conf
#按照如下进行设置
input {
kafka {
bootstrap_servers => "kafka:9092"
#此处把topic的名称都写进去,用英文状态的逗号隔开,指定要消费的主题列表
topics => ["nginx-access-log", "nginx-error-log", "nginx-proxy-access-log"]
security_protocol => "SASL_PLAINTEXT"
sasl_mechanism => "PLAIN"
sasl_jaas_config => "org.apache.kafka.common.security.plain.PlainLoginModule required username='admin' password='kafka-admin-pwd';"
auto_offset_reset => "latest"
codec => "json"
}
}
output {
elasticsearch {
#Elasticsearch的主机和端口
hosts => ["master:9200","node1:9200","node2:9200"]
#此处的索引名称,设定为引用filebeat中配置的字段,这样就会自动创建带日期的索引,
index => '%{[fields][log_topics]}-%{+YYYY.MM.dd}'
user => "elastic"
password => "elastic"
}
#设置控制台输出,方便查看读取的数据内容
#此项设置会导致增加大量的日志,一般在调试时使用
# stdout {
# codec => rubydebug
# }
}
4、启动logstash
[root@elk ~]# cd /opt/efk-7.17.11/logstash-7.17.11/bin
[root@elk ~]# nohup ./logstash -f ../config/logstash.conf &
2、验证logstash是否安装成功
1.将logstash读取数据配置文件中以下设置取消注释,logstash会自动重载配置文件。
stdout {
codec => rubydebug
}
2.查看nohup日志输出的json格式日志数据
tail -f nohup
出现以上json数据时说明logstash运行正常,elasticsearch会自动创建对应的索引。