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:
|
||||
ansible_host: 192.168.1.23
|
||||
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:
|
||||
ansible_host: 192.168.1.24
|
||||
ansible_user: alex
|
||||
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:
|
||||
ansible_host: 192.168.1.162
|
||||
ansible_user: root
|
||||
ansible_password: Aase#1234!
|
||||
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:
|
||||
proxmox_host: 192.168.1.162
|
||||
proxmox_user: root@pam
|
||||
@@ -29,6 +44,11 @@ all:
|
||||
ansible_host: 192.168.1.144
|
||||
ansible_user: alex
|
||||
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:
|
||||
ansible_host: 192.168.1.113
|
||||
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: Fetch and List DHCP Clients from UniFi Controller
|
||||
- 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
|
||||
|
||||
vars_files:
|
||||
- credentials.yml
|
||||
|
||||
vars:
|
||||
unifi_baseurl: "https://your-unifi-controller:8443"
|
||||
unifi_site_id: "default"
|
||||
unifi_validate_certs: no
|
||||
|
||||
roles:
|
||||
- unifi_dhcp_clients_list
|
||||
- name: Display port forwarding rules
|
||||
debug:
|
||||
var: result.portforwarding_rules
|
||||
|
||||
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