1、 创建elk用户
必须创建elk用户,如果不创建专用用户,用root用户的话后面步骤在开启elk组件时会报错!
2、 切换elk用户,在home下面的elk文件夹中下载elk组件
2.1、下载elasticsearch
[root@localhost elk]# su elk
[elk@localhost ~]$ pwd
/home/elk
[elk@localhost ~]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.tar.gz
解压tar包
[elk@localhost ~]$ tar -xvf elasticsearch-5.4.3.tar.gz
进入elasticsearch-5.4.3
[elk@localhost ~]$ cd elasticsearch-5.4.3
修改 config中的elasticsearch.yml文件
修改: cluster.name: 和node.name:(也可以使用默认)
修改:network.host: 为0.0.0.0
修改:http.port: 为 9200
保存退出。
启动elasticsearch:
以elk用户,在elasticsearch目录启动:
[elk@localhost elasticsearch-5.4.3]$ bin/elasticsearch #前台运行
#或者
[elk@localhost elasticsearch-5.4.3]$ bin/elasticsearch -d #后台运行
[elk@localhost ~]$ curl http://localhost:9200
###返回以下内容则成功:###
Enter host password for user 'elastic':
{
"name" : "elk-1",
"cluster_name" : "elastic-cluster",
"cluster_uuid" : "Mfp7_AAuQyiy190WWBk53g",
"version" : {
"number" : "5.4.3",
"build_hash" : "eed30a8",
"build_date" : "2017-06-22T00:34:03.743Z",
"build_snapshot" : false,
"lucene_version" : "6.5.1"
},
"tagline" : "You Know, for Search"
}
启动elascricsearch遇到的错误
遇到这两个错误
1、ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]2、ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
我就不写了,附加个链接:点击这里,错误解决地址
安装x-pack:
[elk@localhost elasticsearch-5.4.3]$ ./bin/elasticsearch-plugin install x-pack
(时间较长)
也可以去官网下载x-pack,然后上传到服务器中再进行安装
重启elasticsearch x-pack生效
重新curl http://localhost:9200 -u elastic
密码:changeme
2.2、安装logstash
下载logstash
[elk@localhost ~]$ wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.3.tar.gz
###解压
[elk@localhost ~]$ tar -xvf logstash-5.4.3.tar.gz
进入logstash-5.4.3
[elk@localhost logstash-5.4.3]$ vim config/logstash.conf
##内容:
input {
file {
type => "typename" #type标题,用于区别(不能用大写)
path => "/程序日志路径/*.log" #日志路径(可以指定文件)
codec => multiline {
pattern => "%{TIMESTAMP_ISO8601:date}" #匹配 以时间开头的日志行 如果以[]开头的则可以用 “^\[” 正则匹配
negate => true
what => "previous"
}
start_position => "beginning"
}
}
output {
elasticsearch {
action => "index"
hosts => "127.0.0.1:9200" #elasticsearch地址和端口
index => "logstash-%{type}-%{+YYYY.MM.dd}" # 输出到ela的文件名称
document_type => "%{type}"
user => "elastic" #ela的用户名
password => "changeme" #ela密码 (如果安装好后,则在kibana修改过密码,这里也得修改)
}
stdout {
codec => rubydebug
}
}
测试logstash
[elk@localhost logstash-5.4.3]$ bin/logstash -e 'input { stdin { } } output { stdout {codec=>rubydebug} }'
###然后你会发现终端在等待你的输入。没问题,敲入 Hello World,回车,然后看看会返回什么结果!
###出现如下结果
2017-02-23T08:34:25.661Z c-101 Hello World
启动logstash
[elk@localhost logstash-5.4.3]$ nohup ./bin/logstash -f config/logstash.conf &
2.3、安装kibana
下载kibana
[elk@localhost ~]$ wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.3-linux-x86_64.tar.gz
[elk@localhost ~]$ tar -zxvf kibana-5.4.3-linux-x86_64.tar.gz
进入kibana-5.4.3-linux-x86_64
编辑config/kibana.yml
[elk@localhost ~]$ cd kibana-5.4.3-linux-x86_64/
[elk@localhost kibana-5.4.3-linux-x86_64]$ vim config/kibana.yml
###内容修改
去掉: server.port 前 #
修改:server.host: 为 0.0.0.0
修改:elasticsearch.url: http://127.0.0.1:9200 (elasticsearch地址)
修改:
elasticsearch.username: " user"
elasticsearch.password: " pass"
elasticsearch 的用户名和密码。
###启动
[elk@localhost kibana-5.4.3-linux-x86_64]$ nohup ./bin/kibana &
kibana安装x-pack
[elk@localhost kibana-5.4.3-linux-x86_64]$ ./bin/kibana-plugin install x-pack
###下载很慢~ 还可能断掉,所以就用wget直接下载。
[elk@localhost kibana-5.4.3-linux-x86_64]$ wget https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.4.3.zip
###安装文件命令
[elk@localhost kibana-5.4.3-linux-x86_64]$ ./bin/kibana-plugin install file:///home/elk/kibana-5.4.3-linux-x86_64/x-pack-5.4.3.zip
### 重启kibana,也可以在启动之前安装x-pack
浏览器器访问 http://IP:5601
Kibana 页面修改登录密码
修改登录密码后接的修改相应的elasticsearch,logstash,kibana的文件。
并重启e、l、k
3、 注意事项:
开放防火墙端口。
如果读取别的组的的日志log、则把elk用户加入到该组中
如:usermod -a -G 组名 用户名