adsasdasd
This commit is contained in:
1
Enter your MFA token:
Normal file
1
Enter your MFA token:
Normal file
@@ -0,0 +1 @@
|
|||||||
|
MOuARJXBfnkW,GN0o,aD
|
||||||
19
ca.crt
Normal file
19
ca.crt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDCTCCAfGgAwIBAgIUc9ylGQRm4foAsAratu/jlMZvTE4wDQYJKoZIhvcNAQEL
|
||||||
|
BQAwFDESMBAGA1UEAwwJWmFiYml4IENBMB4XDTI0MDYxNDEzNDkzOVoXDTI3MDQw
|
||||||
|
NDEzNDkzOVowFDESMBAGA1UEAwwJWmFiYml4IENBMIIBIjANBgkqhkiG9w0BAQEF
|
||||||
|
AAOCAQ8AMIIBCgKCAQEAt/L+9V4QmDmmyqGwMi9MiwguOFJkkBiJckV9tWib/ePH
|
||||||
|
vv6kO/DiDNWORkW5NDBqpi7711boM1jVokLeVmZOgHaDYfmdInpR48V/2QpBQphD
|
||||||
|
BEb/aL1T7L9kkLmBAiIfb3OuZcB/EJht3yjJXwrVdX41wXBUF0V1HfGTH4cw5z9R
|
||||||
|
0qLtHypZLgMThJifxSH5yzZ96tEydAPrW0lwMGwNEcfaqEMfvKDs5y4sCRxBQIH9
|
||||||
|
mXyWWGSHUk4mw7lUTYm9cMtcUd+XMziS812p5G2HGD0PFwAPIUc+j1AWzO+PdxJB
|
||||||
|
x6wYLgrDtepIDTf1TP5mZTdTINuIUyFr99ZLLp1ddQIDAQABo1MwUTAdBgNVHQ4E
|
||||||
|
FgQUFUDTZWyjQLWcXAe+EoJM6Gy1Sh4wHwYDVR0jBBgwFoAUFUDTZWyjQLWcXAe+
|
||||||
|
EoJM6Gy1Sh4wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEARerR
|
||||||
|
innFA7z3oVIPfVobsuHf86iQBFAlgOXLllHd02ahv+hSc10VGqlwPELKoopZcPYL
|
||||||
|
fSib6jaMjq1p7ZZkxq5wNh0+ftoyzfnk3DULMN/ECdtxCDQG2xF2sstlW9iPMQH/
|
||||||
|
UcJzrxSOLiRm3Yc+8R4CjWmkUNpUUS+1ii482gY42iswwePBVMDOVS6AIpcdRLFi
|
||||||
|
5q7noAsDaxmxPLzjn0LObk8hKxo1J1DWAxSVn4FdHxmZ5EUlBji8SInqraCi1ZdN
|
||||||
|
tyQpSzSfvcHgTZHjjwjeY/+jaDP1PHkRs1ltj/2O5eUHIMGH2EZPXB5IKgLwPYnU
|
||||||
|
sVaRbC0FU9OzCYsm4w==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
28
ca.key
Normal file
28
ca.key
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC38v71XhCYOabK
|
||||||
|
obAyL0yLCC44UmSQGIlyRX21aJv948e+/qQ78OIM1Y5GRbk0MGqmLvvXVugzWNWi
|
||||||
|
Qt5WZk6AdoNh+Z0ielHjxX/ZCkFCmEMERv9ovVPsv2SQuYECIh9vc65lwH8QmG3f
|
||||||
|
KMlfCtV1fjXBcFQXRXUd8ZMfhzDnP1HSou0fKlkuAxOEmJ/FIfnLNn3q0TJ0A+tb
|
||||||
|
SXAwbA0Rx9qoQx+8oOznLiwJHEFAgf2ZfJZYZIdSTibDuVRNib1wy1xR35czOJLz
|
||||||
|
XankbYcYPQ8XAA8hRz6PUBbM7493EkHHrBguCsO16kgNN/VM/mZlN1Mg24hTIWv3
|
||||||
|
1ksunV11AgMBAAECggEAE2MjvoIfvx+CZgRlEOD90QB3eJ2sdihz4gyTa3l/SWLG
|
||||||
|
tGlbr2qbtI0UffEOzEKXFvVIO0GwXusLtxqTmukU+IKlJcAccNwSAe7YouwrBSUN
|
||||||
|
mSePdz9PF1pzs7Itd+dXR1SaqqQ/cCUUnWrL0H3Qkh3PdhgL8Njz90g1AKNrws9y
|
||||||
|
aBBX2f4EF+RGpbXrymks10+Ll/8y5VFIazxXEc+ew2+kT0j2bkLl80YwdesEAZ3E
|
||||||
|
YkxmivEaRJPBErW4LyVPKqSLYSbr5IHovELGY3P7fw4sX9j2JFLGFa5DHULY7AmM
|
||||||
|
eIS5sIusegYevNAt87QnwFXpB2Q5y0uKzVXwDmSv0QKBgQDDrHUIyd/E0a8qhJTO
|
||||||
|
1mEjvQJV9SOFMqmrmBhCIptIt5Mq3onSSRI5pvAplkl3Qz/IESSHdMWzNPyg67NG
|
||||||
|
E3fTDh3EMxqpUrLPteEFnmoyJraYCCKbhh4Fp9fAhUmH+3tOnQAmgtJiJ0FV318x
|
||||||
|
QMujJOs9tn+mjGZqKSe+WOFGkQKBgQDwqS+b9MkUeHtJobwQJiKbYtS248HTALo5
|
||||||
|
Em5xMkTJ1eVrXTHZgJdbEEc1/T5UJOfGzlET6F5JJFmpaBpCMYb+ZEhR8b7lR/sH
|
||||||
|
WHMQlIjjcClbffdLN0fbnDrGSCs5n5QTxRqWH6g8IqWehbAd8BUYiEafOKFPyUs7
|
||||||
|
ca7g4WHCpQKBgCdm+eY8KIhMpRZNvl1sRAFbVTYT+AQhcJMyPGhM6bIZ7VOrnlsv
|
||||||
|
BbGAUUo+jiqq6xQRh6aTOCBfIiQRcndBAlcIt6vDkrHYClPTTy2/eakBrLEuqjFh
|
||||||
|
L3h6FPMao/TzCiCJcvdOTqkfOIPfSB716ku+6nPx5QCXsyPbh7pH0Y1RAoGAFVa7
|
||||||
|
DPYIelMwg1fe6AOpn+OEfu70+bOfz32t40WUydy4aeuqhuGbCg0Ic2YQB7/5+SvE
|
||||||
|
DqLU8WFSve2oHmRr1tSngPSRe50FSiJymW7CMIB6ek1SBw5Qxc01fO1bP9HBfHtG
|
||||||
|
nzcRYLulucea1Ry7kiBLOsT3sK5liFDNM81oMK0CgYAowvo8fGU3T1FbAidrEZyt
|
||||||
|
llcF30YMnciCE7/Uu1CjHnRLiKHaz28djA9rsoYHvC5i/jbUL0ekejawkWCmzd8y
|
||||||
|
969+V2kV4Rrb0HAO6jLCuVOoRatFV+mNApljjHk+4c2tIT8RbNTxv50PmUEHuViW
|
||||||
|
+uUBxvXGib9cXWvWB0AEbQ==
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
@@ -6,15 +6,30 @@ all:
|
|||||||
ubu.localdomain:
|
ubu.localdomain:
|
||||||
ansible_host: 192.168.1.23
|
ansible_host: 192.168.1.23
|
||||||
ansible_user: alex
|
ansible_user: alex
|
||||||
|
ansible_ssh_pass: "Aase#1234!"
|
||||||
|
ansible_become_pass: "Aase#1234!"
|
||||||
|
zabbix_host_groups: "Linux servers"
|
||||||
|
zabbix_link_template: "Template OS Linux"
|
||||||
|
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
|
||||||
raspii.localdomain:
|
raspii.localdomain:
|
||||||
ansible_host: 192.168.1.24
|
ansible_host: 192.168.1.24
|
||||||
ansible_user: alex
|
ansible_user: alex
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
ansible_ssh_pass: "Aase#1234!"
|
||||||
|
ansible_become_pass: "Aase#1234!"
|
||||||
|
zabbix_host_groups: "Linux servers"
|
||||||
|
zabbix_link_template: "Template OS Linux"
|
||||||
|
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
|
||||||
proxmox.localdomain:
|
proxmox.localdomain:
|
||||||
ansible_host: 192.168.1.162
|
ansible_host: 192.168.1.162
|
||||||
ansible_user: root
|
ansible_user: root
|
||||||
ansible_password: Aase#1234!
|
ansible_password: Aase#1234!
|
||||||
ansible_python_interpreter: /root/proxmoxer_env/bin/python
|
ansible_python_interpreter: /root/proxmoxer_env/bin/python
|
||||||
|
ansible_ssh_pass: "Aase#1234!"
|
||||||
|
ansible_become_pass: "Aase#1234!"
|
||||||
|
zabbix_host_groups: "Linux servers"
|
||||||
|
zabbix_link_template: "Template OS Linux"
|
||||||
|
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
|
||||||
vars:
|
vars:
|
||||||
proxmox_host: 192.168.1.162
|
proxmox_host: 192.168.1.162
|
||||||
proxmox_user: root@pam
|
proxmox_user: root@pam
|
||||||
@@ -29,6 +44,11 @@ all:
|
|||||||
ansible_host: 192.168.1.144
|
ansible_host: 192.168.1.144
|
||||||
ansible_user: alex
|
ansible_user: alex
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
ansible_ssh_pass: "Aase#1234!"
|
||||||
|
ansible_become_pass: "Aase#1234!"
|
||||||
|
zabbix_host_groups: "Linux servers"
|
||||||
|
zabbix_link_template: "Template OS Linux"
|
||||||
|
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
|
||||||
alex-ds414.localdomain:
|
alex-ds414.localdomain:
|
||||||
ansible_host: 192.168.1.113
|
ansible_host: 192.168.1.113
|
||||||
ansible_user: alexadmin
|
ansible_user: alexadmin
|
||||||
|
|||||||
95
library/unifi_portforward_module.py
Executable file
95
library/unifi_portforward_module.py
Executable file
@@ -0,0 +1,95 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import pickle
|
||||||
|
|
||||||
|
def get_portforwarding_rules(controller_url, username, password, site_id, mfa_token, cookies_file):
|
||||||
|
# Disable SSL warnings
|
||||||
|
requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning)
|
||||||
|
|
||||||
|
# Create session
|
||||||
|
session = requests.Session()
|
||||||
|
|
||||||
|
# Load cookies if available
|
||||||
|
if os.path.exists(cookies_file):
|
||||||
|
with open(cookies_file, 'rb') as f:
|
||||||
|
session.cookies.update(pickle.load(f))
|
||||||
|
|
||||||
|
# Test if the session is still valid by checking an endpoint
|
||||||
|
test_url = f"{controller_url}/api/s/{site_id}/stat/sta"
|
||||||
|
test_response = session.get(test_url, verify=False)
|
||||||
|
if test_response.status_code != 200:
|
||||||
|
os.remove(cookies_file) # Remove expired cookies
|
||||||
|
else:
|
||||||
|
# Initial login URL
|
||||||
|
login_url = f"{controller_url}/api/login"
|
||||||
|
|
||||||
|
# Combine password and MFA token
|
||||||
|
combined_password = f"{password}|{mfa_token}"
|
||||||
|
|
||||||
|
# Debugging: Print combined password
|
||||||
|
print(f"Combined Password: {combined_password}")
|
||||||
|
|
||||||
|
# Login payload
|
||||||
|
login_data = {
|
||||||
|
"username": username,
|
||||||
|
"password": combined_password
|
||||||
|
}
|
||||||
|
|
||||||
|
# Login headers
|
||||||
|
headers = {
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Attempt to log in
|
||||||
|
response = session.post(login_url, json=login_data, headers=headers, verify=False)
|
||||||
|
|
||||||
|
if response.status_code == 200:
|
||||||
|
# Save cookies to file
|
||||||
|
with open(cookies_file, 'wb') as f:
|
||||||
|
pickle.dump(session.cookies, f)
|
||||||
|
else:
|
||||||
|
return {"failed": True, "msg": "Login failed.", "response": response.json()}
|
||||||
|
|
||||||
|
# API endpoint for fetching port forwarding rules
|
||||||
|
portforwarding_url = f"{controller_url}/api/s/{site_id}/rest/portforward"
|
||||||
|
|
||||||
|
# Fetch the port forwarding rules
|
||||||
|
portforwarding_response = session.get(portforwarding_url, verify=False)
|
||||||
|
portforwarding_response.raise_for_status()
|
||||||
|
|
||||||
|
portforwarding_rules = portforwarding_response.json()
|
||||||
|
return {"failed": False, "portforwarding_rules": portforwarding_rules}
|
||||||
|
|
||||||
|
def main():
|
||||||
|
module_args = dict(
|
||||||
|
controller_url=dict(type='str', required=True),
|
||||||
|
username=dict(type='str', required=True),
|
||||||
|
password=dict(type='str', required=True),
|
||||||
|
site_id=dict(type='str', required=True),
|
||||||
|
mfa_token=dict(type='str', required=True),
|
||||||
|
cookies_file=dict(type='str', default="unifi_session_cookies.pkl")
|
||||||
|
)
|
||||||
|
|
||||||
|
module = AnsibleModule(argument_spec=module_args, supports_check_mode=True)
|
||||||
|
|
||||||
|
result = get_portforwarding_rules(
|
||||||
|
module.params['controller_url'],
|
||||||
|
module.params['username'],
|
||||||
|
module.params['password'],
|
||||||
|
module.params['site_id'],
|
||||||
|
module.params['mfa_token'],
|
||||||
|
module.params['cookies_file']
|
||||||
|
)
|
||||||
|
|
||||||
|
if result['failed']:
|
||||||
|
module.fail_json(msg=result['msg'], response=result.get('response', None))
|
||||||
|
else:
|
||||||
|
module.exit_json(changed=False, portforwarding_rules=result['portforwarding_rules'])
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
||||||
17
show_portforwarding_rules.yml
Normal file
17
show_portforwarding_rules.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
- name: Retrieve and display UniFi port forwarding rules
|
||||||
|
hosts: localhost
|
||||||
|
gather_facts: no
|
||||||
|
tasks:
|
||||||
|
- name: Get port forwarding rules
|
||||||
|
unifi_portforward_module:
|
||||||
|
controller_url: "https://192.168.1.237:8443"
|
||||||
|
username: "alex_mormor@hotmail.com"
|
||||||
|
password: "aaseiswild123"
|
||||||
|
site_id: "default"
|
||||||
|
mfa_token: "{{ lookup('password', 'Enter your MFA token: ') }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Display port forwarding rules
|
||||||
|
debug:
|
||||||
|
var: result.portforwarding_rules
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
# File: unifi-dhcp-clients-list.yml
|
- name: Retrieve and display UniFi port forwarding rules
|
||||||
|
|
||||||
- name: Fetch and List DHCP Clients from UniFi Controller
|
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tasks:
|
||||||
|
- name: Get port forwarding rules
|
||||||
|
unifi_portforward_module:
|
||||||
|
controller_url: "https://192.168.1.237:8443"
|
||||||
|
username: "alex_mormor@hotmail.com"
|
||||||
|
password: "aaseiswild123"
|
||||||
|
site_id: "default"
|
||||||
|
mfa_token: "{{ lookup('password', 'Enter your MFA token: ') }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
vars_files:
|
- name: Display port forwarding rules
|
||||||
- credentials.yml
|
debug:
|
||||||
|
var: result.portforwarding_rules
|
||||||
vars:
|
|
||||||
unifi_baseurl: "https://your-unifi-controller:8443"
|
|
||||||
unifi_site_id: "default"
|
|
||||||
unifi_validate_certs: no
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- unifi_dhcp_clients_list
|
|
||||||
|
|||||||
17
zabbix_agentd.crt
Normal file
17
zabbix_agentd.crt
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICsjCCAZoCFB8dm3coMlzO2OsOCmcmWRXDCFd6MA0GCSqGSIb3DQEBCwUAMBQx
|
||||||
|
EjAQBgNVBAMMCVphYmJpeCBDQTAeFw0yNDA2MTQxMzQ5NDBaFw0yNTEwMjcxMzQ5
|
||||||
|
NDBaMBcxFTATBgNVBAMMDFphYmJpeCBBZ2VudDCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||||
|
ggEPADCCAQoCggEBALnIChD8wP0NHHq5WS5XWnpkkgldR/83obcDXzddTNH0CMbq
|
||||||
|
rfWIbcbbCFp9LKYmgjJIOV49WtIc1ycGCDUDsvaUkfGxIYsLia7PM0GWtNa2fLK4
|
||||||
|
mw6mQXrBfzgLyCEGbDH2VTSS9I7QNGQrg7TNbiSjs9oiDmcv3Ba3ygytIM1xC3sh
|
||||||
|
z8rCx1Q7YBeWNlmsV1eSZnCdbm3r5WqPp8+nYL7cKQDiBsqSiCJOancGQnrd/Sv1
|
||||||
|
O0wtAdqxZu6X7px1ZLzqstLXlYyPzA08l3yKEROsm8k0eJeNx3ATgZEsli7mP3D1
|
||||||
|
z6PooiXkd4eTZ6o4uY3RVpAS1fhorAqADzKkv0sCAwEAATANBgkqhkiG9w0BAQsF
|
||||||
|
AAOCAQEAVMaVEzf9PVch7Vu/cGGdecNYdJTdMONv4rmkvtYvafLEkUJzMhqJ98KZ
|
||||||
|
RuDwq0IZJJAlVMpAvBOOq5gNG3+O3L2xGypg7L5MIEUoJMDpSMv2z0/L7yd6D5Mc
|
||||||
|
1HOX3QP/tX5YgU/L5sjmBIBsqWvEfyhF2Uh3omYq+eDQpumaQXwarFxtAvbyeH5N
|
||||||
|
4ks8vzZl6zHBNtOnQ4pBJbf7xi6ianpzuQlI0laigcZ0IUtmRFN/wVCE2Ls28X52
|
||||||
|
TJtKiwzgXvXuwBJcJmXNSnG9w1mzj7ayO4TzFHUCUGNVeJM7eQNmiPoO6MSU8LYc
|
||||||
|
sPQgrknDKuZYeYjVGoVCctG9kz613Q==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
15
zabbix_agentd.csr
Normal file
15
zabbix_agentd.csr
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
-----BEGIN CERTIFICATE REQUEST-----
|
||||||
|
MIICXDCCAUQCAQAwFzEVMBMGA1UEAwwMWmFiYml4IEFnZW50MIIBIjANBgkqhkiG
|
||||||
|
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAucgKEPzA/Q0cerlZLldaemSSCV1H/zehtwNf
|
||||||
|
N11M0fQIxuqt9YhtxtsIWn0spiaCMkg5Xj1a0hzXJwYINQOy9pSR8bEhiwuJrs8z
|
||||||
|
QZa01rZ8sribDqZBesF/OAvIIQZsMfZVNJL0jtA0ZCuDtM1uJKOz2iIOZy/cFrfK
|
||||||
|
DK0gzXELeyHPysLHVDtgF5Y2WaxXV5JmcJ1ubevlao+nz6dgvtwpAOIGypKIIk5q
|
||||||
|
dwZCet39K/U7TC0B2rFm7pfunHVkvOqy0teVjI/MDTyXfIoRE6ybyTR4l43HcBOB
|
||||||
|
kSyWLuY/cPXPo+iiJeR3h5Nnqji5jdFWkBLV+GisCoAPMqS/SwIDAQABoAAwDQYJ
|
||||||
|
KoZIhvcNAQELBQADggEBAAKVz/MQlVXt5b39eD/djiycGaWKXhe2MsYGOzHVIj2C
|
||||||
|
I4I/NcSLQb9Uj9tdJEFwg2DnWSBTE0OZdtfZ8YJGABhz85xQL9ykBz9ANx4uYHZz
|
||||||
|
GfIAQQBYOi8RCS5iYsNLbY6EmWH6mSAusrjwWhK92dBidtlf78BPktXvHzSgXg2T
|
||||||
|
wEubUn+15ENB9PL3Oi4UfBMQNCDm5CvXvd+VnAdbhUd5rUj7eatRdirNTJgjypN0
|
||||||
|
SWbMSu7OCaaAVQsFoOOpF9LUFFiUpn6N7wHVIAo3pm47QjgdTh31G5UiVAjf35/t
|
||||||
|
LHCNl4iRV9IQhQvkK0zlJXl5/jf2bhBi8dO+xm9JOlA=
|
||||||
|
-----END CERTIFICATE REQUEST-----
|
||||||
28
zabbix_agentd.key
Normal file
28
zabbix_agentd.key
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC5yAoQ/MD9DRx6
|
||||||
|
uVkuV1p6ZJIJXUf/N6G3A183XUzR9AjG6q31iG3G2whafSymJoIySDlePVrSHNcn
|
||||||
|
Bgg1A7L2lJHxsSGLC4muzzNBlrTWtnyyuJsOpkF6wX84C8ghBmwx9lU0kvSO0DRk
|
||||||
|
K4O0zW4ko7PaIg5nL9wWt8oMrSDNcQt7Ic/KwsdUO2AXljZZrFdXkmZwnW5t6+Vq
|
||||||
|
j6fPp2C+3CkA4gbKkogiTmp3BkJ63f0r9TtMLQHasWbul+6cdWS86rLS15WMj8wN
|
||||||
|
PJd8ihETrJvJNHiXjcdwE4GRLJYu5j9w9c+j6KIl5HeHk2eqOLmN0VaQEtX4aKwK
|
||||||
|
gA8ypL9LAgMBAAECggEAKjiKAR5QBbJrHIDvAZccmuAsSDCI4jmUaPE9PGnZwYVC
|
||||||
|
UWKYMkrVF/JDTb1Q3lm2ERNU5lPvRf0D8HxwdQvoKh3NpS3qP51Zpv6z2V4Urw89
|
||||||
|
+6f0pTmne+xpqyUSUF8TS6994brcFXC/11wETJy7QVxqzVIcD9tSm18dbhASel2p
|
||||||
|
T1kxrMm5oV2j2ey49Z6T2nMgLbv+ts8t5oO5JPCge6qvwzvZn9hif3Rre4egK73e
|
||||||
|
5Ixt23Nk7sx/E1G2uT6ZMN61DbvQa/c241MKfG4wpZU/pzWdORZSNo2s6zz0CPk3
|
||||||
|
vZuH+aLnXk6ZfwcJJ2naEzeJbZKx/A63CuEPUIQEwQKBgQDkwlglhHGONU+a8ZBx
|
||||||
|
uyWQU93G+rOy6ThHFiGuOwCYt1U/B0Zm7iiP2HAWNuiaX2Ntm/WjEvbYRpS5fULw
|
||||||
|
+qt0Y2AENoVB7bL/Ph77YedFfoW2G4PZ3NXsLJ9Hz0cCbkdfbywSGsxaH3RdiEhu
|
||||||
|
DFv8Yi+OsvRe2NpaG1DBeqeDkQKBgQDP54fiwVNqgC8Xn+kvqTm3Awkb40uYEAfL
|
||||||
|
MjKChjenIFOZms4KKFnXbXdswvebd75xaEVn5HypWg9x3y9ZFzrSsTPzu9RnWzdd
|
||||||
|
5ue+1UmSAZxfvZ5kp+NJJjxxJ/8YyjCnCAXNiOxpjjmD84bslJA550xyoDyNWg1j
|
||||||
|
4r0i/w5vGwKBgQCnQ07OR9P75hEJut0hu3QQ3rGHXyHrjElg+NaxnWSnRU2oYzpf
|
||||||
|
4n14CAqUw5s53MtHhsSJc0FYC+uM4QEEUFTzKgI3smGnPhUmOhbPOduvXX6JE/9J
|
||||||
|
WgZ0xH/GMtG5/kZjilcP+dY3g05DYXWMOa88j9I0Jbc2bprhTZ2zimpXcQKBgQCu
|
||||||
|
iOaw3C+VFutx39M5Kc3D8A5zlQtfKwX/9bIllVufOCo2p5kVOe7CRameasbHg20j
|
||||||
|
c6/gmhZ1bZ/Nrtnm5vOA8TZ2BVc5NYBzmmcu84uBwUxvq5YPVkoenLTdIgCr5QGX
|
||||||
|
F8sXUz11F+r89TJt5gJ2OdEZ4Z8z40eedTjm6kxJxQKBgQDZ3OoIi+sF//fTI3dg
|
||||||
|
ULBKrqYaVPhgBnC5ItVeDvJD8tm/YghgxhBcLXLFvZIwy2WK00CEP2zKEczA5AKz
|
||||||
|
w/o/krgsWYpI7PGZW0xGAgY79ahXL7OVl/z+OTCgL17rDGZvvcIMZelYaHjpfS4g
|
||||||
|
Bm3u2KZwUZN4sS+79kQ1Ejw24Q==
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
62
zabbix_network.yml
Normal file
62
zabbix_network.yml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
- name: Ensure Zabbix agent network configuration is correct
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Open firewall port 10050 for Zabbix agent (Debian)
|
||||||
|
ansible.builtin.ufw:
|
||||||
|
rule: allow
|
||||||
|
port: 10050
|
||||||
|
proto: tcp
|
||||||
|
when: ansible_os_family == "Debian"
|
||||||
|
|
||||||
|
- name: Open firewall port 10050 for Zabbix agent (RedHat)
|
||||||
|
firewalld:
|
||||||
|
service: zabbix-agent
|
||||||
|
port: 10050/tcp
|
||||||
|
permanent: true
|
||||||
|
state: enabled
|
||||||
|
immediate: true
|
||||||
|
when: ansible_os_family == "RedHat"
|
||||||
|
|
||||||
|
- name: Restart firewall to apply changes (Debian)
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: ufw
|
||||||
|
state: restarted
|
||||||
|
when: ansible_os_family == "Debian"
|
||||||
|
|
||||||
|
- name: Restart firewalld to apply changes (RedHat)
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: firewalld
|
||||||
|
state: restarted
|
||||||
|
when: ansible_os_family == "RedHat"
|
||||||
|
|
||||||
|
- name: Create directory for Zabbix agent configuration if it does not exist
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/zabbix/zabbix_agentd.d
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Create directory for Zabbix agent logs if it does not exist
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/log/zabbix
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Ensure /var/log/zabbix directory is owned by zabbix user
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/log/zabbix
|
||||||
|
owner: zabbix
|
||||||
|
group: zabbix
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Ensure Zabbix agent is running
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: zabbix-agent
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: Check Zabbix agent status
|
||||||
|
ansible.builtin.command: systemctl status zabbix-agent
|
||||||
|
register: zabbix_status
|
||||||
|
|
||||||
|
- name: Debug Zabbix agent status
|
||||||
|
ansible.builtin.debug:
|
||||||
|
msg: "{{ zabbix_status.stdout_lines }}"
|
||||||
Reference in New Issue
Block a user