ELK平台搭建【落地】

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

上一篇:Golang程序启动占用超大虚拟内空间,导致Linux内存分配失败(关于overcommit_memory)


下一篇:深坑,我服务的进程被莫名其妙的被干掉了