Slide 1

Slide 1 text

第157回 雲勉 AWSインフラ監視をNew Relic で行う際の個人的Tips

Slide 2

Slide 2 text

講師自己紹介 2 ◼ 名前 政木星那(まさき せいな) • (所属)クラウドインテグレーション事業部 SREセクション • (経歴、アイレット歴)3年目 • (業務)インフラ運用保守/構築、監視設計/設定 • ご質問は YouTubeのコメント欄で受け付けております。 後日回答させていただきます!

Slide 3

Slide 3 text

アジェンダ 3 1. 本雲勉の対象者 2. 個人的Tips 3. API PollingとCloudWatch Metric Streams 4. JSON形式のデータログ(AWS CloudTrail)監視とクエリパース 5. まとめ

Slide 4

Slide 4 text

1.本雲勉の対象者 4 ◼ New RelicでAWSインフラ監視を行っている方

Slide 5

Slide 5 text

2.個人的Tips 5 ◼ API PollingとCloudWatch Metric Streams ・仕様と監視項目 ◼ JSON形式のデータログ(AWS CloudTrail)監視とクエリパース ・イベント転送 ・パース設定

Slide 6

Slide 6 text

API Pollingと CloudWatch Metric Streams 6

Slide 7

Slide 7 text

3.API PollingとCloudWatch Metric Streams 7 ◼ API Polling ・New Relicがメトリクスを取得する主体 ・AWSサービス単位で取得するメトリクスを設定 ・取得できるメトリクスはNew Relicによって事前に定義されている

Slide 8

Slide 8 text

3.API PollingとCloudWatch Metric Streams 8 ◼ API PollingでサポートされているAWSサービス

Slide 9

Slide 9 text

3.API PollingとCloudWatch Metric Streams 9 ◼ API PollingでサポートされているAWSサービス ・https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-albnlb-monitoring-integration/

Slide 10

Slide 10 text

3.API PollingとCloudWatch Metric Streams 10 ◼ CloudWatch Metric Streams ・Amazon CloudWatchがメトリクスを送信する主体 ・送信したいメトリクスをAmazon CloudWatchで設定 ・AWS CloudTrailなどの一部サービスはサポートされていない

Slide 11

Slide 11 text

3.API PollingとCloudWatch Metric Streams 11 ◼ API PollingとCloudWatch Metric Streamsの比較 API Polling CloudWatch Metric Streams New Relicがメトリクス取得の主体 Amazon CloudWatchがメトリクス送信の主体 AWSサービス単位で取得するメトリクスを New Relicで設定 送信したいメトリクスをAmazon CloudWatch で設定 取得できるメトリクスはNew Relicによって 事前に定義されている AWS CloudTrailなどの一部サービスはサポー トされていない

Slide 12

Slide 12 text

3.API PollingとCloudWatch Metric Streams 12 ◼ API Pollingの導入手順 1. Infrastructure → INTEGRATION [AWS] → Add AWS account 2. What type(s) of data do you want to ingest? → Metrics

Slide 13

Slide 13 text

3.API PollingとCloudWatch Metric Streams 13 ◼ API Pollingの導入手順 3. Choose a setup method → Automate AWS with CloudFormation (Recommended)

Slide 14

Slide 14 text

3.API PollingとCloudWatch Metric Streams 14 ◼ API Pollingの導入手順 4. Choose a metrics integration type → API Polling 5. Name your API integration → 任意の名前

Slide 15

Slide 15 text

3.API PollingとCloudWatch Metric Streams 15 ◼ API Pollingの導入手順 6. Which services you want to monitor → AWSサービスを選択

Slide 16

Slide 16 text

3.API PollingとCloudWatch Metric Streams 16 ◼ API Pollingの導入手順 7. Launch your CloudFormation in AWS → AWSコンソールを開く 8. Enter your user key

Slide 17

Slide 17 text

3.API PollingとCloudWatch Metric Streams 17 ◼ API Pollingの導入手順 9. AWS Console CloudFormation →スタックの作成

Slide 18

Slide 18 text

3.API PollingとCloudWatch Metric Streams 18 ◼ API Pollingの導入手順 10. AWS Console CloudFormation →イベントの確認

Slide 19

Slide 19 text

