dj-wasabi.zabbix-proxy
目次
概要
このロールは次の場所に移行しました: https://github.com/ansible-collections/community.zabbix/ このリポジトリでは、コレクションを利用できない方のために、閲覧のみ可能なバージョンが利用可能です。変更やアップデートは、このリポジトリではなく、コレクションにのみ適用されます。
アップグレード
1.0.0
この1.0.0リリースでは、以下が変更されました:
- すべてのプロパティは
zabbix_
で始まります。たとえば、プロパティ名proxy_dbhost
は、zabbix_proxy_dbhost
になりました。
オペレーティングシステム
このロールは以下のオペレーティングシステムで動作します:
- Red Hat
- Debian
- Ubuntu
そのため、これらのオペレーティングシステムのいずれかが必要です。:-) 他のオペレーティングシステムでこのロールを使用したい場合は、プルリクエストや提案を送ってください。
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サーバーのIPまたはDNS名。zabbix_server_port
: Zabbixサーバーが動作しているポート。デフォルト: 10051zabbix_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.8zabbix_repo
: True / False。すでにZabbixコンポーネントを持つリポジトリがある場合は、Falseに設定できます。*zabbix_proxy_package_state
: デフォルト: _present_。必要に応じて「latest」に上書きしてパッケージを更新できます。zabbix_proxy_install_database_client
: True / False。Falseはデータベースクライアントをインストールしません。デフォルト: True。zabbix_agent_become_on_localhost
: ローカルホストでパッケージをpipでローカルにインストールするために特権を昇格する必要がない場合は、False
に設定します。デフォルト: Truezabbix_proxy_manage_service
: True / False。高可用性クラスタセットアップ(例: pacemaker)で複数のZabbixプロキシを実行する場合、AnsibleにZabbixプロキシサービスを管理させたくないため、PacemakerがZabbixプロキシサービスを制御します。zabbix_install_pip_packages
: 必要なpipパッケージをインストールしたくない場合はFalse
に設定します。環境を完全に制御する場合に便利です。デフォルト: True
Zabbixプロキシの設定ファイルに使用されるいくつかの特定の変数があり、これらはdefault/main.ymlファイルにあります。以下の2つは説明が必要です:
#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の3つです。使用したいデータベースをコメントアウトまたはコメント解除してください。上記の例では、postgresqlデータベースが使用されています。mysqlを使用したい場合は、mysqlの2行をコメント解決し、postgresqlの2行をコメントアウトします。
mysqlを使用する場合は、Zabbixデータベースを準備するためにmysqlのユーザー名、パスワード、ホストを定義する必要があります。そうしないと、デフォルト値と見なされます(したがって、データベースへの接続はパスワードなしでローカルホストへの接続として見なされます)。キーは以下の通りです: zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password
TLS特定の設定
これらの変数はZabbix 3.0以降に特有のものです:
*zabbix_proxy_tlsconnect
: プロキシがサーバーまたはプロキシに接続する方法。アクティブチェックに使用されます。可能な値:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlsaccept
: 受け入れる接続。可能な値:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlscafile
: ピア証明書検証のためのCA証明書を含むファイルのフルパス。*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ウェブページが利用可能なURL。例: http://zabbix.example.comzabbix_api_http_user
: Zabbix URLにBasic AuthでアクセスするためのHTTPユーザーzabbix_api_http_password
: Zabbix URLにBasic AuthでアクセスするためのHTTPパスワードzabbix_api_create_proxy
: Zabbix APIを有効にしてプロキシを作成/削除したい場合。zabbix_create_proxy
を使用したい場合はTrue
に設定する必要があります。デフォルト:False
zabbix_api_user
: APIアクセスを持つユーザーのユーザー名。zabbix_api_pass
: APIアクセスを持つユーザーのパスワード。zabbix_create_proxy
: プロキシが作成される必要がある場合はpresent(デフォルト)、削除する場合はabsent。これはzabbix_api_create_proxy
がTrue
に設定されている場合のみ機能します。zabbix_proxy_status
: プロキシがアクティブである必要がある場合はactive(デフォルト)、パッシブの場合。
依存関係
正しいデータベースロールを自分で見つける必要があります。私は、これらの3つの主要なオペレーティングシステムをサポートするロールのみを使用したいため、現時点で見つけられません。これらの3つのオペレーティングシステムをサポートするロールがあれば、知らせていただければ依存関係として使用します。
例のプレイブック
役立つために、ユーザー向けに変数をパラメーターとして渡してロールの使用例を含めることは常に良いです:
- 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ロールの作成の試みですので、このロールを改善するための提案やプルリクエストをお待ちしています。
GitHub: https://github.com/dj-wasabi/ansible-zabbix-proxy
メール: ikben [ at ] werner-dijkerman . nl
ansible-galaxy install dj-wasabi.zabbix-proxy