サポートセンターホーム


人形の統合

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を使用するには、次のものがあることを確認する必要があります。

  1. Ruby1.8.7または1.9.3
  2. パペット3.X
  3. JSON Ruby gem (Ruby 1.9.3にデフォルトで含まれています)
  4. 構成をPuppetに保存する

ストア構成は、 エクスポートされたリソース このモジュールで使用されます。 ストア構成を有効にするには、次のように、storeconfigs = trueをpuppet.confファイルの[master]セクションに追加します。

#/ etc / puppet / puppet.conf [master] storeconfigs = true

有効にすると、Puppetには構成情報を保存するためのデータベースが必要になります。 人形はお勧めします PuppetDB、ただし、他のデータベースソリューションも利用できます。

4. デバイス構成

他のLogicMonitorデバイスと同様に、コレクターはデータを収集するためにデバイスと通信する必要があります。 正しいことを確認してください プロパティと認証プロトコル Puppetインストールの一部として構成されます。

LogicMonitorPuppetモジュールのインストール

LogicMonitorの元のPuppetモジュールはGitHubからインストールできます。

$ cd / etc / puppet / modules $ git clone git://github.com/logicmonitor/logicmonitor-puppet.git $ mv logicmonitor-puppet logicmonitor

始めに

LogicMonitorのPuppetModuleをインストールしたら、次のセクションの使用を開始できます。

Puppetの新しいユーザーを作成します

を作成することをお勧めします 新製品 Puppetノード内で排他的に使用して監査ログでPuppetによって行われた変更を追跡する、LogicMonitorアカウントの管理者権限を持つユーザー。

Puppetの新しいユーザーを作成します

 

  • クラス:logicmonitor(modules /logicmonitor/manifests/init.pp)

これは、LogicMonitorモジュールの最上位クラスです。 目的は、すべての子クラスで使用されるLogicMonitor資格情報を設定することです。 このクラスを明示的に宣言すると、logicmonitor :: configクラスに設定されているデフォルトの資格情報が上書きされます。 このクラスは明示的に宣言する必要はありません。

パラメーター

製品説明

入力

アカウント LogicMonitorアカウント名。 たとえば、https://mycompany.logicmonitor.comにログインする場合、アカウントは「mycompany」である必要があります ストリング。 デフォルトは$ account logicmonitor :: config
user ホスト、グループ、およびコレクターを管理するためのアクセス権を持つLogicMonitorユーザーのユーザー名。 Puppetによって実行されたアクションは、このユーザーとして監査ログに表示されます。 Puppetアカウント専用のユーザーを作成することをお勧めします。 ストリング。 logicmonitor :: configのデフォルトは$ user
パスワード LogicMonitorユーザーPuppetに関連付けられたパスワードは、に代わって変更を加えます。 ストリング。 logicmonitor :: configのデフォルトは$ passwordです
  • クラス: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を超えるホストのデータを収集する場合は、そのコレクター専用のマシンを使用することをお勧めします。

パラメーター

製品説明

入力

install_dir LogicMonitorコレクターをインストールするためのパス。 有効なディレクトリパス。 デフォルトは「/ usr / local / logicmonitor」です

コレクターをノードに追加するには:

logicmonitor :: collectorを含める

コレクターをインストールする特定の場所を指定する場合:

class {"logicmonitor :: collector":install_dir => $ install_dir、}

クラス:logicmonitor :: host(modules /logicmonitor/manifests/host.pp)

このクラスは、LogicMonitorアカウントにデバイスを追加するために使用されます。 Puppetを介して管理されるデバイスでは、デバイス定義で指定されていないプロパティが削除されます。

パラメーター

製品説明

入力

