ELK安装流程和ELK安装遇到的所有坑
安装filebeat
1.解压tar -zxvf filebeat-5.2.2-linux-x86_64.tar.gz
2. 修改filebeat.yml里的配置内容,一个输入,一个输出。
3. 修改如下:
input:(第二个红框改成自己日志源)
output:(输出到Elasticsearch output和Logstash output)
我们要输出到Logstash output,所以把Elasticsearch output注释掉。
用哪个开启哪个,把另一个注释掉(同时开启没试过)
如图:
4. 启动:./filebeat -e -c filebeat.yml -d “Publish”
查看filebeat进程
ps -ef |grep filebeat
注意事项:
在每次启动filebeat之前,要删除data下的re开头的文件
logstash安装
1.解压logstash,tar -zxvf logstash-5.2.2.tar.gz
2.进入文件夹,并建立conf文件,创建一个conf文件夹,在conf目录下自定义一个.conf的配置(例如test.conf)
3.beat-to-es.conf文件,里面有两个插件,一个input,一个ouput
input里面写beats插件,定制logstash端口为5044,和 filebeat进行轮询匹配
output里面写输出到控制台,以json格式输出到屏幕(测试用,能显示出来)
显示:
还可以输出到Elasticsearch插件,是将filebeat传过来的 日志输出到hosts里定义的主机上,并且指定index索引名。 (随便起的索引名测试用,具体学习input和output里面怎么写,挺复杂的)
4.启动测试命令(进入logstash文件夹下)
./bin/logstash -f /home/elk/logstash-5.2.2/conf/beat_to_es.conf
小结:
查看的的话,就装kibana好了,在页面里面的输入框输入test_system_log,如果下面的按钮文字不是unable to fetch mapping xxxx,就说明日志收集成功了,点create按钮就创建好了
安装Elasticsearch
1. tar -zxvf elasticsearch-5.2.2
2. 启动elasticsearch
进入到elasticsearch/bin目录下,执行./elasticsearch
检查elasticsearch是否启动:执行curl http://localhost:9200/?pretty
验证Elasticsearch启动成功:在浏览器输入:192.168.121.160.9200,显示如下
出现的问题:
问题1:
[2018-04-12T21:13:16,702][WARN ][o.e.b.BootstrapChecks ] [JDMXwnY] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
切换到root用户,vi /etc/sysctl.conf ,添加配置(文件最后面):vm.max_map_count=655360
添加完成后并执行命令:sysctl -p
问题2:
在同一个节点启动多个elasticsearch时报failed to obtain node locks错误
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/home/elk/elasticsearch-5.2.2/data/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
解决办法:
在elasticsearch.yml中设置如node.max_local_storage_nodes: 3
node.max_local_storage_nodes的数值大于1即可。
问题3:
[2018-04-12T21:13:16,702][WARN ][o.e.b.BootstrapChecks ] [JDMXwnY] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
切换到root用户,vi /etc/sysctl.conf ,添加配置(文件最后面):vm.max_map_count=655360
添加完成后并执行命令:sysctl -p
问题4:
ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决办法:
切换到root用户,vi /etc/security/limits.conf
添加配置(elk是用户名):elk hard nofile 65536
elk soft nofile 65536
然后重启!!!!重启!!!!
登录elk用户,执行ulimit -Hn 显示 65536。就解决了
安装kibana
1.解压kibana
tar -zxvf kibana-5.2.2-linux-x86_64.tar.gz
2.启动kibana
进入kibana/bin
./kibana
启动之后,在window页面无法访问页面,将kibana.yml中的server.host: “localhost”改为server.host: “0.0.0.0”,重启后生效,注意必须要重启
配置文件位于kibana/config/
日志文件位于kibana/log/kibana/
默认连接的是本机elasticsearch,可在配置文件中修改 elasticsearch.url: “http://10.0.10.40:9200”
在启动就ok了,命令:./kibana(看见红框这样就ok了)
出现的问题:
启动之后,在window页面无法访问页面,将kibana.yml中的server.host: “localhost”改为server.host: “0.0.0.0”,重启后生效,注意必须要重启
log [14:48:30.947] [warning][admin][elasticsearch] Unable to revive connection: http://localhost:9200/
log [14:48:30.948] [warning][admin][elasticsearch] No living connections
log [14:48:30.952] [info][status][plugin:[email protected]] Status changed from uninitialized to green- Ready
解决办法:
在config/kibana.yml里面添加如下:
elasticsearch_url: “http://192.168.1.104:9200”