原文博客 点击跳转
这里主要是说一下我按照他的出现的问题,大部分还是以他的为准
我的版本elasticsearch 是6.2.1,logstash是6.2.1,kibana是(6.5.4)因为网速台慢了,所以就没有去下载,而是用以前下载的。。。无奈
一、安装elasticsearch
在高版本的elastcisearch中启动会出现很多问题,比如内存,不能一root用户启动等等,这类问题我就不在多说了,elastic给了提示,并且网上解决方式很多
启动后如下图
二、安装logstash
创建一个配置文件,这里可以把他的博客中的 codec => jsons_lines去掉,因为如果你使用的话,可能你的logstash没有安装这个插件,当然你也可以去安装使用,不使用也没有啥影响。。
vim config/elk-to-logs.conf (elk-to-logs.conf 可自定义,后面在启动的时候指定启动的配置文件就好)
input {
tcp {
host => "192.168.25.3"
port => 4560
mode => "server"
tags => ["tags"]
}
}
output {
elasticsearch {
action => "index"
hosts => "192.168.25.3"
index => "%{[appname]}-52.200-log-%{+YYYY.MM.dd}"
}
stdout {
codec => rubydebug{ }
}
}
- %{[appname]}: 引用springboot的logback.xml中配置的变量 这个东西就厉害了,他可以从logback.xml文件种读取名字为appname的变量,这样,你可以把多个项目用不同的名称,放到一个elk里面,最后根据索引名称,来区别!在logback.xml配置使用如下
<customFields>{"applicationName":"${AppID}-${logEnv}"}</customFields>
这里说明一下
1.input.tcp: 中配置的是本机地址,ip和端口必须和springboot的logback.xml中的配置完全一样,不能一个配ip一个localhost
2.output.elasticsearch: 配置elasticsearch服务器的ip
3.%{[appname]}: 引用springboot的logback.xml中配置的变量
4.output.stdout: 在终端显示输出信息(可以不配置)
启动logstash
./bin/logstash -f ./config/elk-to-logs.conf
这里说一下可能出现的问题(是我出现的问题。。。浪费了不少的时间)
- 问题一出现说 " # , \ "附近有问题(他的那个不能直接copy)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190908141942970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjYzMDgz,size_16,color_FFFFFF,t_70)
首先要知道的是,当logstash运行时,它会将config目录中的所有文件合并到一个文件中。当出现错误时,您将获得行和位置信息到该合并的配置中。所以你可以将配置文件先合并再到对应的行去查看错误,如下将所有的配置内容合并到total.conf文件中去查看对应的行
```shell
cat logstash/config/* > total.conf
原因是因为你的字符分号或者空格有问题
参考文章: 点击跳转,然后看那里的3行。这里我足足卡了半天。。。。
如果没有错误信息即可
三、安装kibana
主要修改下kibana绑定的端口让指定机器访问,或者让任意机器访问,以及修改elasticsearch的地址和端口
vim config/kibana.yml
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.25.3:9200"
启动
./bin/kibana
四、springboot的配置
点击跳转,本片博客就是看来他的博客写的,没有多少新的东西,主要是为了记录一下,错误。
完成springboot的配置后启动后,就可以再logstash中看到日志了