コレクタ コレクターマシンの完全修飾ドメイン名。 これは、コレクターマシンでhostname-fを実行することで見つけることができます。 ストリング。 デフォルトなし(必須)
hostname ノードのIPアドレスまたは完全修飾ドメイン名。 これは、コレクターがこのデバイスに到達する方法です。 ストリング。 デフォルトは $ fqdn
表示名 LogicMonitorアカウントに表示する人間が読める形式の名前。 例:「dev2.den1」 ストリング。 デフォルトは $ fqdn
説明 ホストの長いテキストの説明。 これは、LogicMonitorアカウントのデバイスにカーソルを合わせると表示されます。 ストリング。 デフォルトなし(オプション)
アラートを有効にする デバイスのアラートをオンまたはオフにします。 親グループがalertenable = falseに設定されている場合、子ホストのアラートもオフになります。 ブール値、デフォルトはTrue。
グループヘッド デバイスがメンバーになる必要があるグループのリスト。 各グループは、そのフルパスを表す文字列です。 例:「/ linux / production」 リスト。 デフォルトなし(オプション)
プロパティ ホストに設定するプロパティのハッシュ。 各エントリは「propertyName」=>「propertyValue」である必要があります。 例:{“ mysql.port” => 6789、“ mysql.user” =>“ dba1”} ハッシュ。 デフォルトなし(オプション)

class {'logicmonitor :: host':collector => "qa1.domain.com"、hostname => "10.171.117.9"、groups => ["/ Puppetlabs"、 "/ Puppetlabs / Puppetdb"]、properties => { "snmp.community" => "Puppetlabs"}、description => "このデバイスはこのデプロイメントのPuppetDBインスタンスをホストします"、} class {'logicmonitor :: host':collector => $ fqdn、displayname => "MySQL Production Host 1 "、グループ=> [" / Puppet "、" / production "、" / mysql "]、プロパティ=> {" mysql.port "=> 1234}、}

デバイスグループの追加:

タイプ:Lm_hostgroup デバイスグループは、を使用して追加する必要があります エクスポートされたリソース 衝突を防ぐため。 logicmonitor :: masterクラスが含まれているのと同じノードからデバイスグループを追加することをお勧めします。 デバイスは、XNUMX、XNUMX、または多数のデバイスグループに含めることができます。 デバイスグループは、LogicMonitorデバイスの表示方法と管理方法を整理するために使用され、コレクターを必要としません。 デバイスグループレベルで設定されたプロパティは、グループに追加されたすべてのデバイスに継承されます。

パラメーター

製品説明

入力

名前変数 puppet namevarは、リソースを一意に識別するために使用されます。 フルパスパラメータが空の場合、namevarがフルパスとして使用されます。 ストリング。 デフォルトなし(必須)
フルパス ホストグループのフルパス。 たとえば、親グループ「foo」を持つホストグループ「bar」のフルパスは「/ foo / bar」になります。 ストリング。 デフォルトは$ namevarです。 (必須)
確保 人形 確保 パラメータに一致する最初のデバイスのリモートコントロール URL を返します。 有る無し。 デフォルトなし(必須)
アラートを有効にする グループのアラートをオン/オフにします。 alertenableがfalseの場合、すべての子グループとホストでアラートが無効になります ブール値。 デフォルトはTrueです。
プロパティ ホストに設定するプロパティのハッシュ。 各エントリは「propertyName」=>「propertyValue」である必要があります。 例:{“ mysql.port” => 6789、“ mysql.user” =>“ dba1”}。 プロパティは、すべての子グループとホストに継承されます ハッシュ、デフォルトなし(オプション)
説明 ホストの長いテキストの説明。 これは、LogicMonitorアカウントのグループにカーソルを合わせると表示されます。 ストリング。 デフォルトなし(オプション)

デバイスグループのプロパティを追加および編集するには、以下の例のlm_hostgroupを使用します。

@@ lm_hostgroup {"/ parent / child / grandchild / greatgrandchild":ensure => present、alertenable => true、properties => {"snmp.community" => "n3wc0mm"、 "mysql.port" => 9999、 " fake.pass "=>" 12345 "}、description =>"これは、LMアカウントのホバーから黄色のボックスに表示される説明です "、}

動作中のモジュールのその他の例については、logicmonitor-puppet /README.mdを確認してください。

記事上で