Terraform統合
最終更新日 - 04年2026月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プロバイダープラグインを構築するには、次のものが必要です。
- Go 1.15
詳細はこちら: https://golang.org/doc/install ダウンロードおよびインストール情報について。 - テラフォーム0.10x
ジョブの設定方法については、 Terraformをダウンロード ダウンロード情報については、HashiCorpからの情報。
ジョブの設定方法については、 Terraformをインストールします インストール情報については、HashiCorpのドキュメント。
LogicMonitorプロバイダープラグインの構築
- 次のリポジトリのクローンを作成します。
$ git clone ssh://[email protected]:logicmonitor/terraform-provider-logicmonitor- プロバイダーディレクトリに入り、プロバイダーをビルドします。
$ cd terraform-integration/terraform-provider-logicmonitor/
$ makemakeファイルはコードを生成し、バイナリをビルドして、Terraformプラグインディレクトリにコピーします。 これでインストールプロセスは完了です。
LogicMonitorプロバイダーの構成
TerraformがLogicMonitorのリソースと対話できるようにするには、Terraform構成に次の情報を追加する必要があります。
- APIID
- APIキー
- LogicMonitorポータルまたは会社名
- (オプション)ドメイン - 会社のドメイン。デフォルト値は「logicmonitor.com」です。政府機関の場合は、適切なドメインを入力してください。例:
qa-lmgov.us. - (オプション) 一括リソース - 設定 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
domain = "qa-lmgov.us" //optional//
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構成を使用して次のリソースを管理できます。
- AWSアカウント
- Azureアカウント
- アラートルール
- コレクター
- コレクターグループ
- ダッシュボード
- ダッシュボードグループ
- Devices
- デバイスグループ
- エスカレーションチェーン
- GCPアカウント
- OCIアカウント
- 報告グループ
- 役割
- SDT
- サービスインサイト
- ウェブサイト
- ウェブサイトグループ
- 稼働時間
LogicMonitor Terraformプロバイダーによる稼働状況管理
LogicMonitor Terraformプロバイダを使用すると、LogicMonitorのUptimeチェックを作成、更新、取得、削除できます。LM Uptimeは、Webエンドポイントとネットワークサービスの可用性とパフォーマンスを追跡するための合成監視機能を提供します。WebチェックやPingチェックなど、さまざまなチェックタイプをサポートしており、ユーザー操作をシミュレートし、複数の場所からの接続性を検証します。
LogicMonitor Terraform プロバイダーは、Uptime リソースを管理するために、以下の LogicMonitor API エンドポイントとメソッドを使用します。
| Use Case | エンドポイント |
|---|---|
| リソースを追加 | POST /device/devices |
| リソースを更新する | PUT /device/devices/{id} |
| リソースを削除 | DELETE /device/devices/{id} |
| 単一リソースの詳細を取得する | GET /device/devices/{id} |
LogicMonitorポータルを使用した稼働時間に関する詳細については、以下を参照してください。 LM稼働時間.
注意: DeviceType 18は稼働状況のWebチェックに使用され、 DeviceType 19は稼働状況確認のためのピングチェックに使用されます。
LogicMonitorTerraformプロバイダーを使用したLogicMonitorコレクター管理
LogicMonitorプロバイダーは、LogicMonitorコレクターの次のインポート機能のサポートを提供します。
- IDでコレクターをインポート
- IDまたは名前でコレクターグループとデバイスをインポートします
- IDまたはフルパスでデバイスグループをインポートする
詳細はこちら: LogicMonitorコレクターについて をご覧ください。
次の表は、LogicMonitorTerraformプロバイダーがLogicMonitorコレクターを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。
| Use Case | エンドポイント |
| インストール/プロビジョニング | コレクターをLMアカウントに追加(ポータル)POST /setting/collector/collectors |
| コレクターをコレクターグループに割り当てる | で指定 コレクターグループID コレクターを追加するためのPOSTリクエストで送信される本文のフィールド(/setting/collector/collectors) |
| すべてのコレクターの詳細を取得する | GET /setting/collector/collectors |
| 単一のコレクターの詳細を取得する | GET /setting/collector/collectors/{id} |
| コレクターを削除* | DELETE /setting/collector/collectors/{id} |
LogicMonitorTerraformプロバイダーを使用したコレクターグループ管理
コレクターを論理ユニットにグループ化すると、アカウント管理が合理化され、エンドユーザーのアクセス許可設定が簡素化され、効率が向上します。
次の表は、LogicMonitorTerraformプロバイダーがLogicMonitorコレクターグループを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。
| Use Case | エンドポイント |
| コレクターグループを作成する | POST /setting/collector/groups |
| すべてのコレクターグループの詳細を取得する | GET /setting/collector/groups |
| 単一のコレクターグループの詳細を取得する | GET /setting/collector/groups/{id} |
| コレクターグループを削除する | DELETE /setting/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}) |
| デバイスを削除する | DELETE /device/devices/{id} |
LogicMonitorTerraformプロバイダーを使用したデバイスグループ管理
デバイスグループを使用すると、LogicMonitorでデバイスとクラウドリソースを整理して、アラートのしきい値、ダッシュボード、レポート、アラートルーティング、およびデバイスのプロパティを構成する時間を節約できるため、管理が容易になります。
次の表は、LogicMonitorTerraformプロバイダーがデバイスグループを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。
| Use Case | エンドポイント |
| デバイスグループを作成する | POST / device / groups |
| デバイスグループをコレクターに割り当てます | デバイスグループ(/ device / groups)を追加するためのPOSTリクエストで送信される本文のdefaultCollectorIdフィールドで指定されます |
| デバイスグループを削除する | DELETE /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アカウントの追加には、次の手順が含まれます。
- 名前とその他の関連情報を提供します。
- アクセス/権限を設定します(AWSでロールを作成するために使用されるaws外部IDを生成します)
- 監視サービスと構成を選択します。
注意: AWSアカウントの追加、更新、削除に関わるエンドポイントは、v3 APIとv4 APIで異なります。v3のエンドポイントはすべて、デバイスグループの追加/更新/削除エンドポイントと同じです(DeviceGroupResourceV3.javaを参照)。
次の表は、LogicMonitorTerraformプロバイダーがAWSアカウントを管理するために使用するLogicMonitorAPIエンドポイントとメソッドを示しています。
| Use Case | v3エンドポイント | 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サービスを削除する | DELETE /device/groups/{id} | – DELETE /cloudAccounts– RegistrationEndpoint.java |
LogicMonitor Terraformプロバイダーを使用したAzureアカウント管理
Azureアカウントを追加するには、以下の手順が必要です。
- アカウント名およびその他の関連情報を入力してください。
- アクセス権限とアクセス許可(テナントID、クライアントID、クライアントシークレット、サブスクリプションID)を設定します。
- 監視サービスと設定を選択してください。
注意: Azure アカウントの追加、更新、削除に関わるエンドポイントは、v3 API と v4 API で異なります。v3 のエンドポイントはすべて、デバイス グループの追加/更新/削除エンドポイントと同じです (DeviceGroupResourceV3.java を参照)。
次の表は、LogicMonitor Terraform プロバイダーが Azure アカウントを管理するために使用する LogicMonitor API エンドポイントとメソッドの一覧です。
| Use Case | v3エンドポイント |
| Azure サービスを追加する | POST /device/groups |
| Azure サービスの更新 | PUT /device/groups/{id} |
| Azure サービスを削除する | DELETE /device/groups/{id} |
LogicMonitor Terraformプロバイダーを使用したGoogle Cloud Platform(GCP)アカウント管理
GCPアカウントを追加するには、以下の手順が必要です。
- アカウント名およびその他の関連情報を入力してください。
- アクセス権限を設定します(GCPサービスアカウントの認証情報をアップロードまたは入力します)。
- 監視サービスと設定を選択してください。
注意: GCPクラウドアカウントの追加、更新、削除に使用されるエンドポイントは、v3 APIとv4 APIで異なります。v3のエンドポイントはすべて、デバイスグループの追加/更新/削除エンドポイントと同じです(DeviceGroupResourceV3.javaを参照)。
次の表は、LogicMonitor Terraform プロバイダーが GCP アカウントを管理するために使用する LogicMonitor API エンドポイントとメソッドの一覧です。
| Use Case | v3エンドポイント |
| GCPサービスを追加する | POST /device/groups |
| GCPサービスの更新 | PUT /device/groups/{id} |
| GCPサービスを削除します | DELETE /device/groups/{id} |
LogicMonitor Terraformプロバイダーを使用したOracle Cloud Infrastructure(OCI)アカウント管理
OCIアカウントを追加するには、以下の手順が必要です。
- アカウント名およびその他の関連情報を入力してください。
- アクセス権限とアクセス許可を設定します(テナントOCID、ユーザーOCID、フィンガープリント、秘密鍵、地域)。
- 監視サービスと設定を選択してください。
注意: OCIアカウントの追加、更新、削除に関わるエンドポイントは、v3 APIとv4 APIで異なります。v3のエンドポイントはすべて、デバイスグループの追加/更新/削除エンドポイントと同じです(DeviceGroupResourceV3.javaを参照)。
次の表は、LogicMonitor Terraform プロバイダーが OCI アカウントを管理するために使用する LogicMonitor API エンドポイントとメソッドの一覧です。
| Use Case | v3エンドポイント |
| OCIサービスを追加する | POST /device/groups |
| OCIサービスの更新 | PUT / device / groups / {id} |
| OCIサービスを削除します | / device / groups / {id}を削除します |
LogicMonitor Terraform プロバイダーによるアラート ルール管理
Terraform の LogicMonitor プロバイダーを介して、LogicMonitor のアラート ルールを作成、更新、取得、削除できます。
アラート ルールを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。
| Use Case | エンドポイント |
| アラートルールの作成 | POST/setting/alert/rules |
| アラートルールの更新 | PUT/setting/alert/rules/{id} |
| アラートルールを削除する | DELETE/setting/alert/rules/{id} |
| アラートルールを取得する | GET/setting/alert/rules |
LogicMonitor ポータルを使用してアラート ルールを追加する方法の詳細については、次を参照してください。 アラートルール.
LogicMonitor Terraform プロバイダーによるエスカレーション チェーン管理
Terraform の LogicMonitor プロバイダーを介して、LogicMonitor でエスカレーション チェーンを作成、更新、削除できます。
エスカレーション チェーンを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。
| Use Case | エンドポイント |
| エスカレーション チェーンの作成 | POST/setting/alert/chains |
| エスカレーションチェーンを更新する | PUT/setting/alert/chains/{id} |
| エスカレーションチェーンを削除する | DELETE/setting/alert/chains/{id} |
LogicMonitor ポータルを使用してエスカレーション チェーンを追加する方法の詳細については、次を参照してください。 エスカレーションチェーン.
LogicMonitor Terraform プロバイダーを使用した Web サイト管理
Terraform の LogicMonitor プロバイダーを介して、LogicMonitor に対する Webcheck と pingcheck を作成、更新、取得、削除できます。
Web サイトを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。
| Use Case | エンドポイント |
| ウェブサイトを作成する | POST /setting/website/websites |
| ウェブサイトを更新 | PUT /setting/website/websites/{id} |
| ウェブサイトを削除する | DELETE /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 /setting/website/groups |
| Web サイトグループを更新する | PUT /setting/website/groups/{id} |
| Webサイトグループの削除 | DELETE /setting/website/groups/{id} |
| Web サイトグループの取得 | GET /setting/website/groups |
LogicMonitor ポータルを使用して Web サイト グループを追加する方法の詳細については、次を参照してください。 Webサイトグループの追加.
LogicMonitor Terraform プロバイダーを使用した Service Insight 管理
Terraform の LogicMonitor プロバイダーを使用して、サービス インサイトを作成、更新、取得、削除できます。 LM™ Service Insight は、新しい LogicMonitor リソース タイプである Services に基づいています。サービスは、1 つ以上の監視対象デバイスにわたるインスタンスで構成されます。 「データの集約」の収集方法を持つデータソースはサービスに適用され、これらのデータソース内のデータポイントは、どのデータをどのように集約する必要があるかを指定します。データは、サービスを構成するすべてのインスタンスにわたって DataSource に従って集約されます。
Terraform の LogicMonitor プロバイダーを通じてサービスの分析情報を管理するには、次の手順を実行します。
- デバイスAPIエンドポイントとメソッドを使用してサービスを作成します。詳細については、 LogicMonitorTerraformプロバイダーを使用したデバイス管理.
注意: サービスを作成するには、device_type = 6 を使用してプロバイダーからデバイス リソースを追加する必要があります。
- 次の API エンドポイントとメソッドを使用して、サービスのデータソースを追加します。
| Use Case | エンドポイント |
| サービスインサイトの作成 | POST /setting/datasources |
| サービスインサイトの更新 | PUT /setting/datasources/{id} |
| サービスインサイトの削除 | DELETE /setting/datasources/{id} |
| サービスに関する洞察を得る | GET /setting/datasources |
LogicMonitor ポータルを使用したサービスの追加の詳細については、次を参照してください。 サービスの追加.
LogicMonitor Terraform プロバイダーを使用したダッシュボード リソース管理
Terraform の LogicMonitor プロバイダーを使用して、ダッシュボードを作成、更新、削除できます。
ダッシュボードを管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。
| Use Case | エンドポイント |
| ダッシュボードを作成する | POST /dashboard/dashboards |
| ダッシュボードを更新 | PUT /dashboard/dashboards/{id} |
| ダッシュボードを削除 | DELETE /dashboard/dashboards/{id} |
| ダッシュボードを入手 | GET /dashboard/dashboards |
LogicMonitor Terraform プロバイダーによるスケジュールされたダウンタイム管理
Terraform の LogicMonitor プロバイダーを使用して、スケジュールされたダウンタイム (SDT) を作成、更新、取得、削除できます。
SDT を管理するために、LogicMonitor Terraform プロバイダーは次の LogicMonitor API エンドポイントとメソッドを使用します。
| Use Case | エンドポイント |
| SDTを作成する | /sdt/sdts を POST する |
| SDT を更新 | /sdt/sdts/{id} を配置します |
| SDTを削除 | /sdt/sdts/{id} を削除 |
| SDTを入手 | /sdt/sdts を取得する |
LogicMonitor Terraform プロバイダーは、次の SDT リソース タイプをサポートしています。
- リソースSDT
- コレクターSDT
- デバイスデータソースインスタンスSDT
- デバイスバッチジョブSDT
- デバイスデータソースインスタンスグループSDT
- デバイスデータソースSDT
- デバイスイベントソースSDT
- リソースグループSDT
LogicMonitor Terraform プロバイダーによるレポート グループ管理
レポート グループを使用すると、レポート グループを自動的に作成および管理することで、複数の LogicMonitor レポートの構成が簡素化されます。
次の表は、LogicMonitor レポート グループを管理するために LogicMonitor Terraform プロバイダーが使用する LogicMonitor API エンドポイントとメソッドを示しています。
| Use Case | エンドポイント |
| レポートグループの作成 | POST /report/groups |
| 更新レポートグループ | /report/groups/{id} を配置する |
| レポートグループの削除 | /report/groups/{id} を削除 |
| レポートグループを取得 | /report/groups を取得する |
LogicMonitor Terraform プロバイダーによるロール管理
LogicMonitor Terraform プロバイダーは、ロールを作成および管理することで、LogicMonitor ユーザー権限の管理を効率化します。
次の表は、LogicMonitor Terraform プロバイダーが LogicMonitor ロールを管理するために使用する LogicMonitor API エンドポイントとメソッドを示しています。
| Use Case | エンドポイント |
| ロールを作成 | POST /settings/roles |
| 役割の更新 | /settings/roles{id} を実行する |
| ロールを削除 | /settings/roles/{id} を削除 |
| 役割を取得 | GET /settings/roles |