sdarwin.nagios
Ansible ロール: Nagios
Nagios、NRPE(クライアントとサーバー両方)をインストールし、Ansibleの既存のホストインベントリに基づいてNagiosを自動的に設定します。
目標は、単一のAnsibleロールで完全なNagios監視システムを持ち、あまり手動での設定が必要ないことです。
前提条件
DNSまたは/etc/hostsの名前解決が動作していることを確認してください。例えば、web3.example.comのweb3にpingを送れることが必要です。
メールは推奨される前提条件で、Exim、Postfixなどの選択肢があります。
ロール変数
defaults/ディレクトリ内のすべての変数は上書きまたは変更できます。
連絡先/ユーザー:
NagiosのWeb GUIにログインできるユーザーをnagios_users変数に追加します:
nagios_users:
- user: nagiosadmin
pass: Password1change
email: nagiosadmin@example.com
より良い方法は、https://github.com/mivok/ansible-usersに互換性のあるusers変数を使用して、Nagiosの連絡先と管理者の両方を追加することです。
このプレイブックは、sysadminグループ内のユーザーを探し、そのユーザーをNagiosの管理者にします。
users変数を作成します。良い場所はgroup_vars/allです。以下は例です。
users:
- username: foo
name: Foo Barrington
groups: ['sysadmin']
uid: 1001
ssh_key:- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
htpasswd: $apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
nagios:
pager: "nagiosadmin_pager@example.com"
email: "nagiosadmin@example.com"
htpasswdの値はどこから来たのですか?htpasswdを手動で生成し、それをusersに貼り付けます。
htpasswd -n mario
mario:$apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
少なくとも1人のsysadminユーザーを設定する必要があります。そうしないとNagiosの連絡先は機能しません。
Nagios コマンド:
Nagiosのコマンドはnagios_commands変数にあります。詳細はdefaults/main.ymlを参照してください。
変数に追加することで、コマンドを増やすことができます。
Nagios サービス:
Nagiosのサービスは現在、nagios_host_groups内のホストグループごとの「チェック」にあります。詳細はdefaults/main.ymlを参照してください。
変数に追加することで、サービスを追加できます。ホストごとのサービスチェックは、defaults/main.yml内のnagios_hosts変数で同様に処理されます。
Nagios ホスト:
'all'グループ内のAnsibleホストはNagiosの監視対象ホストに変換されます。構成は不要です。
Nagios ホストグループ:
AnsibleグループはNagiosのホストグループに変換されます。構成は不要です。
ホストとホストグループのスキップ
以下の値はdefaults/main.ymlに設定されています:
nagios_hosts_ignore: ""
nagios_groups_ignore: ""
これらは、完全にスキップするべきホストまたはホストグループを含めるように上書きできます。例:
nagios_hosts_ignore:
- host1_skip_this_host
nagios_groups_ignore:
- hostgroup_dev_to_skip
- and_this_one
これはNagiosサーバーが無視/スキップするホストを決定します。これらのホストは構成から除外されます。
もう1つの考慮事項は、Ansibleプレイブックがすべてのサーバーで実行されるべきかどうかです。例のプレイブックdefault.ymlには「- hosts: all」が含まれており、すべての既知のサーバーにNagiosクライアントをインストールします。最上位のプレイブックを調整して、異なる「hosts:」ディレクティブを設定することもできます。しかし、すべてのサーバーに監視クライアントをインストールするのはおそらく問題ありません。
例のプレイブック
このロールのルートにあるdefault.ymlを参照してください。
クライアントをインストールするには:
roles:
- { role: 'sdarwin.nagios', run_nagios_client: true }
サーバーをインストールするには:
roles:
- { role: 'sdarwin.nagios', run_nagios_server: true }
NagiosサーバーをAnsibleインベントリのmonitoring-serversグループに追加します。例:
[monitoring-servers]
monitor.example.com
NagiosのURLはこの形式になります: http://monitor.example.com/nagios/
ライセンス
BSD
著者情報
Sam Darwinによる、2016年。既存のロールに基づいています。ACKNOWLEDGEMENTS.mdファイルを参照してください。
フィードバックやバグ報告は歓迎します。
ansible-galaxy install sdarwin.nagios