SQL Server を実行する Amazon Relational Database Service (Amazon RDS) DB インスタンスがあります。Amazon CloudWatch アラームと Amazon Simple Notification Service (Amazon SNS) トピックを作成して、特定の CloudWatch フィルターパターンに一致する SQL Server エラーとエージェントログイベントについて通知を受信したいです。これを行うにはどうすればよいですか?
簡単な説明
まず、SQL Server のログを Amazon CloudWatch Logs に発行します。その後、作成したフィルターパターンに一致する SQL Server DB ログイベントの CloudWatch アラームと SNS 通知を作成します。
Amazon RDS for SQL Server ログデータが CloudWatch に発行されたら、メトリクスフィルターを作成して、ログを検索してフィルタリングできます。メトリクスフィルターは、Amazon CloudWatch Logs に送信されるログデータ内で検索される用語とパターンを定義します。次に、CloudWatch Logs はメトリクスフィルターを使用して、ログデータを、アラームを設定できる CloudWatch の数値メトリクスに変換します。これらのメトリクスを表示したり、アラームを設定したりするときに、パーセンタイル統計を含む任意のタイプの CloudWatch 統計を使用できます。詳細については、「フィルターを使用したログイベントからのメトリクスの作成」を参照してください。
解決方法
「ユーザーのログインに失敗した」などのフィルターパターンを作成して、失敗したログイン試行を識別できます。または、「I/O requests taking longer than 15 seconds to complete」(I/O リクエストの完了に 15 秒以上かかる) フィルターを作成して、I/O のボトルネックやディスクのボトルネックを特定できます。
次の例では、メトリクスフィルターを使用して、「ユーザーのログインに失敗した」という用語を含むイベントを検索してカウントし、失敗したログイン試行を追跡します。
- Amazon RDS コンソールを開き、ナビゲーションペインから [Databases] (データベース) を選択します。
- CloudWatch メトリクスを設定する DB インスタンスの名前を選択します。
- [Configuration] (設定) タブで、CloudWatch Logs の [Error] (エラー) を選択します。これにより、CloudWatch コンソールの [Logs] (ログ) ペインが開きます。[Published Logs] (発行されたログ) セクションが表示されない場合は、CloudWatch Logs への SQL Server ログを発行していることを確認してください。
- CloudWatch コンソールのナビゲーションペインで、[Log groups] (ロググループ) を選択します。
- RDS DB インスタンスのエラーログを選択し、[Create Metric Filter] (メトリクスフィルターを作成) を選択します。
- フィルターパターンに、「ユーザーのログインに失敗した」などのパターンを入力します。
注意: フィルターパターンのすべてのエントリでは、大文字と小文字が区別されます。
- 同じページから、フィルターパターンをテストできます。[Select Log Data to Test] (テストするログデータを選択) セクションで、フィルターをテストするロググループを選択し、[Test Pattern] (パターンをテスト) を選択します。
- [Results] セクションから、ログファイルのフィルターパターンに一致する結果の数を確認できます。[Show test results] (テスト結果を表示) を選択して詳細を表示することもできます。
- [Assign Metric] (メトリクスを割り当てる) を選択します。
- [Filter name] (フィルター名) と [Metric name] (メトリクス名) を入力します。
- [Show advanced metric settings] (高度なメトリクス設定を表示) を選択し、[Metric Value] (メトリクス値) が [1] に設定されていることを確認します。この値は、「ユーザーのログインに失敗した」を含むログイベントごとに 1 ずつカウントが増加することを指定します。
- [Default Value] (デフォルト値) で [0] と入力します。
- [Create Filter] (フィルターを作成) を選択します。[Create Alarm] (アラームの作成) ボタンが表示されます。[Create Alarm] (アラームの作成) を選択します。
- [Period] (時間) ドロップダウンリストから、評価期間を選択します。デフォルト時間は 5 分です。
- [Conditions] (条件) セクションで、次を選択します。
[Threshold type] (しきい値のタイプ) - 静的
[Whenever test is] (テストが次の場合) - しきい値より大きい。
[Than] (次よりも:) - 10 と入力します。
- [Additional configuration] (追加設定) セクションを展開します。アラームするデータポイントには、アラームをトリガーするために ALARM 状態でなければならない評価期間 (データポイント) の数を入力します。
- 不足データの処理から、不足データを欠損として扱うを選択します。
- [Next] (次へ) を選択します。
- [Notification] (通知) セクションの [Select an SNS topic] (SNS トピックを選択) で、既存の SNS トピックを選択するか、通知を受け取る新しいトピックを作成します。
- 通知を受信する E メールエンドポイントを入力します。
- 次へをクリックします。
- [Alarm name] (アラーム名) と [Alarm description] (アラームの説明) を入力し、[Next] (次へ) を選択します。
- [Preview and create] (プレビューと作成) ページで、[Metric] (メトリクス) グラフと [Conditions] (条件) を確認します。
- [Create alarm] (アラームの作成) を選択します。
これらの例の手順を実行した後、アラーム状態は最初の数分間、データ不十分になります。アラームに十分なデータがある場合、ステータスは [OK] になります。5 分以内に 10 回以上のログイン失敗が発生した場合、CloudWatch アラームは指定した E メールに SNS 通知を送信します。
関連情報
Amazon RDS のメトリクスのモニタリングの概要