ELK简介:
elasticsearch、 logstash、kibana 6.x 分布式日志平台
* Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
* Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
* Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
一、下载安装 elasticsearch 6.2.4
1.安装jdk8以上版本
2.下载elasticsearch 6.2.4
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
tar -zxvf elasticsearch-6.2.4.tar.gz
cd elasticsearch-6.2.4/
3.创建一个普通用户
#因为elasticsearch 不允许root用户安装和使用。所以我要先创建用户组 和用户
groupadd spt //创建组
useradd es //创建新用户
passwd es //用户修改密码
usermod -G spt es //将用户添加到组里面
#然后使用命令:visudo 修改用户可执行的命令
##Allow root to run any commands anywhere
root ALL=(ALL) ALL
es ALL=(ALL) ALL
#给普通用户授权
chown linux用户名 elasticsearch安装目录 -R
4.修改配置
vi config/elasticsearch.yml
network.host: ip地址
http.port: 9200
vi /etc/sysctl.conf
#添加
vm.max_map_count=655360
vi /etc/security/limits.conf
#添加
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
#关闭防火墙
systemctl stop firewalld.service
#修改完成后,重启linux系统(reboot)。然后启动ES即可
#用普通用户启动
su es
/bin
./elasticsearch (或者./elasticsearch -d 或者 ./elasticsearch & 后台启动模式)
访问 http://ip:9200/ 安装ok
二、下载安装 kibana 6.1.0
1.下载kibana6.1.0
链接:https://pan.baidu.com/s/1vYqqXvucm-8OKH17utJxyg
提取码:kz5k
tar -zxvf kibana-6.1.0-linux-x86_64.tar.gz
2.修改配置文件kibana.yml
server.port: 5601
server.host: "ip"
elasticsearch.host: "http://ip:9200"
3.启动kibana
配置文件修改完成后,kibana可以使用root权限直接到,到bin目录下使用如下命令启动
./kibana (或者 ./kibana & 后台启动)
#查看端口号
netstat -anltp|grep 5601
#查看kibana进程
ps -ef|grep node
4.访问kibana
http://ip:5601/app/kibana
报错:child "elasticsearch" fails because ["host" is not allowed]
注意看yml 配置文件,版本不同,写法不同
elasticsearch.host: "http://ip:9200" 不对
#The URL of the Elasticsearch instance to use for all your queries.
#elasticsearch.url: "http://localhost:9200"
访问 http://ip:5601/app/kibana 安装ok
三、下载安装 logstash6.2.3
1.下载
#下载,logstash5及以上版本需要jdk8
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.zip
#解压
unzip logstash-6.2.3.zip
#测试logstash环境,运行如下demo(input {stdin{}}:接收终端输入;output {stdout{}}:输出到终端),出现Pipeline main started为正常
cd logstash-6.2.3/bin/
sh logstash -e 'input { stdin {} } output { stdout {} }'
#-----------------------------------start-----------------------------------
Pipeline main started
#------------------------------------end------------------------------------
#测试,输入hello world,然后回车
#出现如下信息即为安装成功
#-----------------------------------start-----------------------------------
2018-05-08T01:55:36.697Z VM_0_11_centos hello world
#------------------------------------end------------------------------------
2.修改配置文件
#修改配置文件 config/logstash.yml
http.host: "ip"
#新建配置文件 vim logstash.conf
input {
tcp {
#模式选择为server
mode => "server"
#ip和端口根据自己情况填写,端口默认4560,对应项目中logback.xml里appender中的destination
host => "ip"
port => 4560
#格式json
codec => json_lines
}
}
filter {
#过滤器,根据需要填写
}
output {
elasticsearch {
action => "index"
#这里是es的地址,多个es要写成数组的形式
hosts => "ip:9200"
#用于kibana过滤,可以填项目名称
index => "xx-report"
#codec => "json"
}
}
3.启动
./logstash -f ../config/logstash.conf
后台启动
./logstash -f ../config/logstash.conf &
4.访问
http://ip:9600/ ok
参考资料:
https://blog.csdn.net/walle167/article/details/80705521
https://my.oschina.net/itblog/blog/547250/
https://blog.csdn.net/moshowgame/article/details/98851656