环境:CentOS 7.5
Java jdk :1.8.0_212
软件版本 :7.1.1
注:ELK 平台的搭建各软件一定要使用相同版本
首先下载软件包,我是直接用 wget 命令从官网下载(官网地址:https://www.elastic.co/cn/),这里默认下载的是最新版的 7.1.1 。
我这里是把软件都放在我个人用户的 home 目录下。
下载:
[benar.chen@benar ~]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz
下载完成后使用解压命令对安装包进行解压:
[benar.chen@benar ~]$ tar -xzvf elasticsearch-7.1.1-linux-x86_64.tar.gz
然后使用 cd 命令进入 elasticsearch 的目录中找到 config 目录下的 elasticsearch.yml 配置文件,用 vim/vi 编辑配置:
cluster.name: benarchen #集群的名称
node.name: benar.chen #节点名称
path.data: /home/benar.chen/elasticsearch-7.1.1/data #数据存放路径
path.logs: /home/benar.chen/elasticsearch-7.1.1/logs #日志存放路径
network.host: 127.0.0.1 #elasticsearch 绑定的服务器地址
http.port: 9200 #目标端口
配置完成后保存退出,回到 elasticsearch 的根目录下执行启动命令:
./bin/elasticsearch -d #-d 参数的意思是在后台运行
执行启动命令后用 curl 命令验证:
[benar.chen@benar elasticsearch-7.1.1]$ curl http://127.0.0.1:9200
如服务运行成功会出现如下输出:
如果无法访问,则说明服务出错或者异常,可以尝试查看日志,日志保存路径就是开始设置配置文件时的路径。
同样的也是下载软件包:
[benar.chen@benar ~]$ wget https://artifacts.elastic.co/downloads/logstash/logstash-7.1.1.tar.gz
下载完成后使用解压命令对安装包进行解压:
[benar.chen@benar ~]$ tar -xzvf logstash-7.1.1.tar.gz
同样的使用 cd 命令进入 logstash 目录中的 config 目录,如下图所示:
logstash.conf 即为主配置文件,logstash 的配置文件包含三个内容:
input {
file {
type => "mylogs01" #代表类型,可以自定义
path => "/var/log" #读取文件的路径
codec => multiline { #报错的提示信息
pattern => "^\["
negate => true
what => "previous"
}
start_position => "beginning" #表示文件从头部开始读
}
file {
type => "mylogs02"
path => "/var/log/logstash"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
start_position => "beginning"
}
}
filter {
#这是两条过滤规则,如果第一条不符合将执行第二条,都是正则表达式
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601}\s*%{USER}\] \[%{USERNAME}\] \[%{USERNAME}\] - %{NOTSPACE}, IP: %{IP:ip}"}
}
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:datel}\s*%{USER:leve}\] \[%{USERNAME}\] \[%{USERNAME}\] - %{NOTSPACE:request}"}
}
}
output {
#配置输出到数据 elasticsearch
elasticsearch {
hosts => ["127.0.0.1:9200"]
action => "index"
codec => rubydebug
index => "%{type}-%{+YYYY.MM.dd}"
template_name => "%{type}"
}
}
[benar.chen@benar logstash-7.1.1]$ ./bin/logstash -f ./config/logstash.conf
代码中的 -f 表示指定运行 logstash 的配置文件,一般不加上也行,但是如果你更改了 logstash.conf 文件,重新启动的时候最好加上,否则很有可能更改无效,出现如下提示则说明 logstash 启动成功。
kibana 的安装比较简单,步骤和上面两个大致相同,下载解压然后进行相关配置。
下载:
[benar.chen@benar ~]$ wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-linux-x86_64.tar.gz
解压:
[benar.chen@benar ~]$ tar -xzvf kibana-7.1.1-linux-x86_64.tar.gz
进入目录配置配置文件:
server.port: 5601 #服务端口
server.host: "192.168.244.150" #一般填本机
elasticsearch.hosts: ["http://localhost:9200"] #你的 elasticsearch 服务地址
kibana.index: ".newkibana" #默认就好,好像是 .kibana
xpack.security.enabled: false #安全性设置
配置文件可以再官方配置中更改,也可以直接加在后面,保存后退出启动。
[benar.chen@benar kibana-7.1.1-linux-x86_64]$ ./bin/kibana
注:如果浏览器出现: Kibana server is not ready yet 的提示,有可能是机器内存不足,可以试试调大内存重试。
elasticsearch 、logstash 、kibana 都启动了之后,在浏览器中输入对应的地址即可打开 kibana 。