前面我们已经在Windows下搭建了ELK,但是Windows不可能一直开着机,每次用到ELK需要把软件都重新跑一遍,所以我们需要把ELK搭建在Linux下,这样我们就不需要查看日志的时候每次都跑下程序
1、下载ELK(保持版本一致)
首先说一下我用的Linux版本是Ubuntu
Elasticsearch官网elasticsearch-6.3.0.tar
kibana-6.3.0
logstash-6.3.0.tar
下载完后上传文件到Linux里
2、解压
我们把下载下载的文件全部解压到一个文件夹里
tar -zxvf elasticsearch-6.3.0.tar.gz
tar -zxvf kibana-6.3.0-linux-x86_64.tar.gz
tar -zxvf logstash-6.3.0.tar.gz
3、安装elasticsearch
我们去elasticsearch里的config文件夹下编辑elasticsearch.yml
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0 ##服务器ip 本机
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
http.port: 9200 ##服务端口
#
#http.port: 9200
#
# For more information, consult the network module documentation.
修改好后我们去启动elasticsearch,elasticsearch启动不能使用root账户,可以先去创建个账户然后去启动elasticsearch
/home/java/elk/elasticsearch-6.3.0/bin/elasticsearch #命令窗运行
然后报了max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]错误,这是因为服务器的最大线程数不够Elasticsearch启动要求最大线程数
可以参考 elasticsearch启动常见错误
修改好以后发现还是不行,这里就要说一个Ubuntu很坑爹的事情,修改了limits.conf文件后CentOS是不需要重启服务器就能生效的,Ubuntu就需要重启后文件才能生效,还有修改limits.conf的时候别的教程一般都是直接写*的但是在Ubuntu里就需要写账户名
java soft nofile 65536
java hard nofile 65536
重启后我们去启动elasticsearch
/home/java/elk/elasticsearch-6.3.0/bin/elasticsearch -d #后台线程运行
然后我们用
ps -ef | grep elasticsearch
查看elasticsearch进程
去网页上验证下是不是启动成功
这样就OK了,如果需要关闭的话只要kill -9 2004杀掉进程就好了
4、安装logstash
新建配置文件
cd logstash-6.4.2/config
vim logstash.conf
input {
tcp {
port => 9601
codec => json_lines
}
}
output{
elasticsearch {
hosts => ["localhost:9200"]
# 为传入的日志索引命名
index => "java-log-%{+YYYY.MM.dd}"
}
}
然后启动logstash
/home/java/elk/logstash-6.3.0/bin/logstash -f /home/java/elk/logstash-6.3.0/config/logstash.conf ##命令窗形式
nohup /home/java/elk/logstash-6.3.0/bin/logstash -f /home/java/elk/logstash-6.3.0/config/logstash.conf &> run.log & ##后台线程形式
5、安装kibana
kibana的安装就很简单,只要你安装了elasticsearch跟logstash就直接运行就可以
nohup /home/java/elk/kibana-6.3.0-linux-x86_64/bin/kibana &> run.log &
这里我遇到了一个问题,启动kibana后没有报错信息但是去网页看就是未响应,然后就去kibana里的配置文件里查看
这里之前是localhost,所以一直访问不到,写了服务器路径后就可以在浏览器里直接访问