

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# PagerDuty をアラートレシーバーとして使用する
<a name="AMP-alertmanager-pagerduty"></a>

PagerDuty に直接アラートを送信するように Amazon Managed Service for Prometheus を設定できます。この統合では、PagerDuty 統合キーを に保存 AWS Secrets Manager し、Amazon Managed Service for Prometheus にシークレットを読み取るアクセス許可を付与する必要があります。

PagerDuty の統合により、自動化されたインシデント対応ワークフローが可能になり、重要なアラートが適切なチームメンバーに適切なタイミングで届くようになります。PagerDuty をアラートレシーバーとして使用すると、PagerDuty のエスカレーションポリシー、オンコールスケジューリング、インシデント管理機能を活用して、アラートを迅速に確認して解決できます。この統合は、サービスの可用性を維持し、SLA 要件を満たすためにシステムの問題への迅速な対応が不可欠な本番環境に特に役立ちます。詳細については、*PagerDuty ウェブサイト*の「[PagerDuty ナレッジベース](https://support.pagerduty.com/)」を参照してください。

## PagerDuty 設定オプション
<a name="AMP-alertmanager-pagerduty-configuration-options"></a>




| オプション | 説明 | 必須 | 
| --- | --- | --- | 
|  `routing_key`  |  サービス上の統合用 PagerDuty ルーティングキー。これを Secrets Manager ARN として指定する必要があります  |  はい  | 
|  `service_key`  |  サービス上の統合用 PagerDuty サービスキー。これを Secrets Manager ARN として指定する必要があります  |  はい (イベント API v1 の場合)  | 
|  `client`  |  通知機能のクライアント ID  |  いいえ  | 
|  `client_url`  |  通知の送信者へのバックリンク  |  いいえ  | 
|  `description`  |  インテントの説明  |  いいえ  | 
|  `details`  |  インシデントに関する詳細を提供する任意のキーと値のペアのセット  |  いいえ  | 
|  `severity`  |  インシデントの重要度  |  いいえ  | 
|  `class`  |  イベントのクラスまたはタイプ  |  いいえ  | 
|  `component`  |  イベントを担当するソースマシンのコンポーネント  |  いいえ  | 
|  `group`  |  コンポーネントの論理グループ  |  いいえ  | 
|  `source`  |  影響を受けるシステムの一意の場所  |  いいえ  | 

**注記**  
`url`、`service_key_file`、`routing_key_file`、`http_config` オプションはサポートされていません。

以下のトピックでは、Amazon Managed Service for Prometheus で PagerDuty をアラートレシーバーとして設定する方法について説明します。

**Topics**
+ [PagerDuty 設定オプション](#AMP-alertmanager-pagerduty-configuration-options)
+ [AWS Secrets Manager および アクセス許可を設定する](AMP-alertmanager-pagerduty-permissions.md)
+ [PagerDuty にアラートを送信するようにアラートマネージャーを設定する](AMP-alertmanager-pagerduty-configure-alertmanager.md)

# AWS Secrets Manager および アクセス許可を設定する
<a name="AMP-alertmanager-pagerduty-permissions"></a>

PagerDuty にアラートを送信する前に、PagerDuty 統合キーを安全に保存し、必要なアクセス許可を設定する必要があります。このプロセスでは AWS Secrets Manager、 でシークレットを作成し、カスタマーマネージド AWS Key Management Service (AWS KMS) キーを使用して暗号化し、シークレットとその暗号化キーの両方にアクセスするために必要なアクセス許可を Amazon Managed Service for Prometheus に付与します。次の手順では、この設定プロセスの各ステップについて説明します。

**Secrets Manager for PagerDuty でシークレットを作成するには**  
PagerDuty をアラートレシーバーとして使用するには、PagerDuty 統合キーを Secrets Manager に保存する必要があります。以下の手順に従ってください。

1. [Secrets Manager コンソール](https://console.aws.amazon.com/secretsmanager/)を開きます。

1. **新しいシークレットを保存** を選択します。

1. **[Secret type] (シークレットタイプ)** で、**[Other type of secret]** (他の種類のシークレット) を選択します。

1. **[キーと値のペア]** には、PagerDuty 統合キーをシークレット値として入力します。これは、PagerDuty 統合のルーティングキーまたはサービスキーです。

1. [**次へ**] を選択します。

1. シークレットの名前と説明を入力して **[次へ]** を選択します。

1. 必要に応じてローテーション設定を行い、**[次へ]** を選択します。

1. 設定を確認し、**[保存]** を選択します。

1. シークレットを作成したら、その ARN を書き留めます。アラートマネージャーを設定するときに必要になります。

**シークレットをカスタマーマネージド AWS KMS キーで暗号化するには**

シークレットとその暗号化キーにアクセスするためのアクセス許可を Amazon Managed Service for Prometheus に付与する必要があります。

1. **シークレットリソースポリシー**: [Secrets Manager コンソール](https://console.aws.amazon.com/secretsmanager/)でシークレットを開きます。

   1. **[リソースのアクセス許可]** を選択します。

   1. **[アクセス許可の編集]** を選択します。

   1. 次のポリシーステートメントを追加します。ステートメントで、*強調表示された値* を特定の値に置き換えます。

      ```
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "aps.amazonaws.com"
        },
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "*",
        "Condition": {
          "ArnEquals": {
            "aws:SourceArn": "arn:aws:aps:aws-region:123456789012:workspace/WORKSPACE_ID"
          },
          "StringEquals": {
            "aws:SourceAccount": "123456789012"
          }
        }
      }
      ```

   1. **[保存]** を選択します。

1. **KMS キーポリシー**: [AWS KMS コンソール](https://console.aws.amazon.com/kms)で AWS KMS キーを開きます。

   1. **[キーポリシー]** を選択します。

   1. **[編集]** を選択します。

   1. 次のポリシーステートメントを追加します。ステートメントで、*強調表示された値* を特定の値に置き換えます。

      ```
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "aps.amazonaws.com"
        },
        "Action": "kms:Decrypt",
        "Resource": "*",
        "Condition": {
          "ArnEquals": {
            "aws:SourceArn": "arn:aws:aps:aws-region:123456789012:workspace/WORKSPACE_ID"
          },
          "StringEquals": {
            "aws:SourceAccount": "123456789012"
          }
        }
      }
      ```

   1. **[保存]** を選択します。

**次のステップ** – 次のトピック、[PagerDuty にアラートを送信するようにアラートマネージャーを設定する](AMP-alertmanager-pagerduty-configure-alertmanager.md) に進みます。

# PagerDuty にアラートを送信するようにアラートマネージャーを設定する
<a name="AMP-alertmanager-pagerduty-configure-alertmanager"></a>

PagerDuty にアラートを送信するようにアラートマネージャーを設定するには、アラートマネージャーの定義を更新する必要があります。これは、 AWS マネジメントコンソール、 AWS CLI、または AWS SDKsを使用して実行できます。

**Example アラートマネージャーの設定**  
以下は、PagerDuty にアラートを送信するアラートマネージャー設定の例です。この例では、*強調表示された値*を特定の値に置き換えます。  

```
alertmanager_config: |
  route:
    receiver: 'pagerduty-receiver'
    group_by: ['alertname']
    group_wait: 30s
    group_interval: 5m
    repeat_interval: 1h
  receivers:
    - name: 'pagerduty-receiver'
      pagerduty_configs:
      - routing_key: 
          aws_secrets_manager:
            secret_arn: 'arn:aws:secretsmanager:aws-region:123456789012:secret:YOUR_SECRET_NAME'
            secret_key: 'YOUR_SECRET_KEY'
            refresh_interval: 5m
        description: '{{ .CommonLabels.alertname }}'
        severity: 'critical'
        details:
          firing: '{{ .Alerts.Firing | len }}'
          status: '{{ .Status }}'
          instance: '{{ .CommonLabels.instance }}'
```

**Example AWS CLI**  
以下は、アラートマネージャーの定義を更新するために使用される AWS CLI コマンドです。この例では、*強調表示された値*を特定の値に置き換えます。  

```
aws amp put-alert-manager-definition \
  --workspace-id WORKSPACE_ID \
  --data file://alertmanager-config.yaml
```

## PagerDuty 統合のトラブルシューティング
<a name="AMP-alertmanager-pagerduty-troubleshooting"></a>

アラートが PagerDuty に送信されていない場合は、次の項目を確認してください。
+ シークレットが存在し、正しい PagerDuty 統合キーが含まれていることを確認します。
+ シークレットがカスタマー管理の KMS キーで暗号化されていることを確認します。
+ シークレットと KMS キーの両方のリソースポリシーが、Amazon Managed Service for Prometheus に必要なアクセス許可を付与していることを確認します。
+ アラートマネージャー設定の ARN がシークレットを正しく参照していることを確認します。
+ PagerDuty アカウントで PagerDuty 統合キーが有効でアクティブであることを確認します。

Amazon Managed Service for Prometheus は、トラブルシューティングに役立つ Amazon CloudWatch Logs と以下の CloudWatch メトリクスをサポートします。詳細については、「[CloudWatch Logs で Amazon Managed Service for Prometheus イベントをモニタリングする](CW-logs.md)」および「[CloudWatch メトリクスを使用して Amazon Managed Service for Prometheus のリソースモニタリングする](AMP-CW-usage-metrics.md)」を参照してください。CloudWatch メトリクス
+ `SecretFetchFailure`
+ `AlertManagerNotificationsThrottledByIntegration`
+ `AlertManagerNotificationsFailedByIntegration`