ELK日志收集系统学习错误总结-Error: Expected one of #, input, filter, output at line 10, column 1 (byte 71) after
今天自己搭建了elk 的系统准备学习一下看看,因为它是现在主流的实时数据分析系统。
具体的安装过程就再次不做描述了,和多数的linux 安装文件一样的,没多大区别的。
安装后测试了一下。居然报错。
启动命令: //bin/logstash -e 'input {stdin {}} output {stdout {codec =>rubydebug}}'
启动这条命令后,终端在等待我们的输入。我们可以随便输入个字符串即可。还是和学编程入门小白一样哈,输入hello word 看看会返回什么呢。
大约几秒后,返回的结果如下。
这就是我们输入hello word的执行结果,它是json 格式的数据返回。 json 也是我们经常使用的一种数据格式,接口丰富,非常好用。
注意: 上述是前台启动模式运行,不太方便。因此我们需要做个后台启动,也就是把标准的输入输出语句写入到一个配置文件中,那好,我们创建一个配置文件,就叫 logstash.conf 吧。
输入的内容:
把这一段内容输入后保存,再做测试。
命令: ./bin/logstash -f logstash.conf 终端会等待我们输入信息, 还是输入hello word 测试一下看看
编辑完这个文件后就立马运行了,由于没有检查,结果报错了。
wuError: Expected one of #, input, filter, output at line 10, column 1 (byte 71) after
You may be interested in the '--configtest' flag which you can use to validate logstash's configuration before you choose to restart a running system
就在百度查了一堆也没什么可靠的答案,全是英文错误,看到就头疼,也不知道是哪里错了。后来耐心的仔细一看错误提示,发现提示应该是配置文件中的内容有错误,重新编辑修改了一下,发现 括号丢失,真是严重的不仔细造成的错误啊,切记要仔细,避免低级错误的发生。
修改后重新测试正常。
结果如下:
不过提示了个域名解析失败,应该是主机名和ip 不对应造成的解析异常,应该是上午修改了主机名没有生效导致的结果。
哎 ,没办法又改回去了原来的主机名,重新解析就OK啦
这就是使用配置文件的输出结果哦,完全正确的。大家也要避免小问题的出现,多多学习英语,遇到问题要有耐心的去读错误提示,去解决,一定可以解决的。
可以在另外一个终端进行测试一下: