CoffeeITWorks.ansible_nagios4_server_config
役割名
この役割はNagiosを設定し、GitリポジトリからNagiosの設定を同期します。 この役割は他のAnsibleCoffeeのNagios役割プラグイン、Thrukインターフェース、PNP4Nagiosなどと互換性があります。
要件
特に要件はありません。システムを最新の状態に保ってください。 現在のところ、Ubuntu 14.04でのみテストされています。
役割の配布サポート
Ubuntu: OK
RedHat: 未対応
役割変数
すべての変数はdefaults/main.ymlで確認できます。
あなたのhost_vars または group_vars に追加してください:
追加のNagios設定オプション
読み取り専用に設定を追加します:
nagios_cgi_authorized_for_read_only: user1, user2
または、指定した権限を変更します:
nagios_cgi_authorized_for_system_information: nagiosadmin
nagios_cgi_authorized_for_configuration_information: nagiosadmin
nagios_cgi_authorized_for_system_commands: nagiosadmin
nagios_cgi_authorized_for_all_services: nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_hosts: nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_service_commands: nagiosadmin
nagios_cgi_authorized_for_all_host_commands: nagiosadmin
ホストに不要な通知を無効にするにはhost_vars/hostnameを使用します
nagios_config_enable_notifications: 0
リポジトリをクローンする機能
設定を指定のサブディレクトリにクローンするためのGitリポジトリを設定したい場合、この機能は非常に便利です。 例えば複数のリポジトリを持つことができます:
- ネットワークリポジトリ, ディレクトリ: "net"
- サーバーリポジトリ, ディレクトリ: "servers"
- サービスリポジトリ, ディレクトリ: "services"
これらのいくつかを再利用したり、この変数に異なる設定を追加して他のホストに使用できます:
- サービスチェックなしのリモートホスト
- テストリポジトリを持つテストサーバー, ディレクトリ: "testing" 及びすべての前述のリポジトリ。
各リポジトリを更新するたびにすべてのサーバーを同期させるために、Ansible-playbookタスクで tag: "config_nagios" を使用できます。
さらに良いことに: JenkinsのGitフックのようなものを使って、 config_nagios タグを呼び出すタスクを自動的に実行し、新しい設定をNagiosリポジトリにプッシュするたびにすべてのサーバーが自動的に同期されます。
例:
nagios_config_cfg_dirs_git:
- { repo: "http://server/user/repo.git", version: "master", dir: "repo"}
- { repo: "http://users:password@server/user/repo2.git", version: "master", dir: "repo2"}
SSHキーを使用する別の変数も利用可能です:
まず、Ansibleのリモートユーザー用にリモートサーバー上にキーのディレクトリを作成します。
cd
mkdir keys
次に、鍵を生成し、nagios_key_rsaとして保存します。
nagios_config_cfg_dirs_git_rsa:
- { repo: "git@server:user/repo.git", version: "master", dir: "repo"}
nagios_config_cfg_dirs_git_rsa 変数が存在する場合、この役割は /home/remoteuser/keys/nagios_key_rsa を探して使用します。
依存関係
他のGalaxyにホストされている役割のリストはここに記載し、他の役割に設定が必要なパラメータや、他の役割から使用される変数に関する詳細を加えてください。
例のプレイブック
役割の完全なリスト:
- name: Nagios設定を適用
hosts: nagios4_servers
become: yes
become_method: sudo
roles:
- { role: nagios4_server, tags: ["install", "nagios4_server_all", "nagios4_server"] }
- { role: nagios4_server_plugins, tags: ["install", "nagios4_server_all", "nagios4_server_plugins"] }
- { role: nagios4_server_pnp4nagios, tags: ["install", "nagios4_server_all", "nagios4_server_pnp4nagios"] }
- { role: nagios4_server_snmptrap, tags: ["install", "nagios4_server_all", "nagios4_server_snmptrap"] }
- { role: ANXS.mysql, tags: ["install", "nagios4_server_all", "nagios4_server_thruk", "ANXS.mysql"] }
- { role: nagios4_server_thruk, tags: ["install", "nagios4_server_all", "nagios4_server_thruk"] }
- { role: postfix_client, tags: ["install", "nagios4_server_all", "postfix_client"] }
# 追加のタグ: role/tag
# nagios4_server - config_nagios
# nagios4_server - nagios4_server_main_config
# nagios4_server - config_nagios_cron
# nagios4_server_plugins - config_nagios_plugins
# nagios4_server_plugins - test_nagios_plugins
# nagios4_server_pnp4nagios - test_nagios_pnp4nagios
# nagios4_server_thruk - config_nagios_thruk_cron
# nagios4_server_thruk - test_nagios_thruk
# nagios4_server_thruk_git - config_nagios_thruk_git_cron
タグ:
nagios4_server_main_config
nagios_config
config_nagios_cron
ファイアウォールの背後で
ファイアウォールで保護されているホストにクライアントが接続するためには、これらのポートを開く必要があります:
TCP:
- Ping: host-alive
- 5666: nrpe (WindowsおよびLinux)
- 1248: nsclient (Windowsのみ)
- 9666: カスタムnrpeのため, 5666が使用されます
- 22: sshチェック
- 80, 443: http、httpsチェック
UDP:
- 161: SNMPチェック
ライセンス
BSD
著者情報
メイン著者: Diego Daguerre, Pablo Estigarribia. サイト: https://github.com/ansiblecoffee
Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config