ELK之Logstash
发布日期:2021-06-30 20:22:09 浏览次数:2 分类:技术文章

本文共 2781 字,大约阅读时间需要 9 分钟。

这里写图片描述

Elasticsearch/Logstash/Kibana作为目前开源领域最为炙手可热的监控三剑客声名大噪。ELK三者各司其职,本文将极为简单地介绍一下如何使用Docker将Logstash跑起来收取数据。

docker pull

取得logstash的官方镜像

[root@host34 ~]# docker pull logstashUsing default tag: latestlatest: Pulling from library/logstash357ea8c3d80b: Already exists52befadefd24: Already exists42f3df327392: Pull complete3decae4e9763: Pull complete0a60a7e0c31d: Pull completeb42727ba883d: Pull complete98299a24213c: Pull completebce15ff1cbf7: Pull completeb9ded4ed7c99: Pull complete3181c22f5a6b: Pull completebbfd3230c943: Pull completef505f3e96b8f: Pull complete1061041d49b4: Pull complete871b0ca55612: Pull completeDigest: sha256:5c8bcc7785eedf69043ec758d72fc3edc3a6a965067c87084168fff0eb534644Status: Downloaded newer image for logstash:latest[root@host34 ~]#

logstash的设定文件

logstash的设定文件中标准有input/filter/ouptput三种,filter可以省略。如果不知道这个如何运转,我们可以使用一个不需要设定文件的方式,或者说inline的方式将docker运转起来。

docke run(inline设定文件)

启动

[root@host34 ~]# docker run -it --rm logstash logstash -e 'input { stdin { } } output { stdout { } }'Settings: Default pipeline workers: 1Pipeline main started

可以看到 logstash已经启动了,其以标准输入stdin作为stdin,标准输出stdout作为stdout。其接受标准输入,并将接受到的标准输入打到标准输出上。

分别输入hello world,可以从标准输出上看到结果

hello2016-08-20T03:34:43.655Z 6f0a25618ecd helloworld2016-08-20T03:34:48.692Z 6f0a25618ecd world

准备logstash的设定文件

通过一个极其简单的inline的设定方式,我们知道logstash确实能够收集到相关信息,至少标准输入的信息能够获取到。而通过使用logstash的设定文件能否正常做到这一点呢,下面通过一个简单的试验来看一下。

[root@host34 config-dir]# pwd/root/config-dir[root@host34 config-dir]# lltotal 4-rw-r--r--. 1 root root 168 Aug 19 23:38 logstash.conf[root@host34 config-dir]# cat logstash.confinput { file { path =>"/tmp/test_for_input.log" type =>"test_input"}}filter {}output {    stdout {}}[root@host34 config-dir]#

logstash的

docker run(logstash.conf)

启动了一个名为logstash的container,并将做成的logstash.conf映射到容器内。

命令:docker run -it --name logstash  --rm -v "$PWD":/config-dir logstash logstash -f /config-dir/logstash.conf
[root@host34 config-dir]# docker run -it --name logstash  --rm -v "$PWD":/config-dir logstash logstash -f /config-dir/logstash.confSettings: Default pipeline workers: 1Pipeline main started

进入到容器logstash中,生成input对象文件test_for_input.log并向其输入数据。

[root@host34 ~]# docker exec -it logstash /bin/bashroot@1ca6e11b5f61:/# echo "hello, this is the message from liumiao" >/tmp/test_for_input.logroot@1ca6e11b5f61:/# echo "how are you" >> /tmp/test_for_input.logroot@1ca6e11b5f61:/# echo "fine , thank you, and you" >>/tmp/test_for_input.logroot@1ca6e11b5f61:/# echo "I am fine too" >> /tmp/test_for_input.logroot@1ca6e11b5f61:/#

logstash的标准输出上及时地得到了搜集的信息

2016-08-20T04:02:06.441Z 1ca6e11b5f61 hello, this is the message from liumiao2016-08-20T04:02:21.511Z 1ca6e11b5f61 how are you2016-08-20T04:02:37.569Z 1ca6e11b5f61 fine , thank you, and you2016-08-20T04:02:46.593Z 1ca6e11b5f61 I am fine too

转载地址:https://liumiaocn.blog.csdn.net/article/details/52254331 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ELK之Kibana
下一篇:ELK之ElasticSearch

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月12日 17时07分52秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章