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.comzabbix_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 ```
ansible-galaxy install dj-wasabi.zabbix-proxy