温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Fluentd和MongoDB怎么构建一个日志收集系统

发布时间:2021-07-19 11:21:23 来源:亿速云 阅读:167 作者:Leah 栏目:数据库

使用Fluentd和MongoDB怎么构建一个日志收集系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  安装

  为了完成相关的测试,需要安装下面一些组件:

  Fluentd with MongoDB Plugin

  MongoDB

  Apache (with the Combined Log Format)

  在Fluentd的最新安装包中已经包含了MongoDB插件,你也可以用命令

  gem install fluent-plugin-mongo

  来进行安装

  Debian Package

  RPM Package

  MongoDB Downloads

  配置

  如果你是使用上面的deb/rpm包安装的Fluentd,那么配置文件位置在:/etc/td-agent/td-agent.conf,否则其位置应该在:/etc/fluentd/fluentd.conf

  首先我们编辑配置文件中的source来设置日志来源

  source>

  type tail

  format apache

  path /var/log/apache2/access_log

  tag mongo.apache

  /source>

  如何使用Fluentd和MongoDB构建日志收集系统

  其中:

  ①type tail: tail方式是 Fluentd 内置的输入方式,其原理是不停地从源文件中获取新的日志。

  ②format apache: 指定使用 Fluentd 内置的 Apache 日志解析器。

  ③path /var/log/apache2/access_log: 指定日志文件位置。

  ④tag mongo.apache: 指定tag,tag被用来对不同的日志进行分类

  下面再来编辑输出配置,配置日志收集后存储到MongoDB中

  match mongo.**>

  # plugin type

  type mongo

  # mongodb db + collection

  database apache

  collection access

  # mongodb host + port

  host localhost

  port 27017

  # interval

  flush_interval 10s

  /match>

  match标签后面可以跟正则表达式以匹配我们指定的tag,只有匹配成功的tag对应的日志才会运用里面的配置。配置中的其它项都比较好理解,看注释就可以了,其中flush_interval是用来控制多长时间将日志写入MongoDB一次。

  测试

  用ab工具对Apache进行访问,以产生相应的访问日志以供收集

  $ ab -n 100 -c 10 http://localhost/

  然后我们在MongoDB中就能看到收集到的日志了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI