Terraform統合

最終更新日: 03 年 2022 月 XNUMX 日

統合とも呼ばれる公式のLogicMonitorTerraformプロバイダーは、LogicMonitorのリソースと対話するために使用できるRESTAPIベースのプロバイダーです。 LogicMonitorとTerraformを使用すると、宣言型テンプレートを使用して環境をモデル化し、Terraformを使用してクラウド環境を管理できます。 インフラストラクチャをコードとして活用して、スケーリング、オンボーディング、およびオフボーディングが制御された反復可能な方法で実行されるようにすることができます。 Terraformを使用して環境に変更を加えると、LogicMonitorは監視するインフラストラクチャの変更と同期を保ちます。 これにより、サービスが必要な監視とともに展開され、システムまたはアプリケーション環境がQAからステージング、本番に昇格するときに監視が自動的に適応します。

LogicMonitorをTerraformと統合するには、LogicMonitorプロバイダーを構築してから、TerraformがLogicMonitorリソースを管理できるように構成する必要があります。 詳細については、Terraformの次のドキュメントを参照してください。 プロバイダ

この統合により、Terraform構成を構築して、コレクター、コレクターグループ、デバイス、およびデバイスグループを管理できます。 TerraformのLogicMonitorプロバイダーを介してAWSアカウントをLogicMonitorに追加することもできます。 このプロセスでは、TerraformがLogicMonitorのリソースと対話できるように、LogicMonitorAPIを使用して認証する必要があります。

要件

Terraformと統合するLogicMonitorプロバイダープラグインを構築するには、次のものが必要です。

LogicMonitorプロバイダープラグインの構築

  1. 次のリポジトリのクローンを作成します。
$ git clone ssh://[email protected]:logicmonitor/terraform-provider-logicmonitor
  1. プロバイダーディレクトリに入り、プロバイダーをビルドします。
$ cd terraform-integration/terraform-provider-logicmonitor/
$ make

makeファイルはコードを生成し、バイナリをビルドして、Terraformプラグインディレクトリにコピーします。 これでインストールプロセスは完了です。

LogicMonitorプロバイダーの構成

TerraformがLogicMonitorのリソースと対話できるようにするには、Terraform構成に次の情報を追加する必要があります。

  • APIID
  • APIキー
  • LogicMonitorポータルまたは会社名
  • バルク リソース – (オプション) として設定され true を超える可能性のある大量のリソースを操作している間 レート制限。 デフォルト値は false.

注:

  • LogicMonitorポータルまたは会社名はLogicMonitorポータルURLに含まれています。 たとえば、ポータルが「teamintegrations.logicmonitor.com」の場合、LogicMonitorポータルまたは会社名は「teamintegrations」です。
  • Bulk Resource を使用して、リソースを一括で処理できます。 これはベータ版の機能であり、パフォーマンスに影響を与える可能性があることに注意してください。

API IDとキーを生成するには、を参照してください。 APIトークン APIトークンの作成の詳細については。

次のいずれかの方法を使用して、必要な引数を設定できます。

  • プロバイダーの初期化方法
provider "logicmonitor" {
api_id = var.logicmonitor_api_id
api_key = var.logicmonitor_api_key
company = var.logicmonitor_company
bulk_resource = true //optional//
}
  • 環境変数メソッド
export LM_API_ID=<your API ID>
export LM_API_KEY=<your API Key>
export LM_COMPANY=<your portal name>

プロバイダー初期化方式を使用してプロバイダーを構成するには、実行するTerraform構成ファイルに資格情報を指定する必要があります。 クレデンシャルが提供されていない場合、LogicMonitorプロバイダーコードは、環境変数メソッドを使用して、対応するクレデンシャルが使用可能かどうかを確認します。

LogicMonitorTerraformプロバイダーを使用したLogicMonitorリソース管理

LogicMonitorプロバイダープラグインをビルドして構成した後、Terraform構成を使用して次のリソースを管理できます。

  • コレクター
  • コレクターグループ
  • Devices
  • デバイスグループ
  • AWSアカウント
  • アラートルール
  • エスカレーションチェーン
  • ウェブサイト
  • ウェブサイトグループ