3.API PollingとCloudWatch Metric Streams 19 ◼ API Pollingの導入手順 11. Continue

Slide 20

Slide 20 text

3.API PollingとCloudWatch Metric Streams 20 ◼ API Pollingの導入手順 https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-cloudtrail-monitoring-integration/

Slide 21

Slide 21 text

3.API PollingとCloudWatch Metric Streams 21 ◼ 個人的Tips ・API Pollingで収集されるメトリクスはNew Relicに事前に定義されたもののみ ・例えば、Amazon RDS(Amazon Aurora Serverless)ではACUUtilizationが収集されず ・AWS CloudTrailはエラーイベントとログインイベント以外は収集されない

Slide 22

Slide 22 text

3.API PollingとCloudWatch Metric Streams 22 ◼ API Pollingで取得しているメトリクスの確認(Amazon RDSの場合) ・Query Your Data → Data explorer → Events → DatastoreSample

Slide 23

Slide 23 text

3.API PollingとCloudWatch Metric Streams 23 ◼ API Pollingで取得しているメトリクスの確認(Amazon RDSの場合) ・Metrics & Events → Events → Event type → DatastoreSample

Slide 24

Slide 24 text

3.API PollingとCloudWatch Metric Streams 24 ◼ API Pollingで取得しているメトリクスの確認(Amazon RDSの場合) ・Metrics & Eventsがコンソールに表示されない場合

Slide 25

Slide 25 text

3.API PollingとCloudWatch Metric Streams 25 ◼ CloudWatch Metric Streamsの導入手順 1. Infrastructure → INTEGRATION [AWS] → Add AWS account 2. What type(s) of data do you want to ingest? → Metrics

Slide 26

Slide 26 text

3.API PollingとCloudWatch Metric Streams 26 ◼ CloudWatch Metric Streamsの導入手順 3. Choose a setup method → Manually integrate your AWS account

Slide 27

Slide 27 text

3.API PollingとCloudWatch Metric Streams 27 ◼ CloudWatch Metric Streamsの導入手順 4. Choose a metrics integration type → Real-time AWS monitoring (Recommended)

Slide 28

Slide 28 text

3.API PollingとCloudWatch Metric Streams 28 ◼ CloudWatch Metric Streamsの導入手順 5. Create a role in the AWS console → IAMロールの作成

Slide 29

Slide 29 text

3.API PollingとCloudWatch Metric Streams 29 ◼ CloudWatch Metric Streamsの導入手順 5. Create a role in the AWS console → IAMロールの作成

Slide 30

Slide 30 text

3.API PollingとCloudWatch Metric Streams 30 ◼ CloudWatch Metric Streamsの導入手順 5. Create a role in the AWS console → IAMロールの作成

Slide 31

Slide 31 text

3.API PollingとCloudWatch Metric Streams 31 ◼ CloudWatch Metric Streamsの導入手順 6. Add account details → 作成したIAMロールのARNをNew Relicに登録

Slide 32

Slide 32 text

3.API PollingとCloudWatch Metric Streams 32 ◼ CloudWatch Metric Streamsの導入手順 7. Add account details → AWS account nameに設定した値を Provider accountとして登録

Slide 33

Slide 33 text

3.API PollingとCloudWatch Metric Streams 33 ◼ CloudWatch Metric Streamsの導入手順 8. Configure AWS Metric Streams → CloudWatch Metric Streams, AWS Kinesis Data Firehoseの作成

Slide 34

Slide 34 text

3.API PollingとCloudWatch Metric Streams 34 ◼ CloudWatch Metric Streamsの導入手順 9. Configure AWS Metric Streams → CloudWatch Metric Streams, AWS Kinesis Data Firehoseの作成 → CloudFormationを利用

Slide 35

Slide 35 text

3.API PollingとCloudWatch Metric Streams 35 ◼ CloudWatch Metric Streamsの導入手順 9. Configure AWS Metric Streams → CloudWatch Metric Streams, AWS Kinesis Data Firehoseの作成 → CloudFormationを利用

Slide 36

Slide 36 text

3.API PollingとCloudWatch Metric Streams 36 ◼ CloudWatch Metric Streamsの導入手順 10. 作成されたCloudWatch Metric Streamsの確認

