dorancemc.ansible_nagioscore

Nagios Core

部署 Nagios Core 的角色

要求

角色变量

对象在 YAML 文件中定义,并从模板转换为配置文件。
您可以在 default/main 文件夹中查看变量的更多详细信息。

每个操作系统定义的变量存储在 vars/ 文件夹中。

请替换 vars.yaml 文件中的默认值,并加密该文件。

要修改变量数据,请将 main 文件夹中的 nagios 文件夹复制到您的本地清单文件夹,最好是 group_vars/ 或 host_vars/ 文件夹中。

- 主机和服务

主机和服务可以在一个变量中定义,也可以按文件分别定义。
在 localhost.yaml 中,您会找到定义新主机的示例。 将 files/nagios 文件夹复制到您喜欢的位置。

您可以按主机创建文件以定义主机和服务。创建文件夹并更新变量以指示文件的路径位置。
# nagios_hosts_path: inventory/nagios_hosts

在 inventory 文件夹中创建一个如下所示的文件:

_host:
  host_name: 主机名 # 必填
  address: 192.168.0.1 # 如果未定义,将用名称代替
  alias: 服务器描述
  use: template # 如果未定义,使用 nagios_host_template_default 作为默认模板
_services:
  servicename: servicecommand!arguments # 使用 'nagios_service_template_default' 作为服务模板
  servicename-other: 
    use: service_template
    check_command: servicecommand!arguments!arguments # 语法: <command_name>!$ARG1$!$ARG2$
                                                    # 查看 commands.yaml 文件以验证 servicecommand 和参数

nagios_hostgroupsnagios_servicegroups 变量中定义主机组和服务组,
然后您可以添加主机和服务属于哪个组。

- 联系人

查看 contacts.yaml 以获取有关变量的更多详细信息。
要确保用户已从 httpasswd 文件中删除,请在联系人定义中添加数据 state: absent
该用户将从联系人定义和 htpasswd 文件中删除。

- 联系人组

联系人组是处理通知的最佳方式,创建联系人并加入组。
如果在主机上定义了 contact_group,则所有服务都将继承相同的联系人组,
或者您可以为每个服务定义一个联系人组。

依赖关系

示例剧本

定义您的 nagios 组并在此包含所有 nagios 服务器。

[nagios]
nagios.example.com ansible_host=192.168.243.220

在您的剧本默认中包含以下内容:

- hosts: nagios
  roles:
    - { role: dorancemc.ansible-nagioscore, tags: [ nagioscore ] }

运行您的剧本以应用此角色:

ansible-playbook --limit ubuntu playbook.yaml --tags nagioscore

如果您只想应用配置,您可以只应用 nagios_config 标签:

ansible-playbook --limit ubuntu playbook.yaml --tags nagios_config

Grafana

此部署支持与 Grafana 的集成。部署后,您可以手动安装 Grafana
并按照此说明完成集成。
https://support.nagios.com/kb/article/nagios-core-using-grafana-with-pnp4nagios-803.html#Grafana_Config

或者使用 Ansible 配方并配置这些变量以完成集成。
https://github.com/cloudalchemy/ansible-grafana

grafana_plugins:
  - sni-pnp-datasource

grafana_datasources:
  - name: PNP
    type: sni-pnp-datasource
    isDefault: true
    access: proxy
    url: 'http://127.0.0.1/pnp4nagios/'
    basicAuth: false

许可证

BSD

作者信息

Dorance Martinez @dorancemc

关于项目

Role to install Nagios Core and run hosts configuration

安装
ansible-galaxy install dorancemc.ansible_nagioscore
许可证
Unknown
下载
84
拥有者