Initial commit
This commit is contained in:
parent
5dec219010
commit
9a2b68a6ef
8 changed files with 137 additions and 5 deletions
|
@ -1,10 +1,6 @@
|
||||||
# Ansible-ZabbixAgent
|
# Ansible-ZabbixAgent
|
||||||
|
|
||||||
|
Ansible playbook to install and configure a machine as a Zabbix Agent.
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
10
hosts.yml
Normal file
10
hosts.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
# file: hosts
|
||||||
|
|
||||||
|
zabbixAgent:
|
||||||
|
hosts:
|
||||||
|
svr1:
|
||||||
|
ansible_host: 10.10.2.136
|
||||||
|
|
||||||
|
vars:
|
||||||
|
ansible_user: ansible
|
16
roles/zabbixAgent/defaults/main.yml
Normal file
16
roles/zabbixAgent/defaults/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
# file: roles/zabbixAgent/defaults/main.yml
|
||||||
|
|
||||||
|
Zabbix_version: "7.0"
|
||||||
|
zabbixAgent_url: "https://repo.zabbix.com/zabbix/{{ Zabbix_version }}/{{ ansible_distribution | lower }}/{{ ansible_distribution_major_version }}/x86_64/zabbix-release-latest.el{{ ansible_distribution_major_version }}.noarch.rpm"
|
||||||
|
|
||||||
|
zabbixAgent_conf_server: ""
|
||||||
|
zabbixAgent_conf_listen_port: ""
|
||||||
|
zabbixAgent_conf_server_active: ""
|
||||||
|
zabbixAgent_conf_hostname: "{{ ansible_hostname }}"
|
||||||
|
|
||||||
|
zabbixAgent_conf_tls_connect: ""
|
||||||
|
zabbixAgent_conf_tls_accept: ""
|
||||||
|
zabbixAgent_conf_psk_key: ""
|
||||||
|
zabbixAgent_conf_psk_file: ""
|
||||||
|
zabbixAgent_conf_psk_identity: ""
|
12
roles/zabbixAgent/handlers/main.yml
Normal file
12
roles/zabbixAgent/handlers/main.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
# file: roles/docker/zabbixAgent/main.yml
|
||||||
|
|
||||||
|
- name: Restart zabbix-agent2
|
||||||
|
service:
|
||||||
|
name: zabbix-agent2
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: Reload firewalld
|
||||||
|
service:
|
||||||
|
name: firewalld
|
||||||
|
state: reloaded
|
63
roles/zabbixAgent/tasks/main.yml
Normal file
63
roles/zabbixAgent/tasks/main.yml
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
---
|
||||||
|
# file: roles/zabbixAgent/tasks/main.yml
|
||||||
|
|
||||||
|
- name: Check if epel enabled
|
||||||
|
stat:
|
||||||
|
path: /etc/yum.repos.d/epel.repo
|
||||||
|
register: epel_result
|
||||||
|
|
||||||
|
- name: Exclude Zabbix if epel enabled
|
||||||
|
yum_repository:
|
||||||
|
name: epel
|
||||||
|
file: epel
|
||||||
|
metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
|
||||||
|
description: "Extra Packages for Enterprise Linux $releasever - $basearch"
|
||||||
|
exclude: "zabbix*"
|
||||||
|
enabled: true
|
||||||
|
gpgcheck: true
|
||||||
|
countme: true
|
||||||
|
gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever"
|
||||||
|
when: epel_result.stat.exists
|
||||||
|
|
||||||
|
- name: Install Zabbix RPM
|
||||||
|
package:
|
||||||
|
name: "{{ zabbixAgent_url }}"
|
||||||
|
state: present
|
||||||
|
disable_gpg_check: true
|
||||||
|
|
||||||
|
- name: Install ZabbixAgent
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- zabbix-agent2
|
||||||
|
- zabbix-agent2-plugin-*
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Deploy ZabbixAgent configuration file
|
||||||
|
template:
|
||||||
|
src: "ansibleZabbixAgent.conf.j2"
|
||||||
|
dest: "/etc/zabbix/zabbix_agent2.d/ansibleZabbixAgent.conf"
|
||||||
|
notify: Restart zabbix-agent2
|
||||||
|
|
||||||
|
- name: Create psk file
|
||||||
|
copy:
|
||||||
|
content: "{{ zabbixAgent_conf_psk_key }}"
|
||||||
|
dest: "{{ zabbixAgent_conf_psk_file }}"
|
||||||
|
owner: zabbix
|
||||||
|
group: zabbix
|
||||||
|
mode: '0400'
|
||||||
|
when: zabbixAgent_conf_psk_key != '' and zabbixAgent_conf_psk_file != ''
|
||||||
|
|
||||||
|
- name: Enable firewall rule listen_port
|
||||||
|
firewalld:
|
||||||
|
port: "{{ zabbixAgent_conf_listen_port }}/tcp"
|
||||||
|
permanent: yes
|
||||||
|
immediate: yes
|
||||||
|
state: enabled
|
||||||
|
notify: Reload firewalld
|
||||||
|
when: zabbixAgent_conf_listen_port != ""
|
||||||
|
|
||||||
|
- name: Enable ZabbixAgent
|
||||||
|
service:
|
||||||
|
name: zabbix-agent2
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
24
roles/zabbixAgent/templates/ansibleZabbixAgent.conf.j2
Normal file
24
roles/zabbixAgent/templates/ansibleZabbixAgent.conf.j2
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{% if zabbixAgent_conf_server != '' %}
|
||||||
|
Server={{ zabbixAgent_conf_server }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_listen_port != '' %}
|
||||||
|
ListenPort={{ zabbixAgent_conf_listen_port }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_server_active != '' %}
|
||||||
|
ServerActive={{ zabbixAgent_conf_server_active }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_hostname != '' %}
|
||||||
|
Hostname={{ zabbixAgent_conf_hostname }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_tls_connect != '' %}
|
||||||
|
TLSConnect={{ zabbixAgent_conf_tls_connect }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_tls_accept != '' %}
|
||||||
|
TLSAccept={{ zabbixAgent_conf_tls_accept }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_psk_file != '' %}
|
||||||
|
TLSPSKFile={{ zabbixAgent_conf_psk_file }}
|
||||||
|
{% endif %}
|
||||||
|
{% if zabbixAgent_conf_psk_identity != '' %}
|
||||||
|
TLSPSKIdentity={{ zabbixAgent_conf_psk_identity }}
|
||||||
|
{% endif %}
|
4
site.yml
Normal file
4
site.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
## This playbook deploys the whole application stack in this site.
|
||||||
|
|
||||||
|
- import_playbook: zabbixAgent.yml
|
7
zabbixAgent.yml
Normal file
7
zabbixAgent.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
# file: zabbixAgent.yml
|
||||||
|
|
||||||
|
- hosts: zabbixAgent
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- zabbixAgent
|
Loading…
Reference in a new issue