LogicMonitorTerraformプロバイダーを使用したLogicMonitorコレクター管理

LogicMonitorプロバイダーは、LogicMonitorコレクターの次のインポート機能のサポートを提供します。

  • IDでコレクターをインポート
  • IDまたは名前でコレクターグループとデバイスをインポートします
  • IDまたはフルパスでデバイスグループをインポートする

見る LogicMonitorコレクターについて

次の表は、LogicMonitorTerraformプロバイダーがLogicMonitorコレクターを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。

Use Caseエンドポイント
インストール/プロビジョニングコレクターをLMアカウントに追加(ポータル)
POST /設定/コレクター/コレクター
コレクターをコレクターグループに割り当てるで指定 コレクターグループID コレクターを追加するためのPOSTリクエストで送信される本文のフィールド(/ settings / Collector / Collectors)
すべてのコレクターの詳細を取得する/設定/コレクター/コレクターを取得
単一のコレクターの詳細を取得するGET / settings / collector / collectors / {id}
コレクターを削除*/ settings / collector / collectors / {id}を削除します
*デバイスがコレクターに関連付けられている場合、コレクターを削除する前に、デバイスを再割り当てするか、完全に削除する必要があります。

LogicMonitorTerraformプロバイダーを使用したコレクターグループ管理

コレクターを論理ユニットにグループ化すると、アカウント管理が合理化され、エンドユーザーのアクセス許可設定が簡素化され、効率が向上します。

次の表は、LogicMonitorTerraformプロバイダーがLogicMonitorコレクターグループを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。

Use Caseエンドポイント
コレクターグループを作成するPOST / settings / Collector / groups
すべてのコレクターグループの詳細を取得するGET / settings / collector / groups
単一のコレクターグループの詳細を取得するGET / settings / collector / groups / {id}
コレクターグループを削除する/ settings / collector / groups / {id}を削除します

LogicMonitorTerraformプロバイダーを使用したデバイス管理

デバイスが追加され、そのデバイスとの通信が確立されると、LogicMonitorはそのデバイスをLogicMonitorアカウントの[リソース]ページに追加します。 デバイス情報は、デバイスの[情報]タブに表示されるシステムプロパティとして保存されます。

検出されたデバイス情報に基づいて、データソースおよびその他のLogicModuleがデバイスに自動的に適用されます。

次の表は、LogicMonitorTerraformプロバイダーがデバイスを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。

Use Caseエンドポイント
デバイスを追加POST / device / devices
デバイスをコレクターに割り当てますデバイスを追加するためのPOSTリクエストで送信される本文のpreferredCollectorIdフィールドで指定されます(/ device / devices)
すべてのデバイスの詳細を取得するGET / device / devices
単一のデバイスの詳細を取得するGET / device / devices / {id}
デバイスのプロパティを取得するGET / device / devices / {deviceId} / properties
更新デバイスPUT / device / devices / {id}
デバイスに割り当てられたコレクターを更新しますデバイスを更新するためのPUTリクエストで送信される本文のpreferredCollectorIdフィールドで指定されます(/ device / devices / {id})
デバイスを削除する/ device / devices / {id}を削除します

LogicMonitorTerraformプロバイダーを使用したデバイスグループ管理

デバイスグループを使用すると、LogicMonitorでデバイスとクラウドリソースを整理して、アラートのしきい値、ダッシュボード、レポート、アラートルーティング、およびデバイスのプロパティを構成する時間を節約できるため、管理が容易になります。

次の表は、LogicMonitorTerraformプロバイダーがデバイスグループを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。

Use Caseエンドポイント
デバイスグループを作成するPOST / device / groups
デバイスグループをコレクターに割り当てますデバイスグループ(/ device / groups)を追加するためのPOSTリクエストで送信される本文のdefaultCollectorIdフィールドで指定されます
デバイスグループを削除する/ device / groups / {id}を削除します
デバイスグループを更新するUPDATE / device / groups / {id}
すべてのデバイスグループの詳細を取得するGET / device / groups
単一のデバイスの詳細を取得するGET / device / groups / {id}
デバイスグループのプロパティを取得するGET / device / groups / {gid} / properties
デバイスグループに割り当てられたコレクターを変更するデバイスを更新するためのPUTリクエストで送信される本文のdefaultCollectorIdフィールドで指定されます(/ device / groups / {id})