Slide 37

Slide 37 text

3.API PollingとCloudWatch Metric Streams 37 ◼ CloudWatch Metric Streamsの導入手順 11. New Relicに送信する対象のメトリクスの設定 → デフォルトは全てのメトリクスが送信

Slide 38

Slide 38 text

3.API PollingとCloudWatch Metric Streams 38 ◼ CloudWatch Metric Streamsの導入手順 12. New Relicに送信したAmazon RDS ACUUtilizationの確認

Slide 39

Slide 39 text

3.API PollingとCloudWatch Metric Streams 39 ◼ 個人的Tips ・CloudWatch Metric Streamsでのメトリクス収集についてはサポートされない AWSサービスがある ・大半のAWSサービスはサポート対象とされているが、一部サービスはサポートされていない ・例えば、AWS CloudTrailはサポートされていない

Slide 40

Slide 40 text

3.API PollingとCloudWatch Metric Streams 40 ◼ API PollingとCloudWatch Metric Streamsの比較 API Polling CloudWatch Metric Streams New Relicがメトリクス取得の主体 Amazon CloudWatchがメトリクス送信の主体 AWSサービス単位で取得するメトリクスを New Relicで設定 送信したいメトリクスをAmazon CloudWatch で設定 取得できるメトリクスはNew Relicによって 事前に定義されている AWS CloudTrailなどの一部サービスはサポー トされていない

Slide 41

Slide 41 text

JSON形式のデータログ (AWS CloudTrail)監視とクエリパース 41

Slide 42

Slide 42 text

4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース 42 https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html ◼ AWS CloudTrailイベントログの監視方法 ・利用するAWSサービスについて ・New Relicに転送されたイベントログの確認 ・JSONパースについて ・NRQLクエリについて

Slide 43

Slide 43 text

43 ◼ AWS CloudTrailイベントログの監視方法 ・利用するAWSサービスについて 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 44

Slide 44 text

44 ◼ AWS CloudTrailイベントログの監視方法 ・New Relicに転送されたイベントログの確認 ・Logs → detail.eventName:"StartInstances" 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 45

Slide 45 text

45 ◼ AWS CloudTrailイベントログの監視方法 ・JSONパースについて(aparse関数)、(Grokパターン、正規表現) ・インスタンスIDのみ値として取り出したい場合 ・値が[{“instanceId”:“i-054e2c9c03d7d1aab”}]でのフィルタリングとなってしまう 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 46

Slide 46 text

46 ◼ AWS CloudTrailイベントログの監視方法 ・aparse関数を利用することで値をi-054e2c9c03d7d1aabで取り出すことが可能 ・aparse関数のNRQLはNew Relicの機能で自動作成が可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 47

Slide 47 text

47 ◼ AWS CloudTrailイベントログの監視方法 ・aparse関数の作成 ・ログコンソール → 対象の詳細ログ →パースしたい値を選択 → Create query time parsing rule 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 48

Slide 48 text

48 ◼ AWS CloudTrailイベントログの監視方法 ・aparse関数の作成 ・インスタンスIDの値を選択 → パースのキーを入力 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 49

Slide 49 text

49 ◼ AWS CloudTrailイベントログの監視方法 ・aparse関数の作成 ・Queryを選択 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 50

Slide 50 text

50 ◼ AWS CloudTrailイベントログの監視方法 ・aparse関数の作成 ・プレビューのクエリからaparse()の部分をNRQLに持っていく 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 51

Slide 51 text

51 ◼ AWS CloudTrailイベントログの監視方法 ・アラート発報先のサービス連携に役立つ ・PagerDutyの場合、インシデントタイトルにインスタンスIDを記載することが可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 52

Slide 52 text

52 ◼ AWS CloudTrailイベントログの監視方法 ・Create Rule → ログコンソールのカラムに追加することが可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 53

Slide 53 text

53 ◼ AWS CloudTrailイベントログの監視方法 ・Create Rule → ログコンソールのカラムに追加することが可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 54

Slide 54 text

54 ◼ AWS CloudTrailイベントログの監視方法 ・Create Rule → ログコンソールのカラムに追加することが可能 → ログのJSONに追加することが可能 https://docs.newrelic.com/docs/logs/ui-data/query-time-parsing/ 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 55

