Add top CPU/RAM process collection to agent

This commit is contained in:
mirivlad 2026-02-14 17:07:22 +00:00
parent 59a6bb2075
commit 400f9abd0d
2 changed files with 289 additions and 101 deletions

159
agent.py Executable file
View File

@ -0,0 +1,159 @@
#!/usr/bin/env python3
import time
import json
import psutil
import requests
import subprocess
import os
from datetime import datetime
def get_metrics():
"""Сбор системных метрик"""
cpu_percent = psutil.cpu_percent(interval=1)
memory = psutil.virtual_memory()
disk_usage = psutil.disk_usage('/')
# Получаем сетевую статистику
try:
net_io = psutil.net_io_counters()
except:
net_io = None
return {
'cpu_load': cpu_percent,
'ram_used': memory.percent,
'disk_used': disk_usage.percent
}
def get_top_processes(process_type='cpu'):
"""Сбор топ-5 процессов по CPU или RAM"""
processes = []
try:
for proc in psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_percent']):
try:
info = proc.info
if info['cpu_percent'] is None or info['memory_percent'] is None:
continue
processes.append({
'pid': info['pid'],
'name': info['name'],
'value': round(info[process_type + '_percent'], 1)
})
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
continue
# Сортируем по значению и берем топ-5
if process_type == 'cpu':
key = 'value'
else: # memory
key = 'value'
processes.sort(key=lambda x: x[key], reverse=True)
top_5 = processes[:5]
return top_5
except Exception as e:
print(f"Ошибка получения топ-процессов ({process_type}): {e}")
return []
def get_services():
"""Сбор списка сервисов через systemctl"""
try:
result = subprocess.run(['systemctl', 'list-units', '--type=service', '--no-pager', '--all'],
capture_output=True, text=True, timeout=5)
services = []
for line in result.stdout.split('\n')[1:]: # Пропускаем заголовок
if not line.strip():
continue
parts = line.split(None, 4) # Разделяем на 5 частей максимум
if len(parts) >= 4:
service_name = parts[0]
load_state = parts[1] if len(parts) > 1 else ''
active_state = parts[2] if len(parts) > 2 else ''
sub_state = parts[3] if len(parts) > 3 else ''
# Определяем статус сервиса
if active_state == 'active':
status = 'running'
elif active_state in ['inactive', 'failed']:
status = 'stopped'
else:
status = 'unknown'
services.append({
'name': service_name,
'status': status,
'load_state': load_state,
'active_state': active_state,
'sub_state': sub_state
})
return services
except Exception as e:
print(f"Ошибка получения сервисов: {e}")
return []
def send_metrics():
"""Отправка метрик на сервер"""
with open('/opt/server-monitor-agent/config.json', 'r') as f:
config = json.load(f)
token = config['token']
api_url = config['api_url']
# Собираем метрики
metrics = get_metrics()
# Собираем топ-процессы
top_cpu = get_top_processes('cpu')
top_ram = get_top_processes('memory')
# Добавляем топ-процессы как метрики
if top_cpu:
metrics['top_cpu_proc'] = json.dumps(top_cpu)
if top_ram:
metrics['top_ram_proc'] = json.dumps(top_ram)
# Собираем сервисы
services = get_services()
# Формируем данные для отправки
data = {
'token': token,
'metrics': metrics,
'services': services
}
# Отправляем на сервер
try:
response = requests.post(api_url, json=data, timeout=5)
if response.status_code == 200:
print(f"{datetime.now()} - Метрики успешно отправлены")
else:
print(f"{datetime.now()} - Ошибка отправки: {response.status_code}")
except Exception as e:
print(f"{datetime.now()} - Ошибка соединения: {e}")
def main():
"""Главная функция агента"""
print(f"{datetime.now()} - Агент мониторинга запущен")
while True:
send_metrics()
# Ждем указанный интервал
with open('/opt/server-monitor-agent/config.json', 'r') as f:
config = json.load(f)
interval = config.get('interval_seconds', 60)
time.sleep(interval)
if __name__ == '__main__':
main()

