人形の統合
Puppetは、システム管理者がインフラストラクチャのプロビジョニングと構成を管理できるようにするIT自動化ソフトウェアです。 LogicMonitorのPuppetモジュールを使用すると、PuppetインフラストラクチャコードでLogicMonitorアカウントも管理できます。
注意:
- このモジュールは、Linuxサーバーとのみ互換性があります。 Windowsの互換性は、将来のリリースで追加される可能性があります。
モジュールの概要
LogicMonitorのPuppetモジュールは、5つのクラスと4つのカスタムリソースタイプを定義します。
クラス
- logicmonitor:LogicMonitorAPIとの対話に必要な資格情報の設定を処理します
- logicmonitor :: config:デフォルトの資格情報をlogicmonitorクラスに提供します
- logicmonitor :: master:エクスポートされたlm_hostリソースとlm_hostgroupリソースを収集します。 LogicMonitorAPIと通信します
- logicmonitor :: collector:デバイスのLogicMonitorコレクター管理を処理します。 lm_collectorおよびlm_installerリソースのインスタンスを宣言します
- logicmonitor:host:エクスポートされたlm_hostリソースを宣言します
リソースタイプ
- lm_hostgroup:LogicMonitorデバイスグループの処理の動作を定義します。 エクスポートされたリソースの使用をお勧めします
- lm_host:LogicMonitorデバイスの処理動作を定義します。 logicmonitor :: hostクラス内でのみ使用されます
- lm_collector:LogicMonitorコレクターの処理動作を定義します。 logicmonitor :: collectorクラスでのみ使用されます
- lm_installer:LogicMonitorコレクターバイナリインストーラーの処理動作を定義します。 logicmonitor :: collectorクラス内でのみ使用されます
Requirements
LogicMonitorのPuppetModuleを使用するには、次のものがあることを確認する必要があります。
- Ruby1.8.7または1.9.3
- パペット3.X
- JSONRubyの宝石 (Ruby 1.9.3にデフォルトで含まれています)
- 構成をPuppetに保存する
ストア構成は、 エクスポートされたリソース このモジュールで使用されます。 ストア構成を有効にするには、次のように、storeconfigs = trueをpuppet.confファイルの[master]セクションに追加します。
有効にすると、Puppetには構成情報を保存するためのデータベースが必要になります。 人形はお勧めします PuppetDB、ただし、他のデータベースソリューションも利用できます。
4. デバイス構成
他のLogicMonitorデバイスと同様に、コレクターはデータを収集するためにデバイスと通信する必要があります。 正しいことを確認してください プロパティと認証プロトコル Puppetインストールの一部として構成されます。
LogicMonitorPuppetモジュールのインストール
LogicMonitorの元のPuppetモジュールはGitHubからインストールできます。
始めに
LogicMonitorのPuppetModuleをインストールしたら、次のセクションの使用を開始できます。
Puppetの新しいユーザーを作成します
を作成することをお勧めします 新製品 Puppetノード内で排他的に使用して監査ログでPuppetによって行われた変更を追跡する、LogicMonitorアカウントの管理者権限を持つユーザー。
- クラス:logicmonitor(modules /logicmonitor/manifests/init.pp)
これは、LogicMonitorモジュールの最上位クラスです。 目的は、すべての子クラスで使用されるLogicMonitor資格情報を設定することです。 このクラスを明示的に宣言すると、logicmonitor :: configクラスに設定されているデフォルトの資格情報が上書きされます。 このクラスは明示的に宣言する必要はありません。
- クラス:logicmonitor :: config(modules /logicmonitor/manifests/config.pp)
このクラスは、Puppet環境のデフォルトのLogicMonitorアカウント資格情報を設定するために使用されます。 このクラスは明示的に宣言する必要はありません。
パラメータ:なし
- クラス:logicmonitor :: master(modules /logicmonitor/manifests/master.pp)
マスタークラスは、グループおよびデバイス管理のために、LogicMonitorモジュールとLogicMonitorアカウント間の通信を可能にします。 このクラスは、 コレクタ lm_hostおよびlm_hostgroupがエクスポートしたリソースの場合。 これにより、競合が防止され、LogicMonitorAPIと通信するための単一の連絡先が提供されます。 このクラスは、単一のデバイスで明示的に宣言する必要があります。 注: logicmonitor :: collector 及び logicmonitor :: master クラスは、発信http(s)リクエストを作成できる必要があります。
パラメータ:なし
- クラス:logicmonitor :: collector(modules / logicmonitor / manifests / collector.pp)
このクラスは、指定されたノードでのLogicMonitorコレクターの作成、ダウンロード、およびインストールを管理します。
- コレクターノードの唯一の絶対的な要件は、Linuxであり、ポート443を介して発信SSL接続を確立できることです。
- コレクターシステムには少なくとも1GのRAMが搭載されていることをお勧めします
- コレクターが100を超えるホストのデータを収集する場合は、そのコレクター専用のマシンを使用することをお勧めします。
例
コレクターをノードに追加するには:
コレクターをインストールする特定の場所を指定する場合:
クラス:logicmonitor :: host(modules /logicmonitor/manifests/host.pp)
このクラスは、LogicMonitorアカウントにデバイスを追加するために使用されます。 Puppetを介して管理されるデバイスでは、デバイス定義で指定されていないプロパティが削除されます。
例
デバイスグループの追加:
タイプ:Lm_hostgroup デバイスグループは、を使用して追加する必要があります エクスポートされたリソース 衝突を防ぐため。 logicmonitor :: masterクラスが含まれているのと同じノードからデバイスグループを追加することをお勧めします。 デバイスは、XNUMX、XNUMX、または多数のデバイスグループに含めることができます。 デバイスグループは、LogicMonitorデバイスの表示方法と管理方法を整理するために使用され、コレクターを必要としません。 デバイスグループレベルで設定されたプロパティは、グループに追加されたすべてのデバイスに継承されます。
デバイスグループのプロパティを追加および編集するには、以下の例のlm_hostgroupを使用します。
動作中のモジュールのその他の例については、logicmonitor-puppet /README.mdを確認してください。