LoginSignup
2
5

More than 5 years have passed since last update.

Amazon RDS (for MySQL)のログをfluentdを使って取得する。

Posted at

はじめに

Amazon RDS(for MySQL) のログは fluent-plugin-rds-log というプラグインを利用することで取得することができます。

インストール

1.fluent-plugin-rds-log をインストールするには以下のパッケージを事前にインストールしておく必要があります。

パッケージ
$ sudo yum install gcc
$ sudo yum install mysql-devel

2.パッケージのインストールが完了したらプラグインをインストールします。

プラグイン
$ sudo td-agent-gem install fluent-plugin-rds-log

RDS設定

1.ログを取得するにはRDSのパラメータグループを以下のように設定する必要があります。

log_output:TABLE
slow_query_log:1
general_log:1

conf設定

1.先ずはログを取得するための < source >タグを設定します。

取得設定
<source>
  type rds_log
  log_type slow
  host rds001.cs8xkvdfl8ru.ap-northeast-1.rds.amazonaws.com
  username awsuser
  password mypassword
  refresh_interval 30
  auto_reconnect true
  tag rds.db001.slow-log
  add_host false # add database hostname in record
</source>

今回はスローログを取得するための設定です。一般ログの場合は general_log にします。
host は対象となるRDSで usernamepassword はRDSのアカウントです。

2.次に取得したログを出力する設定です。

出力設定
<match rds.db001.slow-log>
  type file
  path /var/log/td-agent/rds-slow-log
</match>

3.再起動して反映させたら完了です。

再起動
$ sudo /etc/init.d/td-agent restart

確認

1.ログが出力されているか確認します。

出力確認
$ sudo ls /var/log/td-agent/
buffer               rds-slow-log.20170404_1.log          td-agent.log
db001                rds-slow-log.20170405.b54c62b71eea28a57  td-agent.log-20170404.gz
rds-slow-log.20170404_0.log  rds-slow-log.20170405_0.log          td-agent.log-20170405

出力されているのが確認できました。

おわりに

fluent-plugin-rds-log を使うとスローログと一般ログが簡単に取得できて便利です。
ただ、エラーログはこれでは取得できないので、それはやっぱりCLIとか使わないとです。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5