リベンジマッチ
RHのポータルからのローンチは単なるリンクだけでした。惜しい。
nginxは今回は素直に入れてtd-agent側にパワーを寄せる。
追記:インスタンスサイズはt3.smallが最低ライン
sudo timedatectl set-timezone Asia/Tokyo sudo yum update sudo yum install nginx -y sudo systemctl start nginx sudo systemctl enable nginx curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent4.sh | sh sudo systemctl start td-agent sudo systemctl enable td-agent curl -X POST -d 'json= {"json":"message"}' http://localhost:8888/debug.test tail /var/log/td-agent/td-agent.log sudo yum install make ruby gcc mysql mysql-devel sudo td-agent-gem install mysql2 sudo td-agent-gem install fluent-plugin-mysql sudo vi /etc/td-agent/td-agent.conf
DB側のデータベース名やテーブル名にあわせて記述を修正してください。
<source> @type tail path /var/log/nginx/access.log pos_file /var/log/td-agent/nginx.access.log.pos tag nginx.access format /^(?<host>[^ ]*) [^ ]* (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>\S+) +(?<version>\S+))?" (?<code>[^ ]*) (?<size>[^ ] *) "(?<referer>[^\"]*)" "(?<agent>[^\"]*)" "(?<xforwarded>[^\"]*)"$/ time_format %d/%b/%Y:%H:%M:%S %z </source> <match nginx.access> @type mysql_bulk host x.x.x.x port 3306 database database username user password password column_names id,host,user,time,method,path,version,code,size,referer,agent,xforwarded key_names id,host,user,${time},method,path,version,code,size,referer,agent,xforwarded table nginx_log flush_interval 10s </match>
nginxのログはroot所有になってるので、一旦rootでtd-agentを起動するように修正します。
UserとGroupをtd-agent→rootに変更すればOKです。
daemonのリロードだけでOKかと思いますが、念のためサービスリスタートしました。
あまりやりたくないのでゆくゆくは別手段を検討したいです。
vi /lib/systemd/system/td-agent.service sudo systremctl daemon-reload sudo systemctl restgart td-agent
無事にSQLでログ格納できました。
| id | host | user | time | method | path | version | code | size | referer | agent | xforwarded | | 2 |1.2.3.4 | - | 2023-06-08 11:55:59 | GET | / | HTTP/1.1 | 200 | 4057 | - | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37 | - | | 3 | 1.2.3.4 | - | 2023-06-08 11:55:59 | GET | /poweredby.png | HTTP/1.1 | 200 | 4148 | http://111.222.333.444/ | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37 | - 追記(というか削除): sudo vi /etc/security/limits.confで追加してたけど、パッケージで入れると自動更新させるようです。