diff --git a/inventory b/inventory index edd40b0..a3d7a86 100644 --- a/inventory +++ b/inventory @@ -1,7 +1,14 @@ [server] +10.10.43.200 +10.10.43.201 +10.10.43.202 10.10.43.210 10.10.43.211 10.10.43.212 +10.10.43.230 +10.10.43.244 +10.10.43.245 +10.10.43.246 [all:children] server diff --git a/roles/zabbix-agent/tasks/XCP-ng.yml b/roles/zabbix-agent/tasks/XCP-ng.yml new file mode 100644 index 0000000..f23cb46 --- /dev/null +++ b/roles/zabbix-agent/tasks/XCP-ng.yml @@ -0,0 +1,70 @@ +--- +# Tasks specific for RedHat systems + +- name: "RedHat | Install basic repo file" + ansible.builtin.yum_repository: + name: "{{ item.name }}" + description: "{{ item.description }}" + baseurl: "{{ item.baseurl }}" + gpgcheck: "{{ item.gpgcheck }}" + gpgkey: "{{ item.gpgkey }}" + mode: "{{ item.mode | default('0644') }}" + priority: "{{ item.priority | default('99') }}" + state: "{{ item.state | default('present') }}" + proxy: "{{ zabbix_http_proxy | default(omit) }}" + with_items: "{{ zabbix_repo_yum }}" + register: yum_repo_installed + become: true + notify: + - "clean repo files from proxy creds" + tags: + - install + +- name: Check if warn parameter can be used for shell module + ansible.builtin.set_fact: + produce_warn: False + when: ansible_version.full is version("2.14", "<") + tags: + - always + +- name: "RedHat | Installing zabbix-agent" + ansible.builtin.package: + pkg: + - "{{ zabbix_agent_package }}-{{ zabbix_agent_version }}.{{ zabbix_agent_version_minor }}" + disablerepo: "{{ zabbix_agent_disable_repo | default(omit) }}" + state: "{{ zabbix_agent_package_state }}" + environment: + http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}" + https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}" + register: zabbix_agent_package_installed + until: zabbix_agent_package_installed is succeeded + become: true + tags: + - install + +- name: "RedHat | Installing zabbix-{sender,get}" + ansible.builtin.package: + pkg: + - "{{ zabbix_sender_package }}-{{ zabbix_agent_version }}.{{ zabbix_agent_version_minor }}" + - "{{ zabbix_get_package }}-{{ zabbix_agent_version }}.{{ zabbix_agent_version_minor }}" + disablerepo: "{{ zabbix_agent_disable_repo | default(omit) }}" + state: "{{ zabbix_agent_package_state }}" + environment: + http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}" + https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}" + register: zabbix_agent_package_installed + until: zabbix_agent_package_installed is succeeded + when: + - not zabbix_agent_install_agent_only + become: true + tags: + - install + +- name: "RedHat | Enable the service" + ansible.builtin.service: + name: "{{ zabbix_agent_service }}" + enabled: true + use: service + become: true + tags: + - service diff --git a/roles/zabbix-agent/templates/userparameters/zombie.j2 b/roles/zabbix-agent/templates/userparameters/zombie.j2 new file mode 100644 index 0000000..055ec98 --- /dev/null +++ b/roles/zabbix-agent/templates/userparameters/zombie.j2 @@ -0,0 +1 @@ +UserParameter=zombie.count,ps -ef | grep defunct | egrep -v grep | wc -l \ No newline at end of file diff --git a/zabbix-agent.yaml b/zabbix-agent.yaml index c444f29..becc522 100644 --- a/zabbix-agent.yaml +++ b/zabbix-agent.yaml @@ -2,8 +2,6 @@ - hosts: all roles: - role: zabbix-agent - zabbix_agent_server: 10.10.43.252 - zabbix_agent_serveractive: 10.10.43.252 zabbix_api_server_host: 10.10.43.252 zabbix_api_server_port: 80 ansible_zabbix_url_path: "/" @@ -15,6 +13,12 @@ zabbix_host_groups: - Linux servers - Virtual machines + zabbix_agent_visible_hostname: "{{ ansible_fqdn }}" + zabbix_agent_server: 10.10.43.252 + zabbix_agent_serveractive: 10.10.43.252 zabbix_agent_link_templates: - Linux by Zabbix agent zabbix_agent_version: 6.4 + zabbix_agent_unsafeuserparameters: 1 + zabbix_agent_userparameters: + - name: zombie