A-A+
ELK简单入门
关于ELK的总结打算分为多个章节,本章着重介绍一下如何安装部署。
基于的版本如下图所示:

基于的操作系统:Linux
部署的顺序如下:
- kafka
- logstash
- elasticsearch
- kibana
日志的收集顺序也是如此:先由Log4j2压入Kafka,然后通过Logstash进行解析后,存储至Elasticsearch,最后通过Kibana进行可视化展示。
下载的相关地址:
Kafka:http://kafka.apache.org/
另外三个:https://www.elastic.co/
将四个压缩包通过FTP上传至服务器,然后解压,涉及到的命令如下:
tar -xzvf xxxx.tar.gz
解压后如下图所示:

Kafka自带了Zookeeper,想要启动Kafka需要先启动zookeeper,启动的命令如下:
//主进程直接启动
./zookeeper-server-start.sh ../config/zookeeper.properties
//后台启动
./zookeeper-server-start.sh ../config/zookeeper.properties 1>/dev/null 2>&1 &
启动Kafka之前,需要先修改一下server.proerties,如下:
#打开下列注释
broker.id=0
listeners=PLAINTEXT://:9092
启动命令如下:
//主进程直接启动
./kafka-server-start.sh ../config/server.properties
//后台启动
./kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 &
Logstash稍微有点麻烦,主要是需要新建conf配置文件,简单的配置一个如下:
input {
kafka {
#这里可以是kafka集群,如"192.168.149.101:9092,192.168.149.102:9092,192.168.149.103:9092"
bootstrap_servers => "182.100.1.80:9092"
auto_offset_reset => "latest"
topics => ["test"]
consumer_threads => 5
decorate_events => "true"
}
}
filter {
}
output {
stdout {
codec => rubydebug
}
#未部署elasticsearch时,可以先注释
elasticsearch {
hosts=>["127.0.0.1:9200"]
}
}
将此配置文件直接放在bin文件下,然后启动:
#主进程启动
./logstash -f test.conf
#后台启动
./logstash -f test.conf 1>/dev/null 2>&1 &
小技巧,直接主进程启动,然后使用Log4j2压入日志,正常情况下,会在Shell界面输出日志。
接下来配置Elasticsearch,这一步最麻烦,需要先修改一elasticsearch.yml,将一些配置项打开,以便外网能够访问:
network.host: 0.0.0.0
http.port: 9200
然后使用以下命令启动:
#主进程启动
./elasticsearch
#后台启动
./elasticsearch -d
需要注意的是:如果在root账户下是启动不了的,最好新建一个用户启动。
然后可能还会遇到内存分配问题、bootstrap checks failed,这些会在下一篇文章中集中总结。
最后,配置Kibana。与配置Elasticsearch一样,也需要先修改一下kibana.yml,以便外网能够访问:
server.port: 5601
server.host: 0.0.0.0
然后使用以下命令启动:
#主进程启动
./kibana --allow-root
#后台启动
./kibana --allow-root 1>/dev/null 2>&1 &
访问http://ip:5601/,就能看到漂亮的界面了。
