dj-wasabi.zabbix-proxy

目录

- [概述](#概述)
- [升级](#升级)
  * [1.0.0](#100)
  * [操作系统](#操作系统)
  * [Zabbix 版本](#zabbix-版本)
    + [Zabbix 4.2](#zabbix-42)
    + [Zabbix 4.0](#zabbix-40)
    + [Zabbix 3.4](#zabbix-34)
    + [Zabbix 3.2](#zabbix-32)
    + [Zabbix 3.0](#zabbix-30)
    + [Zabbix 2.4](#zabbix-24)
    + [Zabbix 2.2](#zabbix-22)
- [角色变量](#角色变量)
- [依赖项](#依赖项)
- [示例剧本](#示例剧本)
- [许可证](#许可证)
- [作者信息](#作者信息)

# 概述

该角色已迁移至: https://github.com/ansible-collections/community.zabbix/
在这个仓库中,将为无法使用集合(尚未)的人提供一个只读版本。更改/更新将仅应用于集合,而不在此仓库中。

# 升级

## 1.0.0

在这个 1.0.0 版本中,做了以下更改:

* 所有属性现在都以 `zabbix_` 开头。例如,属性名 `proxy_dbhost` 现在是 `zabbix_proxy_dbhost`## 操作系统

该角色将在以下操作系统上运行:

 * 红帽
 * Debian
 * Ubuntu

所以,你需要其中一种操作系统.. :-)
如果你想在其他操作系统上使用这个角色,请发送 Pull Requests 或建议。

## Zabbix 版本

请查看以下支持的操作系统与 Zabbix 版本的列表。

### Zabbix 4.4

  * CentOS 7.x, 8.x
  * Amazon 7.x
  * RedHat 7.x, 8.x
  * OracleLinux 7.x, 8.x
  * Scientific Linux 7.x, 8.x
  * Ubuntu 14.04, 16.04, 18.04
  * Debian 8, 9

### Zabbix 4.2

  * CentOS 7.x
  * Amazon 7.x
  * RedHat 7.x
  * OracleLinux 7.x
  * Scientific Linux 7.x
  * Ubuntu 14.04, 16.04, 18.04
  * Debian 8, 9

### Zabbix 4.0

  * CentOS 7.x
  * Amazon 7.x
  * RedHat 7.x
  * OracleLinux 7.x
  * Scientific Linux 7.x
  * Ubuntu 14.04, 16.04, 18.04
  * Debian 8, 9

### Zabbix 3.4

  * CentOS 7.x
  * Amazon 7.x
  * RedHat 7.x
  * OracleLinux 7.x
  * Scientific Linux 7.x
  * Ubuntu 14.04, 16.04
  * Debian 7, 8, 9

### Zabbix 3.2

  * CentOS 7.x
  * Amazon 7.x
  * RedHat 7.x
  * OracleLinux 7.x
  * Scientific Linux 7.x
  * Ubuntu 14.04, 16.04
  * Debian 7, 8

### Zabbix 3.0

  * CentOS 5.x, 6.x, 7.x
  * Amazon 5.x, 6.x, 7.x
  * RedHat 5.x, 6.x, 7.x
  * OracleLinux 5.x, 6.x, 7.x
  * Scientific Linux 5.x, 6.x, 7.x
  * Ubuntu 14.04
  * Debian 7, 8

### Zabbix 2.4

  * CentOS 6.x, 7.x
  * Amazon 6.x, 7.x
  * RedHat 6.x, 7.x
  * OracleLinux 6.x, 7.x
  * Scientific Linux 6.x, 7.x
  * Ubuntu 12.04, 14.04
  * Debian 7

### Zabbix 2.2

  * CentOS 5.x, 6.x
  * RedHat 5.x, 6.x
  * OracleLinux 5.x, 6.x
  * Scientific Linux 5.x, 6.x
  * Ubuntu 12.04
  * Debian 7

# 角色变量

## 主要变量

在 default/main.yml 中有一些变量可以(或需要)更改/覆盖:

* `zabbix_server_host`:zabbix-server 机器的 IP 或 DNS 名称。

* `zabbix_server_port`:zabbix-server 运行的端口。默认:10051

* `zabbix_version`:这是 Zabbix 的版本。默认是 4.2,但可以覆盖为 4.0/3.4/3.2/3.0/2.4/2.2。

* `zabbix_proxy_{rhel,debian,ubuntu}_version`:这是 Zabbix 代理的版本。例如 4.4.4/4.2.5/4.2.8。

* `zabbix_repo`:真/假。如果您已拥有一个包含 Zabbix 组件的库,则可以将其设置为假。

* `*zabbix_proxy_package_state`:默认:_present_。可以覆盖为 "latest" 以在需要时更新软件包。

* `zabbix_proxy_install_database_client`:真/假。假则不安装数据库客户端。默认:真。

* `zabbix_agent_become_on_localhost`:如果您不需要在本地提升权限以本地安装软件包,请设置为 `False`。默认:真。

* `zabbix_proxy_manage_service`:真/假。如果您在高可用集群设置(例如 Pacemaker)中运行多个 Zabbix 代理,则不希望 Ansible 管理 zabbix-proxy 服务,因为 Pacemaker 控制 zabbix-proxy 服务。

* `zabbix_install_pip_packages`:如果您不想安装所需的 pip 包,请设置为 `False`。在完全控制环境时很有用。默认:真。

有一些特定于 zabbix-proxy 的变量将用于 zabbix-proxy 配置文件,这些变量可以在 default/main.yml 文件中找到。其中有 2 个需要一些解释:

```bash
  #zabbix_proxy_database: mysql
  #zabbix_proxy_database_long: mysql
  #zabbix_proxy_database: sqlite3
  #zabbix_proxy_database_long: sqlite3
  zabbix_proxy_database: pgsql
  zabbix_proxy_database_long: postgresql

支持的数据库类型有三种:mysql/postgresql 和 sqlite。您需要注释或取消注释您希望使用的数据库。例如,上面的示例使用 postgresql 数据库。如果您想使用 mysql,请取消注释 mysql 的 2 行,并注释掉 postgresql 的 2 行。

如果使用 mysql,则应定义 mysql 用户名、密码和主机以准备 zabbix 数据库,否则将被视为其默认值(因此,连接到数据库将被视为连接到没有密码的本地主机)。相关的键如下: zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password

TLS 特定配置

这些变量特定于 Zabbix 3.0 及更高版本:

  • *zabbix_proxy_tlsconnect:代理如何连接到服务器或代理。用于主动检查。

    可能的值:

    • 无加密
    • PSK
    • 证书
  • *zabbix_proxy_tlsaccept:接受哪些传入连接。

    可能的值:

    • 无加密
    • PSK
    • 证书
  • *zabbix_proxy_tlscafile:包含顶级 CA(Certification Authority)证书的文件的完整路径。

  • *zabbix_proxy_tlscrlfile:包含撤销证书的文件的完整路径。

  • *zabbix_proxy_tlsservercertissuer:允许的服务器证书颁发者。

  • *zabbix_proxy_tlsservercertsubject:允许的服务器证书主题。

  • *zabbix_proxy_tlscertfile:包含代理证书或证书链的文件的完整路径。

  • *zabbix_proxy_tlskeyfile:包含代理私钥的文件的完整路径。

  • *zabbix_proxy_tlspskidentity:用于标识预共享密钥的唯一、区分大小写的字符串。

Zabbix API 变量

在您希望使用 zabbix-api 自动创建和更新主机时,需要覆盖这些变量。

主机加密配置将设置为与代理配置匹配。

zabbix_api_create_proxy 设置为 True 时,它将在执行 Ansible 剧本的主机上安装 zabbix-api python 模块。

  • zabbix_url:Zabbix 网页的可用网址。例如:http://zabbix.example.com

  • zabbix_api_http_user:用于通过基本身份验证访问 Zabbix URL 的 HTTP 用户。

  • zabbix_api_http_password:用于通过基本身份验证访问 Zabbix URL 的 HTTP 密码。

  • zabbix_api_create_proxy:当您希望启用 Zabbix API 创建/删除代理时。这必须设置为 True,如果您想使用 zabbix_create_proxy。默认:False

  • zabbix_api_user:具有 API 访问权限的用户的用户名。

  • zabbix_api_pass:具有 API 访问权限的用户的密码。

  • zabbix_create_proxy:如果需要创建代理则为 present(默认),如果要删除它则为 absent。这只有在 zabbix_api_create_proxy 设置为 True 时有效。

  • zabbix_proxy_status:如果代理需要处于活动状态则为 active(默认),否则为 passive。

依赖项

您需要自己寻找正确的数据库角色。我只想使用支持这三种主要操作系统的角色,目前我找不到。如果有支持这三种操作系统的角色,请告诉我,我会将其作为依赖项使用。

示例剧本

包含一个如何使用您角色的示例(例如,将变量作为参数传递)对于用户来说也是很好的:

- hosts: zabbix-proxy
  sudo: yes
  roles:
     - { role: dj-wasabi.zabbix-proxy, zabbix_server_host: 192.168.1.1, database_type: pgsql, database_type_long: postgresql }

许可证

GPLv3

作者信息

这是我第一次尝试创建 ansible 角色,因此请发送建议或 Pull Requests 以使这个角色更好。

Github: https://github.com/dj-wasabi/ansible-zabbix-proxy

邮件: ikben [ at ] werner-dijkerman . nl ```

关于项目

Installing and maintaining zabbix-proxy for RedHat/Debian/Ubuntu.

安装
ansible-galaxy install dj-wasabi.zabbix-proxy
许可证
mit
下载
70.9k
拥有者
DevOps Engineer, Technical reviewer Packt Pub / Manning / BPB Online / O'Reilly Media