前言
本篇介绍如何使用fluentd把nginx的log日志读取,并且解析成为一个一个MySQL的字段,最后存储到mysql的数据库中。
环境
我用的是aws的ec2,操作系统是amazon定制的Amazon Linux AMI
安装fluentd
使用root用户
curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
安装完毕后,在/usr/sbin/下会有td-agent , td-agent-gem ,td-agent-ui三个可执行文件。其中td-agent-gem用来安装之外的fluent的插件。
配置文件在/etc/td-agent/td-agent.conf
启动fluentd命令集合
/etc/init.d/td-agent start
/etc/init.d/td-agent stop
/etc/init.d/td-agent restart
/etc/init.d/td-agent status
log可以在/var/log/td-agent/td-agent.log查看
编辑fluentd配置文件
定义一个source,读取nginx的log文件
@type tail
path /tmp/nginx.log
pos_file /var/log/td-agent/nginx.log.pos
tag nginx.access
format /^(?[^ ]*) – (?[^ ]*) \[(?[^\]]*)\] “(?\S+)(?: +(?[^\”]*) +\S*)?” (?