下载最新版的ElasticSearch,地址在 https://www.elastic.co/cn/dow...,不过我装的不是最新版的,我装的是6.4.3

这里有一个坑,不要在装在root用户下,我是在一个测试服务器上玩的,直接装在root下了,导致后面启动不了,后面又卸载重新装的或者你移动到非root目录中应该也可以

我这里装在/home/elk目录下的

进入目录:cd home
创建elk文件夹:mkdir elk
下载安装包:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
解压:tar -zxvf elasticsearch-6.4.3.tar.gz

弄完了如下:

解压后在config目录下有一个elasticsearch.yml文件,在最后面加入下面几行

vim config/elasticsearch.yml
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"

好了,搞定,启动下

想多了,这个时候会报错,


这个官方给了说明https://www.elastic.co/guide/...,就是说不建议使用root启动es,这会绕过其他安全层在你的服务器上直接任何操作,这时es会拒绝使用root用户启动

那我们就创建一个新的用户组和用户

groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
然后把elasticsearch文件夹以及子文件都设置为上面的用户组和用户
chown -R elsearch:elsearch elasticsearch-6.4.2

在尝试启动

又报了这个max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

why?

说啥每个进程最大同时打开文件数太小,可通过ulimit -Hn查看当前配置

修改/etc/security/limits.conf文件,增加以下配置

* soft nofile 65536
* hard nofile 131072

上面的星是要带的哦,*是所有用户的意思,保存后退出重新登录才能生效

更改后重新启动

成功了,欧耶

http://you ip:9200

=========================
下面安装kibana,找到对应的版本,我这里是和ElasticSearch对应的,6.4.3,https://artifacts.elastic.co/...

解压,tar -zxvf kibana-6.4.3-linux-x86_64.tar.gz

编辑配置文件:vim kibana-6.4.3-linux-x86_64/config/kibana.yml


server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://localhost:9200"
kibana.index: ".kibana"

进入到bin目录启动:sh kibana &

you ip:5601 查看是否启动成功,我这边一切顺利,最终结果如下

在然后是安装logstash,我这里也是安装的6.4.3

cd logstash-6.4.3/bin/进入bin目录
新建logstash1.conf文件,内容如下

input {
    file {
        path => "/home/wwwlogs/*.log"
        start_position => beginning
    }
}
filter {

}
output {
    elasticsearch {
    hosts => "localhost:9200"
    }

}

然后bin目录下启动:sh logstash -f logstash1.conf &

不出意外应该能看到推送过去的日志了

下面是采坑:
启动的时候一直报错:

Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of #, input, filter, output at line 1, column 1 (byte 1)
配置文件错误?

为啥类?我粘贴的时候少了一个英文字符i

然后文件中还有bom头

用vim去除后保存就OK

检查的话可以用vim的set检查!

如果含有,会提示bomb,没有的话会提示nobomb

到这里就搞定了,采坑完毕

03-05 15:49