Initial CV-aligned infrastructure portfolio
ci / validate (push) Failing after 1m8s

Rework portfolio around Linux operations, Zabbix monitoring, migration validation, and ELK/Grafana log observability.

Add AAP-style LVM resize workflow, Zabbix server/proxy/agent automation assets, Linux/AIX monitoring templates, and updated validation CI.
This commit is contained in:
Mateusz Suski
2026-05-04 17:37:24 +00:00
commit 35e6b139fc
114 changed files with 6422 additions and 0 deletions
@@ -0,0 +1,7 @@
---
zabbix_agent_server: zbx-proxy-bank01
zabbix_agent_server_active: zbx-proxy-bank01
zabbix_agent_hostname: "{{ inventory_hostname }}"
zabbix_agent_mode: active
zabbix_agent_listen_port: 10050
zabbix_agent_include_dir: /etc/zabbix/zabbix_agentd.d
@@ -0,0 +1,38 @@
---
- name: Validate agent mode
ansible.builtin.assert:
that:
- zabbix_agent_mode in ["active", "passive"]
fail_msg: "zabbix_agent_mode must be active or passive"
- name: Create Zabbix agent include directory
ansible.builtin.file:
path: "{{ zabbix_agent_include_dir }}"
state: directory
owner: root
group: root
mode: "0755"
- name: Render Zabbix agent configuration example
ansible.builtin.template:
src: zabbix_agentd.conf.j2
dest: /etc/zabbix/zabbix_agentd.conf
owner: root
group: root
mode: "0644"
- name: Render custom OS check keys
ansible.builtin.template:
src: os_checks.conf.j2
dest: "{{ zabbix_agent_include_dir }}/os_checks.conf"
owner: root
group: root
mode: "0644"
- name: Report agent check model
ansible.builtin.debug:
msg:
host: "{{ zabbix_agent_hostname }}"
mode: "{{ zabbix_agent_mode }}"
server: "{{ zabbix_agent_server }}"
server_active: "{{ zabbix_agent_server_active }}"
@@ -0,0 +1,4 @@
UserParameter=os.fs.discovery,echo '{"data":[]}'
UserParameter=os.cpu.runqueue,uptime
UserParameter=os.net.tcp_established,ss -tan state established | wc -l
UserParameter=os.process.count[*],pgrep -fc "$1"
@@ -0,0 +1,5 @@
Server={{ zabbix_agent_server }}
ServerActive={{ zabbix_agent_server_active }}
Hostname={{ zabbix_agent_hostname }}
ListenPort={{ zabbix_agent_listen_port }}
Include={{ zabbix_agent_include_dir }}/*.conf
@@ -0,0 +1,7 @@
---
zabbix_proxy_server: zbx-server01
zabbix_proxy_hostname: "{{ inventory_hostname }}"
zabbix_proxy_mode: active
zabbix_proxy_database: zabbix_proxy
zabbix_proxy_config_frequency: 60
zabbix_proxy_offline_buffer_hours: 24
@@ -0,0 +1,31 @@
---
- name: Validate proxy mode
ansible.builtin.assert:
that:
- zabbix_proxy_mode in ["active", "passive"]
fail_msg: "zabbix_proxy_mode must be active or passive"
- name: Create Zabbix proxy config directory
ansible.builtin.file:
path: /etc/zabbix
state: directory
owner: root
group: root
mode: "0755"
- name: Render Zabbix proxy configuration example
ansible.builtin.template:
src: zabbix_proxy.conf.j2
dest: /etc/zabbix/zabbix_proxy.conf
owner: root
group: root
mode: "0644"
- name: Report proxy operating model
ansible.builtin.debug:
msg:
proxy: "{{ zabbix_proxy_hostname }}"
server: "{{ zabbix_proxy_server }}"
mode: "{{ zabbix_proxy_mode }}"
active_checks: "{{ zabbix_proxy_mode == 'active' }}"
offline_buffer_hours: "{{ zabbix_proxy_offline_buffer_hours }}"
@@ -0,0 +1,6 @@
Server={{ zabbix_proxy_server }}
Hostname={{ zabbix_proxy_hostname }}
ProxyMode={{ 0 if zabbix_proxy_mode == 'active' else 1 }}
DBName={{ zabbix_proxy_database }}
ConfigFrequency={{ zabbix_proxy_config_frequency }}
ProxyOfflineBuffer={{ zabbix_proxy_offline_buffer_hours }}
@@ -0,0 +1,7 @@
---
zabbix_server_listen_port: 10051
zabbix_server_database: zabbix
zabbix_server_housekeeping_frequency: 1
zabbix_server_cache_size: 256M
zabbix_server_trend_retention_days: 365
zabbix_server_history_retention_days: 90
@@ -0,0 +1,25 @@
---
- name: Create Zabbix server config directory
ansible.builtin.file:
path: /etc/zabbix
state: directory
owner: root
group: root
mode: "0755"
- name: Render Zabbix server configuration example
ansible.builtin.template:
src: zabbix_server.conf.j2
dest: /etc/zabbix/zabbix_server.conf
owner: root
group: root
mode: "0644"
- name: Report Zabbix server maintenance settings
ansible.builtin.debug:
msg:
listen_port: "{{ zabbix_server_listen_port }}"
cache_size: "{{ zabbix_server_cache_size }}"
housekeeping_frequency: "{{ zabbix_server_housekeeping_frequency }}"
history_retention_days: "{{ zabbix_server_history_retention_days }}"
trend_retention_days: "{{ zabbix_server_trend_retention_days }}"
@@ -0,0 +1,5 @@
ListenPort={{ zabbix_server_listen_port }}
DBName={{ zabbix_server_database }}
CacheSize={{ zabbix_server_cache_size }}
HousekeepingFrequency={{ zabbix_server_housekeeping_frequency }}
HistoryStorageDateIndex=1