サポートセンターホーム


Puppet4の統合

Puppetは、システム管理者がインフラストラクチャのプロビジョニングと構成を管理できるようにするIT自動化ソフトウェアです。 システム管理者は、正しいインフラストラクチャ構成を維持することに加えて、停止を防ぐために監視にさらに依存していることを知っています。 Puppetモジュールはこれを念頭に置いて作成されており、PuppetインフラストラクチャコードでLogicMonitorアカウントも管理できます。 これにより、正しいデバイスプロパティが維持されていること、デバイスが正しいコレクターによって監視されていること、デバイスが適切なデバイスグループに残っていることなどを確認できます。

注意:

  • このモジュールは、Puppetバージョン3および4と互換性があり、当社の異なる(新しい)バージョンです。 元のモジュール
  • このモジュールは、Linuxサーバーとのみ互換性があります。 Windowsの互換性は、将来のリリースで追加される可能性があります。
  • このモジュールにはPuppetDBが必要です

モジュールの概要

LogicMonitorのPuppetモジュールは、5つのクラスと4つのカスタムリソースタイプを定義します。

クラス

  • ロジックモニター:LogicMonitorAPIとの対話に必要な資格情報の設定を処理します
  • logicmonitor :: master:エクスポートされたlm_deviceリソースとlm_devicegroupリソースを収集します。 LogicMonitorAPIと通信します
  • logicmonitor :: collector:デバイスのLogicMonitorコレクター管理を処理します。 lm_collectorおよびlm_installerリソースのインスタンスを宣言します
  • logicmonitor :: device:エクスポートされたlm_deviceリソースを宣言します
  • logicmonitor :: device_group:エクスポートされたlm_device_groupリソースを宣言します

リソースタイプ

  • lm_device_グループヘッド:LogicMonitorデバイスグループの処理の動作を定義します。 エクスポートされたリソースの使用をお勧めします
  • lm_device:LogicMonitorデバイスの処理動作を定義します。 logicmonitor :: deviceクラス内でのみ使用されます
  • lm_collector:LogicMonitorコレクターの処理動作を定義します。 logicmonitor :: collectorクラスでのみ使用されます
  • lm_installer:LogicMonitorコレクターバイナリインストーラーの処理動作を定義します。 logicmonitor :: collectorクラス内でのみ使用されます

Requirements

LogicMonitorのPuppetModuleを使用するには、次のものがあることを確認する必要があります。

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

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

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

有効にすると、構成情報を保存するためにPuppetDBが必要になります。

5. デバイス構成

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

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

LogicMonitorのPuppetModuleは、次のXNUMXつの方法のいずれかでインストールできます。

  1. 使用して Puppetのモジュールツール
  2. 使用して GitHubの

Puppetのモジュールツールの使用

Puppet Masterで次のコマンドを実行して、で公開されているLogicMonitor PuppetModuleの最新バージョンをダウンロードしてインストールします。 パペットフォージ:

$ puppet module installlogicmonitor-logicmonitor

GitHubの使用

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

始めに

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

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

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

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

 

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

これは、LogicMonitorモジュールの最上位クラスです。 PuppetMasterで定義する必要があるだけです。 目的は、すべての子クラスで使用されるLogicMonitor資格情報を設定することです。

パラメーター

製品説明

入力

アカウント LogicMonitorアカウント名。 たとえば、https://mycompany.logicmonitor.comにログインする場合、アカウントは「mycompany」である必要があります 文字列
access_id デバイス、グループ、およびコレクターを管理するためのアクセス権を持つLogicMonitorユーザーのAPIアクセスID。 Puppetによって実行されたアクションは、このAPIアクセスIDに関連付けられた監査ログに表示されます。 Puppetアカウント専用のユーザーを作成することをお勧めします。 文字列
アクセスキー LogicMonitorユーザーPuppetに関連付けられたAPIアクセスキーは、に代わって変更を加えます。 文字列
  • クラス:logicmonitor :: master(modules /logicmonitor/manifests/master.pp)

マスタークラスは、グループおよびデバイス管理のために、LogicMonitorモジュールとLogicMonitorアカウント間の通信を可能にします。 このクラスは、 コレクタ lm_deviceおよびlm_devicegroupがエクスポートしたリソースの場合。 これにより、競合が防止され、LogicMonitorAPIと通信するための単一の連絡先が提供されます。 このクラスは、単一のデバイスで明示的に宣言する必要があります。 注: logicmonitor :: collector 影響により logicmonitor :: master クラスは、発信httpsリクエストを実行できる必要があります。

パラメータ:なし

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

このクラスは、指定されたノードでのLogicMonitorコレクターの作成、ダウンロード、およびインストールを管理します。

  • コレクターノードの唯一の絶対的な要件は、それがLinuxであり、ポート443を介して発信SSL接続を確立できることです。
  • コレクターシステムには少なくとも1GのRAMが搭載されていることをお勧めします
  • コレクターが100を超えるデバイスのデータを収集する場合は、そのコレクター専用のマシンを使用することをお勧めします。

パラメーター

製品説明

入力

install_dir LogicMonitorコレクターをインストールするためのパス。 有効なディレクトリパス。 デフォルトは「/ usr / local / logicmonitor」です
  • クラス:logicmonitor :: device(modules /logicmonitor/manifests/device.pp)

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

パラメーター

製品説明

入力

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

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

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

パラメーター

製品説明

入力

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

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

logicmonitor :: collectorを含める

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

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

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

@@ lm_device_group {"/ parent / child / grandchild / greatgrandchild":ensure => present、disable_alerting => false、properties => {"snmp.community" => "n3wc0mm"、 "mysql.port" => 9999、 " fake.pass "=>" 12345 "}、description =>"これは説明です "、}

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

記事上で