ELK之Logstash

118 篇文章 9 订阅
16 篇文章 12 订阅

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

docker pull

取得logstash的官方镜像

[root@host34 ~]# docker pull logstash
Using default tag: latest
latest: Pulling from library/logstash

357ea8c3d80b: Already exists
52befadefd24: Already exists
42f3df327392: Pull complete
3decae4e9763: Pull complete
0a60a7e0c31d: Pull complete
b42727ba883d: Pull complete
98299a24213c: Pull complete
bce15ff1cbf7: Pull complete
b9ded4ed7c99: Pull complete
3181c22f5a6b: Pull complete
bbfd3230c943: Pull complete
f505f3e96b8f: Pull complete
1061041d49b4: Pull complete
871b0ca55612: Pull complete
Digest: sha256:5c8bcc7785eedf69043ec758d72fc3edc3a6a965067c87084168fff0eb534644
Status: 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: 1
Pipeline main started

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

hello
2016-08-20T03:34:43.655Z 6f0a25618ecd hello
world
2016-08-20T03:34:48.692Z 6f0a25618ecd world

准备logstash的设定文件

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

[root@host34 config-dir]# pwd
/root/config-dir
[root@host34 config-dir]# ll
total 4
-rw-r--r--. 1 root root 168 Aug 19 23:38 logstash.conf
[root@host34 config-dir]# cat logstash.conf
input {
 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.conf
Settings: Default pipeline workers: 1
Pipeline main started

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

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

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

2016-08-20T04:02:06.441Z 1ca6e11b5f61 hello, this is the message from liumiao
2016-08-20T04:02:21.511Z 1ca6e11b5f61 how are you
2016-08-20T04:02:37.569Z 1ca6e11b5f61 fine , thank you, and you
2016-08-20T04:02:46.593Z 1ca6e11b5f61 I am fine too
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值