grafana docker

This commit is contained in:
2026-03-09 16:21:48 +01:00
parent dfd31c3db2
commit ea43b5cb6c
4 changed files with 118 additions and 1 deletions

View File

@@ -0,0 +1,7 @@
# Az összes GPO végigfésülése az "SMTP" kulcsszóra
Get-GPO -All | ForEach-Object {
$report = Get-GPOReport -Guid $_.Id -ReportType Xml
if ($report -like "*SMTP*") {
Write-Host "Találat: $($_.DisplayName)" -ForegroundColor Green
}
}

View File

@@ -1,4 +1,4 @@
# SNMP An auf Windows Server
Install-WindowsFeature -Name "SNMP-Service" -IncludeAllSubFeature -IncludeManagementTools
# Firewall für SNMP Dienst öffnen
New-NetFirewallRule -Name "SNMP" -DisplayName "Allow SNMP" -Protocol UDP -LocalPort 161 -Action Allow -Direction Inbound -RemoteAddress 10.102.1.59 -Profile Domain
New-NetFirewallRule -Name "SNMP" -DisplayName "Allow SNMP" -Protocol UDP -LocalPort 161 -Action Allow -Direction Inbound -RemoteAddress 10.102.1.201 -Profile Domain

View File

@@ -0,0 +1,97 @@
import smbclient
import smbclient.path
from datetime import datetime, timezone, timedelta
import requests
import sys
# --- KONFIGURÁCIÓ ---
# Töltsd ki a saját adataiddal!
SERVER = "10.102.1.56" # Windows szerver IP
SHARE = "D$" # Megosztás neve (C$, D$, stb.)
FOLDER_PATH = "Schnittstellen/Bremen" # Útvonal a megosztáson belül (NE tegyél elé perjelet!)
USERNAME = "user" # Windows felhasználónév
PASSWORD = "password" # Windows jelszó
# Küszöbértékek
MAX_FILES = 2
MAX_AGE_MINUTES = 45
# n8n integráció
N8N_WEBHOOK_URL = "https://n8n.domain.hu/webhook/folder-alert"
TEST_MODE = True # True: csak kiírja az eredményt, nem küld n8n üzenetet
def check_folder():
print(f"--- Ellenőrzés indítása: {datetime.now()} ---")
print(f"Szerver: {SERVER}, Mappa: {SHARE}\\{FOLDER_PATH}")
try:
# Kapcsolat felépítése
smbclient.register_session(SERVER, username=USERNAME, password=PASSWORD)
# Windows-stílusú elérési út összeállítása
full_path = f"\\\\{SERVER}\\{SHARE}\\{FOLDER_PATH.replace('/', '\\')}"
if not smbclient.path.exists(full_path):
print(f"HIBA: A megadott elérési út nem létezik: {full_path}")
return
now = datetime.now(timezone.utc)
old_files = []
# Fájlok listázása és ellenőrzése
print("Fájlok vizsgálata...")
for file_entry in smbclient.scandir(full_path):
if file_entry.is_file():
# Utolsó módosítás lekérése (st_mtime)
mtime = datetime.fromtimestamp(file_entry.stat().st_mtime, timezone.utc)
age = now - mtime
age_minutes = int(age.total_seconds() / 60)
print(f" - {file_entry.name}: {age_minutes} perce módosítva")
if age > timedelta(minutes=MAX_AGE_MINUTES):
old_files.append({
"name": file_entry.name,
"age_minutes": age_minutes
})
# Logika: Ha több mint MAX_FILES régi fájl van
if len(old_files) > MAX_FILES:
print(f"\n[!] FIGYELEM: {len(old_files)} db régi fájl található!")
if not TEST_MODE:
send_n8n_alert(len(old_files), old_files)
else:
print("[Teszt mód] n8n hívás kihagyva.")
else:
print(f"\n[OK] Minden rendben. ({len(old_files)} régi fájl)")
except Exception as e:
print(f"\n[!] Váratlan hiba történt: {e}")
finally:
# Kapcsolat lezárása
try:
smbclient.reset_connection(SERVER)
except:
pass
print("--- Ellenőrzés vége ---\n")
def send_n8n_alert(count, files):
payload = {
"status": "warning",
"server": SERVER,
"folder": FOLDER_PATH,
"old_files_count": count,
"files": files,
"timestamp": datetime.now().isoformat()
}
try:
response = requests.post(N8N_WEBHOOK_URL, json=payload, timeout=10)
if response.status_code == 200:
print("n8n értesítés sikeresen elküldve.")
else:
print(f"n8n hiba: HTTP {response.status_code}")
except Exception as e:
print(f"Nem sikerült elérni az n8n-t: {e}")
if __name__ == "__main__":
check_folder()