Slide 55 text

55 ◼ AWS CloudTrailイベントログの監視方法 ・Create Rule → ログコンソールのカラムに追加することが可能 → ログのJSONに追加することが可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 56

Slide 56 text

56 ◼ AWS CloudTrailイベントログの監視方法 ・Create Rule → ログコンソールのカラムに追加することが可能 → ログのJSONに追加することが可能 → パースのルールを変更/削除することが可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 57

Slide 57 text

57 ◼ AWS CloudTrailイベントログの監視方法 ・Create Rule → ログコンソールのカラムに追加することが可能 → ログのJSONに追加することが可能 → パースのルールを変更/削除することが可能 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 58

Slide 58 text

58 ◼ もう一つのパース機能 ・JSONパースについて(Grokパターン、正規表現) ・Log → Parsing → Create parsing rule 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 59

Slide 59 text

59 ◼ そのほかのパース機能 ・JSONパースについて(Grokパターン、正規表現) ・Log → Parsing → Create parsing rule https://docs.newrelic.com/docs/logs/ui-data/parsing/#built-in-rules 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 60

Slide 60 text

60 ◼ そのほかのパース機能 ・JSONパースについて(Grokパターン、正規表現) ・Log → Parsing → Create parsing rule 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 61

Slide 61 text

61 ◼ そのほかのパース機能 ・JSONパースについて(Grokパターン、正規表現) ・Grokパターンの場合 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 62

Slide 62 text

62 ◼ そのほかのパース機能 ・Grokパターンの場合 ・SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME} ・GREEDYDATA .* ・MONTH \b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?| Jul(?:y)?|Aug(?: ust)?|Sep(?:tember)?|Oct(?:ober)?| Nov(?:ember)?|Dec(?:ember)?)\b ・ MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9]) 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 63

Slide 63 text

63 ◼ そのほかのパース機能 ・Grokパターンの場合(Logtype = apache) https://docs.newrelic.com/docs/logs/ui-data/built-log-parsing-rules/#apache 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 64

Slide 64 text

64 ◼ そのほかのパース機能 ・JSONパースについて(Grokパターン、正規表現) ・正規表現パターンの場合 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 65

Slide 65 text

65 ◼ そのほかのパース機能 ・パースルールの作成後のログ情報 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 66

Slide 66 text

66 ◼ そのほかのパース機能 ・作成したパースルール 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 67

Slide 67 text

67 ◼ 個人的Tips ・New Relicにはログを簡単にパースできる機能が用意されている ・Query time parsingではパースの知識がなくとも簡単にパースクエリを用いた監視を 実装することができる ・Ingest ParsingではGrokパターンや正規表現を用いてパースすることができる 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 68

Slide 68 text

68 ◼ それぞれのパース機能の比較 aparse関数 (Query time parsing) Grokパターン、正規表現 (Ingest Parsing) クエリ実行時に適用 ログ取り込み時に適用 永続的ではない属性に対するクエリを実行す るのに最適 将来的にクエリできる永続的な属性を作成す るのに最適 UI上で直感的に設定を適用することが可能 柔軟にログの抽象化が可能 https://docs.newrelic.com/docs/logs/ui-data/query-time-parsing/ 4.JSON形式のデータログ(AWS CloudTrail)監視とクエリパース

Slide 69

Slide 69 text

5. まとめ 69 ◼ API Polling ・API Pollingで収集されるメトリクスはNew Relicに事前に定義されたもののみ ・例えば、Amazon RDSではACUUtilizationが収集されない ・AWS CloudTrailではエラーイベントとログインイベント以外は収集されない ◼ CloudWatch Metric Streams ・CloudWatch Metric Streamsでのメトリクス収集についてはサポートされないAWSサービスがある ・大半のAWSサービスはサポート対象とされているが、一部サービスはサポートされていない ・利用料面において、収集対象のサービス/メトリクスを絞ることが大事 ・例えば、AWS CloudTrailはサポートされていない ◼ クエリパース ・New Relicにはログを簡単にパースできる機能が用意されている ・Query time parsingはパースの知識不要で簡単にパースクエリを用いた監視を実装することができる ・Ingest ParsingではGrokパターンや正規表現を用いてパースすることができる