monitorconfig

This commit is contained in:
QuangMinh_123
2026-05-29 11:10:51 +07:00
parent 2683cdb882
commit edc4fc44c5
6 changed files with 98 additions and 19 deletions

View File

@@ -42,6 +42,47 @@ def _row_to_dict(row):
}
# ============================================
# INSERT DEFAULT: Tạo cấu hình giám sát mặc định cho thiết bị mới
# ============================================
def insert_default_monitor_config_db(device_id, cursor=None):
"""
Thêm cấu hình giám sát mặc định cho thiết bị mới.
Nếu có cursor được truyền vào (từ transaction của device), dùng chung cursor đó.
Nếu không, tự tạo connection riêng.
"""
sql = """
INSERT INTO monitor_config (device_id, enable_ping, ping_count, ping_timeout, ping_interval, enable_snmp)
VALUES (%s, %s, %s, %s, %s, %s)
RETURNING id, device_id, enable_ping, ping_count, ping_timeout, ping_interval,
enable_snmp, snmp_version, snmp_community, snmp_port, snmp_interval,
snmp_timeout, snmp_custom_oids, created, modified
"""
# Mặc định bật Ping giám sát (enable_ping=True), ping_count=3, timeout=5s, interval=60s
params = (device_id, True, 3, 5, 60, False)
if cursor:
cursor.execute(sql, params)
row = cursor.fetchone()
return _row_to_dict(row)
else:
conn = get_connection()
cur = None
try:
cur = conn.cursor()
cur.execute(sql, params)
row = cur.fetchone()
conn.commit()
return _row_to_dict(row)
except Exception:
conn.rollback()
raise
finally:
if cur:
cur.close()
release_connection(conn)
# ============================================
# FIND BY DEVICE ID: Lấy cấu hình giám sát của một thiết bị
# ============================================