LogicMonitorTerraformプロバイダーを使用したAWSアカウント管理

AWSアカウントの追加には、次の手順が含まれます。

  1. 名前とその他の関連情報を提供します。
  2. アクセス/権限を設定します(AWSでロールを作成するために使用されるaws外部IDを生成します)
  3. 監視サービスと構成を選択します。

注: AWS Cloudアカウントの追加、更新、削除に関連するエンドポイントは、v3APIとv4APIで異なります。 すべてのv3エンドポイントは、デバイスグループエンドポイントの追加/更新/削除と同じです(DeviceGroupResourceV3.javaを参照)。 v4エンドポイントはRegistrationEndpoint.javaに含まれています。

次の表は、LogicMonitorTerraformプロバイダーがAWSアカウントを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。

Use Casev3エンドポイントv4エンドポイント
上記の外部IDの取得/再生成/生成(手順2を参照)– GET / aws / externalId
– AWSFunctionsResourceV3.java
–v3と同じ
– AWSFunctionsResourceV4.java
AWSサービスを追加するPOST / device / groups– POST / cloudAccounts
– RegistrationEndpoint.java
AWSサービスを更新するPUT / device / groups / {id}– PUT / cloudAccounts / {id}
– RegistrationEndpoint.java
AWSサービスを削除する/ device / groups / {id}を削除します– / cloudAccountsを削除します
– RegistrationEndpoint.java

LogicMonitor Terraform プロバイダーによるアラート ルール管理

Terraform の LogicMonitor プロバイダーを介して、LogicMonitor のアラート ルールを作成、更新、取得、削除できます。 

アラート ルールを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。

Use Caseエンドポイント
アラートルールの作成POST/設定/アラート/ルール
アラートルールの更新PUT/設定/アラート/ルール/{id}
アラートルールを削除するDELETE/設定/アラート/ルール/{id}
アラートルールを取得するGET/設定/アラート/ルール

LogicMonitor ポータルを使用してアラート ルールを追加する方法の詳細については、次を参照してください。 アラートルール.

LogicMonitor Terraform プロバイダーによるエスカレーション チェーン管理

Terraform の LogicMonitor プロバイダーを介して、LogicMonitor でエスカレーション チェーンを作成、更新、削除できます。

エスカレーション チェーンを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。

Use Caseエンドポイント
エスカレーション チェーンの作成POST/設定/アラート/チェーン
エスカレーションチェーンを更新するPUT/設定/アラート/チェーン/{id}
エスカレーションチェーンを削除するDELETE/設定/アラート/チェーン/{id}

LogicMonitor ポータルを使用してエスカレーション チェーンを追加する方法の詳細については、次を参照してください。 エスカレーションチェーン.

LogicMonitor Terraform プロバイダーを使用した Web サイト管理

Terraform の LogicMonitor プロバイダーを介して、LogicMonitor に対する Webcheck と pingcheck を作成、更新、取得、削除できます。

Web サイトを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。

Use Caseエンドポイント
ウェブサイトを作成するPOST /設定/ウェブサイト/ウェブサイト
ウェブサイトを更新PUT /setting/website/websites/{id}
ウェブサイトを削除する/setting/website/websites/{id} を削除します
ウェブサイトを取得GET /setting/website/websites

LogicMonitor ポータルを使用した Web サイト監視の詳細については、次を参照してください。 Webサイト監視とは.

LogicMonitor Terraform プロバイダーによる Web サイト グループ管理

Terraform の LogicMonitor プロバイダーを介して、LogicMonitor に対する Web サイト グループを作成、更新、取得、および削除できます。

Web サイト グループを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。

Use Caseエンドポイント
Webサイトグループの作成POST /設定/ウェブサイト/グループ
Web サイトグループを更新するPUT /setting/website/groups/{id}
Webサイトグループの削除/setting/website/groups/{id} を削除します
Web サイトグループの取得GET /setting/website/groups

LogicMonitor ポータルを使用して Web サイト グループを追加する方法の詳細については、次を参照してください。 Webサイトグループの追加.

記事上で