ELK环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Stream_who/article/details/81515112

一、elasticsearch安装

1. 配置jdk环境

https://www.cnblogs.com/shihaiming/p/5809553.html (注意path格式的问题,/etc/profile 修改有问题,会导致输入linux指令有问题

2. 官网下载elasticsearch

https://www.elastic.co/downloads

4. 修改elasticsearch.yml配置

node.name
path.data:最好是和bin同级
path.logs:同上,可以看启动日志,报错信息
network.host: 0.0.0.0 (默认所有)

5. 新增用户,因为elasticsearch不能通过root用户启动(can not run elasticsearch as root)

1)新增用户    adduser  username
2) 设置密码    passwd   username    会连续跳两次密码,确认
3)设置用户文件夹权限    chown -R hh_es:hh_es  /home/elasticsearch
4) 切换用户    su hh_es
5) elasticserach启动    ./elasticsearch -d
6) 查看配置得logs路径下的log,看启动信息

6. curl http://localhost:9200 出现json格式的数据,说明启动成功

7. 常见错误

1)启动linux命令行就报错,一般是配置文件格式有问题

2)ERROR: bootstrap checks failed:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
    (无法创建本地文件问题,用户最大可创建文件数太小)
    (1)切换到root用户,编辑limits.conf配置文件
    (2)vi /etc/security/limits.conf
    (3)添加(这里的 * 代表所有用户)
        * soft nofile 65536
        * hard nofile 131072
        * soft nproc 2048
        * hard nproc 4096

3)错误:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
    (最大虚拟内存太小)
    (1)切换到root用户下,修改配置文件sysctl.conf
    (2)vi /etc/sysctl.conf
    (3)添加下面配置:vm.max_map_count=6553604)并执行命令:sysctl -p

4)Exception in thread "main" BindTransportException[Failed to bind to [9300-9400]]
    (1)打开配置文件elasticsearch.yml 将 network.host: 192.168.0.1 修改为本机IP 0.0.0.0

5)elasticsearch Failed to create node environment
    (1)这个问题目前没有找到解决办法,重新安装或者修改配置文件吧

二、logstash安装

1.官网下载logstash https://www.elastic.co/downloads

2. 解压到指定位置

3. 在config下创建配置文件

input { stdin { } }

output {

       elasticsearch { hosts => ["localhost:9200"] }

      stdout { codec => rubydebug }

}

4.修改环境变量

1)vi /etc/profile
2) export LOGSTASH_HOME=/opt/app/logstash-6.2.3
   export PATH=:$PATH:$LOGSTASH_HOME/bin
3) source /etc/profile (使变量生效)

5. logstash -e “”, 输入信息,有个json格式的数据出来,说明成功了

6. 启动

logstash -f /home/logstash/logstash-6.2.4/config/log_app.conf
(出现info消息以及The stdin plugin is now waiting for input: ,说明启动成功)

7. 退出命令了,则获取的数据输入源就不会有数据了

8. 几个参数说明

1-e  后面跟着字符串,该字符串可以被当做logstash的配置(如果是“” 则默认使用stdin作为输入,stdout作为输出)

2-t  测试配置文件是否正确,然后退出(放在命令最后面)

3-f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash

9. 查看elasticsearch所有索引

http://39.108.5.183:9200/_cat/indices?v
(重启logstash配置文件,就可以生成了,前提是一定要有数据,也就是路径要对)

三、kibana安装

1. 官网下载kibana

https://www.elastic.co/downloads

2. 解压到指定位置

3. 在config下修改配置文件 kibana.yml

1)server.port: 5601
2)server.host: "172.18.161.213" (填写内网地址)
3)elasticsearch.url: "localhost:9200"
4)kibana.index: ".kibana"

4. bin目录下 ./kibana, 前台启动,不能关闭

5. 访问 http:/localhost:5601,页面出现即是成功


四、可以加深学习的点

1. logstash多行并一行,合并多行数据(Multiline) 对于堆栈信息可能用得上
2. logstash的codec,以及json的作用
3. 日志的类型,比如tomcat的请求参数是否有,nginx的请求日志    
4. logstash如何把数据过滤得更容易查询

参考网址

ELK 6.2.4搭建

Linux下安装jdk8步骤详述

在Linux上安装Elasticsearch5.x(还有分词的东西)

elasticsearch常见问题总结

logstash日志采集工具的安装部署

ELK实战之Kibana部署及message日志收集

通过ELK快速搭建一个你可能需要的集中化日志平台

ELK日志分析系统初体验

如何开发自己的搜索帝国之ES图形化Kibana安装与使用

注:文章是经过参考其他的文章然后自己整理出来的,有可能是小部分参考,也有可能是大部分参考,但绝对不是直接转载,觉得侵权了我会删,我只是把这个用于自己的笔记,顺便整理下知识的同时,能帮到一部分人。
ps : 有错误的还望各位大佬指正,小弟不胜感激

猜你喜欢

转载自blog.csdn.net/Stream_who/article/details/81515112