View File

@ -126,7 +126,7 @@ CREATE TABLE `metric_names` (
`description` text DEFAULT NULL, `description` text DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`) UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -140,7 +140,9 @@ INSERT INTO `metric_names` VALUES
(2,'ram_used','%','Использование оперативной памяти'), (2,'ram_used','%','Использование оперативной памяти'),
(3,'disk_used','%','Использование диска'), (3,'disk_used','%','Использование диска'),
(4,'network_in','MB/s','Скорость приема сети'), (4,'network_in','MB/s','Скорость приема сети'),
(5,'network_out','MB/s','Скорость передачи сети'); (5,'network_out','MB/s','Скорость передачи сети'),
(6,'top_cpu_proc','json','Top 5 processes by CPU usage'),
(7,'top_ram_proc','json','Top 5 processes by RAM usage');
/*!40000 ALTER TABLE `metric_names` ENABLE KEYS */; /*!40000 ALTER TABLE `metric_names` ENABLE KEYS */;
UNLOCK TABLES; UNLOCK TABLES;
@ -222,7 +224,7 @@ CREATE TABLE `server_metrics` (
KEY `metric_name_id` (`metric_name_id`), KEY `metric_name_id` (`metric_name_id`),
CONSTRAINT `server_metrics_ibfk_1` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, CONSTRAINT `server_metrics_ibfk_1` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE,
CONSTRAINT `server_metrics_ibfk_2` FOREIGN KEY (`metric_name_id`) REFERENCES `metric_names` (`id`) CONSTRAINT `server_metrics_ibfk_2` FOREIGN KEY (`metric_name_id`) REFERENCES `metric_names` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ) ENGINE=InnoDB AUTO_INCREMENT=129 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -332,7 +334,34 @@ INSERT INTO `server_metrics` VALUES
(98,2,3,17.80,'2026-02-14 16:57:07'), (98,2,3,17.80,'2026-02-14 16:57:07'),
(99,2,1,0.80,'2026-02-14 16:58:08'), (99,2,1,0.80,'2026-02-14 16:58:08'),
(100,2,2,39.50,'2026-02-14 16:58:08'), (100,2,2,39.50,'2026-02-14 16:58:08'),
(101,2,3,17.80,'2026-02-14 16:58:08'); (101,2,3,17.80,'2026-02-14 16:58:08'),
(102,2,1,2.70,'2026-02-14 16:59:10'),
(103,2,2,40.70,'2026-02-14 16:59:10'),
(104,2,3,17.80,'2026-02-14 16:59:10'),
(105,2,1,0.80,'2026-02-14 17:00:11'),
(106,2,2,41.40,'2026-02-14 17:00:11'),
(107,2,3,17.80,'2026-02-14 17:00:11'),
(108,2,1,0.50,'2026-02-14 17:01:13'),
(109,2,2,40.00,'2026-02-14 17:01:13'),
(110,2,3,17.80,'2026-02-14 17:01:13'),
(111,2,1,35.70,'2026-02-14 17:02:14'),
(112,2,2,39.60,'2026-02-14 17:02:14'),
(113,2,3,17.80,'2026-02-14 17:02:14'),
(114,2,1,2.00,'2026-02-14 17:03:15'),
(115,2,2,40.80,'2026-02-14 17:03:15'),
(116,2,3,17.80,'2026-02-14 17:03:15'),
(117,2,1,0.50,'2026-02-14 17:04:17'),
(118,2,2,40.00,'2026-02-14 17:04:17'),
(119,2,3,17.80,'2026-02-14 17:04:17'),
(120,2,1,0.80,'2026-02-14 17:05:18'),
(121,2,2,40.20,'2026-02-14 17:05:18'),
(122,2,3,17.80,'2026-02-14 17:05:18'),
(123,2,1,0.70,'2026-02-14 17:06:20'),
(124,2,2,40.20,'2026-02-14 17:06:20'),
(125,2,3,17.80,'2026-02-14 17:06:20'),
(126,2,1,1.00,'2026-02-14 17:06:46'),
(127,2,2,40.10,'2026-02-14 17:06:46'),
(128,2,3,17.80,'2026-02-14 17:06:46');
/*!40000 ALTER TABLE `server_metrics` ENABLE KEYS */; /*!40000 ALTER TABLE `server_metrics` ENABLE KEYS */;
UNLOCK TABLES; UNLOCK TABLES;
@ -367,7 +396,7 @@ LOCK TABLES `servers` WRITE;
/*!40000 ALTER TABLE `servers` DISABLE KEYS */; /*!40000 ALTER TABLE `servers` DISABLE KEYS */;
INSERT INTO `servers` VALUES INSERT INTO `servers` VALUES
(1,'Work_PC','',1,'',NULL,'2026-02-03 07:24:02',NULL,0), (1,'Work_PC','',1,'',NULL,'2026-02-03 07:24:02',NULL,0),
(2,'tomas','localhost',1,'Main OpenClaw server','2026-02-14 16:58:08','2026-02-14 09:55:18','2026-02-14 10:07:10',0); (2,'tomas','localhost',1,'Main OpenClaw server','2026-02-14 17:06:46','2026-02-14 09:55:18','2026-02-14 10:07:10',0);
/*!40000 ALTER TABLE `servers` ENABLE KEYS */; /*!40000 ALTER TABLE `servers` ENABLE KEYS */;
UNLOCK TABLES; UNLOCK TABLES;
@ -485,7 +514,7 @@ CREATE TABLE `service_status` (
UNIQUE KEY `uk_server_service` (`server_id`,`service_name`), UNIQUE KEY `uk_server_service` (`server_id`,`service_name`),
KEY `idx_server_updated` (`server_id`,`updated_at`), KEY `idx_server_updated` (`server_id`,`updated_at`),
CONSTRAINT `service_status_ibfk_1` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE CONSTRAINT `service_status_ibfk_1` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3475 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ) ENGINE=InnoDB AUTO_INCREMENT=4371 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -496,100 +525,100 @@ LOCK TABLES `service_status` WRITE;
/*!40000 ALTER TABLE `service_status` DISABLE KEYS */; /*!40000 ALTER TABLE `service_status` DISABLE KEYS */;
INSERT INTO `service_status` VALUES INSERT INTO `service_status` VALUES
(1,2,'ssh','running','loaded','active','running','2026-02-14 10:05:07','2026-02-14 10:05:07'), (1,2,'ssh','running','loaded','active','running','2026-02-14 10:05:07','2026-02-14 10:05:07'),
(2,2,'apparmor.service','running','loaded','active','exited','2026-02-14 16:58:08','2026-02-14 10:05:13'), (2,2,'apparmor.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(3,2,'apport-autoreport.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (3,2,'apport-autoreport.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(4,2,'apport.service','running','loaded','active','exited','2026-02-14 16:58:08','2026-02-14 10:05:13'), (4,2,'apport.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(5,2,'apt-daily-upgrade.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (5,2,'apt-daily-upgrade.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(6,2,'apt-daily.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (6,2,'apt-daily.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(7,2,'','unknown','rbdmap.service','not-found','inactive','2026-02-14 16:58:09','2026-02-14 10:05:13'), (7,2,'','unknown','rbdmap.service','not-found','inactive','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(8,2,'blk-availability.service','running','loaded','active','exited','2026-02-14 16:58:08','2026-02-14 10:05:13'), (8,2,'blk-availability.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(9,2,'certbot.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (9,2,'certbot.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(10,2,'cloud-init-local.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (10,2,'cloud-init-local.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(13,2,'console-setup.service','running','loaded','active','exited','2026-02-14 16:58:08','2026-02-14 10:05:13'), (13,2,'console-setup.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(14,2,'containerd.service','running','loaded','active','running','2026-02-14 16:58:08','2026-02-14 10:05:13'), (14,2,'containerd.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(15,2,'cron.service','running','loaded','active','running','2026-02-14 16:58:08','2026-02-14 10:05:13'), (15,2,'cron.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(16,2,'dbus.service','running','loaded','active','running','2026-02-14 16:58:08','2026-02-14 10:05:13'), (16,2,'dbus.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(18,2,'dm-event.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (18,2,'dm-event.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(19,2,'dmesg.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (19,2,'dmesg.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(20,2,'docker.service','running','loaded','active','running','2026-02-14 16:58:08','2026-02-14 10:05:13'), (20,2,'docker.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(21,2,'dpkg-db-backup.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (21,2,'dpkg-db-backup.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(22,2,'e2scrub_all.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (22,2,'e2scrub_all.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(23,2,'e2scrub_reap.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (23,2,'e2scrub_reap.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(24,2,'emergency.service','stopped','loaded','inactive','dead','2026-02-14 16:58:08','2026-02-14 10:05:13'), (24,2,'emergency.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(25,2,'fail2ban.service','running','loaded','active','running','2026-02-14 16:58:08','2026-02-14 10:05:13'), (25,2,'fail2ban.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(27,2,'finalrd.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (27,2,'finalrd.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(29,2,'fstrim.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (29,2,'fstrim.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(30,2,'fwupd-refresh.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (30,2,'fwupd-refresh.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(31,2,'fwupd.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (31,2,'fwupd.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(32,2,'getty-static.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (32,2,'getty-static.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(33,2,'getty@tty1.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (33,2,'getty@tty1.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(34,2,'grub-common.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (34,2,'grub-common.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(35,2,'grub-initrd-fallback.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (35,2,'grub-initrd-fallback.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(37,2,'initrd-cleanup.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (37,2,'initrd-cleanup.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(38,2,'initrd-parse-etc.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (38,2,'initrd-parse-etc.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(39,2,'initrd-switch-root.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (39,2,'initrd-switch-root.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(40,2,'initrd-udevadm-cleanup-db.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (40,2,'initrd-udevadm-cleanup-db.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(45,2,'iscsid.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (45,2,'iscsid.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(47,2,'keyboard-setup.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (47,2,'keyboard-setup.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(48,2,'kmod-static-nodes.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (48,2,'kmod-static-nodes.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(49,2,'ldconfig.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (49,2,'ldconfig.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(50,2,'logrotate.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (50,2,'logrotate.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(52,2,'lvm2-lvmpolld.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (52,2,'lvm2-lvmpolld.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(53,2,'lvm2-monitor.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (53,2,'lvm2-monitor.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(55,2,'man-db.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (55,2,'man-db.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(56,2,'mariadb.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (56,2,'mariadb.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(57,2,'ModemManager.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (57,2,'ModemManager.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(58,2,'modprobe@configfs.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (58,2,'modprobe@configfs.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(59,2,'modprobe@dm_mod.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (59,2,'modprobe@dm_mod.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(60,2,'modprobe@drm.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (60,2,'modprobe@drm.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(61,2,'modprobe@efi_pstore.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (61,2,'modprobe@efi_pstore.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(62,2,'modprobe@fuse.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (62,2,'modprobe@fuse.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(63,2,'modprobe@loop.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (63,2,'modprobe@loop.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(64,2,'mon-server.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (64,2,'mon-server.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(67,2,'motd-news.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (67,2,'motd-news.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(68,2,'multipathd.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (68,2,'multipathd.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(69,2,'netplan-ovs-cleanup.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (69,2,'netplan-ovs-cleanup.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(70,2,'networkd-dispatcher.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (70,2,'networkd-dispatcher.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(72,2,'nftables.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (72,2,'nftables.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(73,2,'nginx.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (73,2,'nginx.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(74,2,'open-iscsi.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (74,2,'open-iscsi.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(75,2,'open-vm-tools.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (75,2,'open-vm-tools.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(77,2,'php8.3-fpm.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (77,2,'php8.3-fpm.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(78,2,'phpsessionclean.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (78,2,'phpsessionclean.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(79,2,'plymouth-quit-wait.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (79,2,'plymouth-quit-wait.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(80,2,'plymouth-quit.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (80,2,'plymouth-quit.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(81,2,'plymouth-read-write.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (81,2,'plymouth-read-write.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(82,2,'plymouth-start.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (82,2,'plymouth-start.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(83,2,'plymouth-switch-root.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (83,2,'plymouth-switch-root.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(84,2,'polkit.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (84,2,'polkit.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(85,2,'pollinate.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (85,2,'pollinate.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(87,2,'rc-local.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (87,2,'rc-local.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(88,2,'rescue.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (88,2,'rescue.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(89,2,'rsyslog.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (89,2,'rsyslog.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(90,2,'secureboot-db.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (90,2,'secureboot-db.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(91,2,'server-monitor-agent.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (91,2,'server-monitor-agent.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(92,2,'setvtrgb.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (92,2,'setvtrgb.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(93,2,'snapd.apparmor.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (93,2,'snapd.apparmor.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(94,2,'snapd.autoimport.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (94,2,'snapd.autoimport.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(95,2,'snapd.core-fixup.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (95,2,'snapd.core-fixup.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(96,2,'snapd.failure.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (96,2,'snapd.failure.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(97,2,'snapd.recovery-chooser-trigger.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (97,2,'snapd.recovery-chooser-trigger.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(98,2,'snapd.seeded.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (98,2,'snapd.seeded.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(99,2,'snapd.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (99,2,'snapd.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(100,2,'snapd.snap-repair.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (100,2,'snapd.snap-repair.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(101,2,'snapd.system-shutdown.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (101,2,'snapd.system-shutdown.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(102,2,'ssh.service','running','loaded','active','running','2026-02-14 16:58:09','2026-02-14 10:05:13'), (102,2,'ssh.service','running','loaded','active','running','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(103,2,'sysstat-collect.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (103,2,'sysstat-collect.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(104,2,'sysstat-summary.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (104,2,'sysstat-summary.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(105,2,'sysstat.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (105,2,'sysstat.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(106,2,'systemd-ask-password-console.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (106,2,'systemd-ask-password-console.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(107,2,'systemd-ask-password-plymouth.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (107,2,'systemd-ask-password-plymouth.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(108,2,'systemd-ask-password-wall.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (108,2,'systemd-ask-password-wall.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(109,2,'systemd-battery-check.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (109,2,'systemd-battery-check.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(110,2,'systemd-binfmt.service','running','loaded','active','exited','2026-02-14 16:58:09','2026-02-14 10:05:13'), (110,2,'systemd-binfmt.service','running','loaded','active','exited','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(111,2,'systemd-bsod.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (111,2,'systemd-bsod.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(112,2,'systemd-firstboot.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (112,2,'systemd-firstboot.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(113,2,'systemd-fsck-root.service','stopped','loaded','inactive','dead','2026-02-14 16:58:09','2026-02-14 10:05:13'), (113,2,'systemd-fsck-root.service','stopped','loaded','inactive','dead','2026-02-14 17:06:20','2026-02-14 10:05:13'),
(338,2,'test','running','','','','2026-02-14 10:07:10','2026-02-14 10:07:10'); (338,2,'test','running','','','','2026-02-14 10:07:10','2026-02-14 10:07:10');
/*!40000 ALTER TABLE `service_status` ENABLE KEYS */; /*!40000 ALTER TABLE `service_status` ENABLE KEYS */;
UNLOCK TABLES; UNLOCK TABLES;
@ -661,4 +690,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2026-02-14 16:59:04 -- Dump completed on 2026-02-14 17:07:05