はじめに
前回はWordPressをNew RelicのAPMとINFRASTRUCTUREを使って監視してみました。
今回はWordPressのPlugin機能を使用して、画像や動画などのメディアファイルをAWS S3に保存し、InfrastructureのIntegrationsでAWS S3を統合監視してみたいと思います。
AWS S3にアップロードするPluginとしては、
などがありましたが、導入が簡単そうな"Amazon S3 for WordPress with CloudFront"を使いたいと思います。
S3プラグインの導入 (WordPress)
1)プラグインのダウンロード
まずは上記サイトから、プラグインをダウンロードします。(2016年12月時点では、tantan-s3-cloudfront.0.4.1.1.zip)
2)プラグインのインストール
WoredPressの設定画面から、先ほどダウンロードしたプラグインをアップロードします。
3)プラグインの有効化
インストールが完了したら、プラグインを有効化します
4)プラグインの設定
AWSのS3とIAMの情報を元に、下記内容にて設定
項目 | 設定内容 |
---|---|
AWS Access Key ID | AWS IAMで作成したアクセスキー入力 |
Secret Key | AWS IAMで作成したシークレットキーを入力 |
Use this bucket | 保存先になるAWS S3のbucketを選択 |
File Uploads | アップロード許可のためチェック |
File Permissions | Publicアクセス許可のためチェック |
New Relic INFRASTRUCTUREの設定
前回のINFRASTRUCTUREの設定時に、AWSサービスでS3を選択済みならNew Relic側の設定は不要です。選択しなかかった場合はS3をモニター対象として設定する必要があるので、下記方法で設定変更します。
1)"INFRASTRUCTURE"の"Integrations"から"Manage Services"を選択します。
2)AWSサービスのモニター選択でS3を有効にして変更保存します
New Relicによる AWS S3 統合監視
AWS S3 のメトリック情報はINFRASTRUCTUREのIntegrationsにより、INSIGHTS機能を使用して確認することができます。収集できるメトリックは、Amazon S3 CloudWatch Daily Storage Metrics for Bucketsに記載されている下記2種類となります。
Metric | 説明 |
---|---|
BucketSizeBytes | 標準ストレージクラス、標準 - 低頻度アクセス(Standard IA)ストレージクラス、または冗長ストレージ(RRS)クラスのバケットに格納されたバイト単位のデータ量。 |
NumberOfObjects | GLACIERストレージクラスを除くすべてのストレージクラスのバケットに格納されているオブジェクトの総数 |
AWSサービスのモニター選択でS3を有効にすると、サンプルとしてダッシュボード(AWS S3)が作成されます。サンプルのNRQLを参考にしながらカスタムダッシュボードを作成することでAPM含め統合監視ができるようになりました。
詳細内容はAWS S3 integrationに書いてあるので、カスタムダッシュボード作成時にご参考ください。
・NRQL
SELECT average(`provider.numberOfObjects.Average`) from DatastoreSample WHERE provider = 'S3Bucket' AND providerAccountId = 'xxx' TIMESERIES 1 day FACET entityName SINCE 1 week ago until 1 day ago limit 5
SELECT average(`provider.bucketSizeBytes.Average`) from DatastoreSample WHERE provider = 'S3Bucket' AND providerAccountId = 'xxx' TIMESERIES 1 day FACET entityName SINCE 1 week ago until 1 day ago limit 5