Всем доброго времени.
Столкнулся с недопониманием как работает новый модуль от Ansible Community.Zabbix Collection version 2.1.0
Есть такая задача, автоматизировать настройку Zabbix-Agent на виртуальных машинах.
Есть такой плайбук, для теста соединения между сервером Zabbix и сервером с Zabbix-Agent.
Который запускается на сервере где в планируется настроить Zabbix-Agent.
Брал из документации https://docs.ansible.com/ansible/lat...up-info-module:
В старой версии использовали delegate_to: localhost и server_url: "{{ zabbix_server }}".
Получалось что задача выполнялась локально на сервере и подключалась к серверу что указан в переменной server_url.
Как понимаю в новой версии убрали переменную server_url, тут описание https://github.com/ansible-collectio...ent-1706418395.
Сейчас задача пытается выполниться непосредственно на сервере, что указан в переменной "{{ zabbix_server }}", соответственно это не получатся и выдает ошибку Timeout.
Отзовитесь, пожалуйста, кто уже работает с новым модулем.
Скрипт со старой версией работает, но пора уже переходить на новую.
Столкнулся с недопониманием как работает новый модуль от Ansible Community.Zabbix Collection version 2.1.0
Есть такая задача, автоматизировать настройку Zabbix-Agent на виртуальных машинах.
Есть такой плайбук, для теста соединения между сервером Zabbix и сервером с Zabbix-Agent.
Который запускается на сервере где в планируется настроить Zabbix-Agent.
Брал из документации https://docs.ansible.com/ansible/lat...up-info-module:
Code:
- name: Playbook initial_setting
hosts: localhost
become: false
gather_facts: false
vars:
zabbix_server: "zabbix-server.domain.com"
tasks:
- name: group_info
vars:
ansible_host: "{{ zabbix_server }}"
ansible_zabbix_auth_key: "xxxxxxxxxxxxxxxxxxxx90787ee69f"
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: ""
community.zabbix.zabbix_group_info:
hostgroup_name: "Name Zabbix-Proxy"
become: false
delegate_to: "{{ zabbix_server }}"
tags:
- api
Получалось что задача выполнялась локально на сервере и подключалась к серверу что указан в переменной server_url.
Как понимаю в новой версии убрали переменную server_url, тут описание https://github.com/ansible-collectio...ent-1706418395.
Сейчас задача пытается выполниться непосредственно на сервере, что указан в переменной "{{ zabbix_server }}", соответственно это не получатся и выдает ошибку Timeout.
TASK [Create host in Zabbix] ************************************************** ************************************************** ************************************************** ************************
task path: /home/user-admin/ansible/ansible-zabbix-docker/playbooks/pl_zbx_test_httpapi.yml:19
redirecting (type: connection) ansible.builtin.httpapi to ansible.netcommon.httpapi
Loading collection ansible.netcommon from /home/user-admin/.ansible/collections/ansible_collections/ansible/netcommon
Loading collection ansible.utils from /home/user-admin/.local/lib/python3.10/site-packages/ansible_collections/ansible/utils
< zabbix-server.domain.com> attempting to start connection
< zabbix-server.domain.com> using connection plugin ansible.netcommon.httpapi
Found ansible-connection at path /home/user-admin/.local/bin/ansible-connection
< zabbix-server.domain.com> local domain socket does not exist, starting it
< zabbix-server.domain.com> control socket path is /home/user-admin/.ansible/pc/34706f9f03
< zabbix-server.domain.com> Loading collection ansible.builtin from
< zabbix-server.domain.com> redirecting (type: connection) ansible.builtin.httpapi to ansible.netcommon.httpapi
< zabbix-server.domain.com> Loading collection ansible.netcommon from /home/user-admin/.ansible/collections/ansible_collections/ansible/netcommon
< zabbix-server.domain.com> Loading collection ansible.utils from /home/user-admin/.local/lib/python3.10/site-packages/ansible_collections/ansible/utils
< zabbix-server.domain.com> Loading collection community.zabbix from /home/user-admin/.ansible/collections/ansible_collections/community/zabbix
< zabbix-server.domain.com> local domain socket listeners started successfully
< zabbix-server.domain.com> loaded API plugin ansible_collections.community.zabbix.plugins.httpa pi.zabbix from path /home/user-admin/.ansible/collections/ansible_collections/community/zabbix/plugins/httpapi/zabbix.py for platform type community.zabbix.zabbix
< zabbix-server.domain.com> Loading collection ansible.builtin from
< zabbix-server.domain.com> local domain socket path is /home/user-admin/.ansible/pc/34706f9f03
< zabbix-server.domain.com> ESTABLISH LOCAL CONNECTION FOR USER: user-admin
< zabbix-server.domain.com> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0 `"&& mkdir "` echo /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770 `" && echo ansible-tmp-1695287355.227207-162701-269349556124770="` echo /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770 `" ) && sleep 0'
Using module file /home/user-admin/.ansible/collections/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py
< zabbix-server.domain.com> PUT /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/tmpox_sd2rf TO /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py
< zabbix-server.domain.com> EXEC /bin/sh -c 'chmod u+x /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/ /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py && sleep 0'
< zabbix-server.domain.com> EXEC /bin/sh -c '/usr/bin/python3 /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py && sleep 0'
< zabbix-server.domain.com> EXEC /bin/sh -c 'rm -f -r /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 107, in <module>
_ansiballz_main()
File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 99, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 47, in invoke_module
runpy.run_module(mod_name='ansible_collections.com munity.zabbix.plugins.modules.zabbix_group_info', init_globals=dict(_module_fqn='ansible_collections .community.zabbix.plugins.modules.zabbix_group_inf o', _modlib_path=modlib_path),
File "/usr/lib/python3.10/runpy.py", line 224, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.10/runpy.py", line 96, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 105, in <module>
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 99, in main
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/base.py", line 20, in __init__
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/api_request.py", line 53, in api_version
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible/module_utils/connection.py", line 200, in __rpc__
ansible.module_utils.connection.ConnectionError: command timeout triggered, timeout value is 30 secs.
See the timeout setting options in the Network Debug and Troubleshooting Guide.
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 107, in <module>\n _ansiballz_main()\n File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.com munity.zabbix.plugins.modules.zabbix_group_info', init_globals=dict(_module_fqn='ansible_collections .community.zabbix.plugins.modules.zabbix_group_inf o', _modlib_path=modlib_path),\n File "/usr/lib/python3.10/runpy.py", line 224, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File "/usr/lib/python3.10/runpy.py", line 96, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File "/usr/lib/python3.10/runpy.py", line 86, in _run_code\n exec(code, run_globals)\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 105, in <module>\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 99, in main\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/base.py", line 20, in __init__\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/api_request.py", line 53, in api_version\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible/module_utils/connection.py", line 200, in __rpc__\nansible.module_utils.connection.Connectio nError: command timeout triggered, timeout value is 30 secs.\nSee the timeout setting options in the Network Debug and Troubleshooting Guide.\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
task path: /home/user-admin/ansible/ansible-zabbix-docker/playbooks/pl_zbx_test_httpapi.yml:19
redirecting (type: connection) ansible.builtin.httpapi to ansible.netcommon.httpapi
Loading collection ansible.netcommon from /home/user-admin/.ansible/collections/ansible_collections/ansible/netcommon
Loading collection ansible.utils from /home/user-admin/.local/lib/python3.10/site-packages/ansible_collections/ansible/utils
< zabbix-server.domain.com> attempting to start connection
< zabbix-server.domain.com> using connection plugin ansible.netcommon.httpapi
Found ansible-connection at path /home/user-admin/.local/bin/ansible-connection
< zabbix-server.domain.com> local domain socket does not exist, starting it
< zabbix-server.domain.com> control socket path is /home/user-admin/.ansible/pc/34706f9f03
< zabbix-server.domain.com> Loading collection ansible.builtin from
< zabbix-server.domain.com> redirecting (type: connection) ansible.builtin.httpapi to ansible.netcommon.httpapi
< zabbix-server.domain.com> Loading collection ansible.netcommon from /home/user-admin/.ansible/collections/ansible_collections/ansible/netcommon
< zabbix-server.domain.com> Loading collection ansible.utils from /home/user-admin/.local/lib/python3.10/site-packages/ansible_collections/ansible/utils
< zabbix-server.domain.com> Loading collection community.zabbix from /home/user-admin/.ansible/collections/ansible_collections/community/zabbix
< zabbix-server.domain.com> local domain socket listeners started successfully
< zabbix-server.domain.com> loaded API plugin ansible_collections.community.zabbix.plugins.httpa pi.zabbix from path /home/user-admin/.ansible/collections/ansible_collections/community/zabbix/plugins/httpapi/zabbix.py for platform type community.zabbix.zabbix
< zabbix-server.domain.com> Loading collection ansible.builtin from
< zabbix-server.domain.com> local domain socket path is /home/user-admin/.ansible/pc/34706f9f03
< zabbix-server.domain.com> ESTABLISH LOCAL CONNECTION FOR USER: user-admin
< zabbix-server.domain.com> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0 `"&& mkdir "` echo /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770 `" && echo ansible-tmp-1695287355.227207-162701-269349556124770="` echo /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770 `" ) && sleep 0'
Using module file /home/user-admin/.ansible/collections/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py
< zabbix-server.domain.com> PUT /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/tmpox_sd2rf TO /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py
< zabbix-server.domain.com> EXEC /bin/sh -c 'chmod u+x /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/ /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py && sleep 0'
< zabbix-server.domain.com> EXEC /bin/sh -c '/usr/bin/python3 /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py && sleep 0'
< zabbix-server.domain.com> EXEC /bin/sh -c 'rm -f -r /home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 107, in <module>
_ansiballz_main()
File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 99, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 47, in invoke_module
runpy.run_module(mod_name='ansible_collections.com munity.zabbix.plugins.modules.zabbix_group_info', init_globals=dict(_module_fqn='ansible_collections .community.zabbix.plugins.modules.zabbix_group_inf o', _modlib_path=modlib_path),
File "/usr/lib/python3.10/runpy.py", line 224, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.10/runpy.py", line 96, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 105, in <module>
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 99, in main
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/base.py", line 20, in __init__
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/api_request.py", line 53, in api_version
File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible/module_utils/connection.py", line 200, in __rpc__
ansible.module_utils.connection.ConnectionError: command timeout triggered, timeout value is 30 secs.
See the timeout setting options in the Network Debug and Troubleshooting Guide.
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 107, in <module>\n _ansiballz_main()\n File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File "/home/user-admin/.ansible/tmp/ansible-local-162695s82fckl0/ansible-tmp-1695287355.227207-162701-269349556124770/AnsiballZ_zabbix_group_info.py", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.com munity.zabbix.plugins.modules.zabbix_group_info', init_globals=dict(_module_fqn='ansible_collections .community.zabbix.plugins.modules.zabbix_group_inf o', _modlib_path=modlib_path),\n File "/usr/lib/python3.10/runpy.py", line 224, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File "/usr/lib/python3.10/runpy.py", line 96, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File "/usr/lib/python3.10/runpy.py", line 86, in _run_code\n exec(code, run_globals)\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 105, in <module>\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/modules/zabbix_group_info.py", line 99, in main\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/base.py", line 20, in __init__\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible_collections/community/zabbix/plugins/module_utils/api_request.py", line 53, in api_version\n File "/tmp/ansible_community.zabbix.zabbix_group_info_payload _q_fh8qy2/ansible_community.zabbix.zabbix_group_info_payload .zip/ansible/module_utils/connection.py", line 200, in __rpc__\nansible.module_utils.connection.Connectio nError: command timeout triggered, timeout value is 30 secs.\nSee the timeout setting options in the Network Debug and Troubleshooting Guide.\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
Скрипт со старой версией работает, но пора уже переходить на новую.