Implement AnonBot integration and monitoring enhancements
- Added AnonBot service to docker-compose with resource limits and environment variables. - Updated Makefile to include commands for AnonBot logs, restart, and dependency checks. - Enhanced Grafana dashboards with AnonBot health metrics and database connection statistics. - Implemented AnonBot status retrieval in the message sender for improved monitoring. - Updated Prometheus configuration to scrape metrics from AnonBot service.
This commit was merged in pull request #2.
This commit is contained in:
@@ -590,14 +590,17 @@ class MetricsCollector:
|
||||
alerts.append(('cpu', system_info['cpu_percent'], f"Нагрузка за 1 мин: {system_info['load_avg_1m']}"))
|
||||
logger.warning(f"CPU ALERT: {system_info['cpu_percent']:.1f}% > {self.threshold}% (задержка {self.alert_delays['cpu']}s)")
|
||||
else:
|
||||
# CPU ниже порога - сбрасываем состояние
|
||||
# CPU ниже порога - сбрасываем состояние только если был активный алерт
|
||||
if self.alert_states['cpu']:
|
||||
self.alert_states['cpu'] = False
|
||||
recoveries.append(('cpu', system_info['cpu_percent']))
|
||||
logger.info(f"CPU RECOVERY: {system_info['cpu_percent']:.1f}% < {self.recovery_threshold}%")
|
||||
|
||||
# Сбрасываем время начала превышения
|
||||
self.alert_start_times['cpu'] = None
|
||||
# Сбрасываем время начала превышения только после отправки алерта
|
||||
self.alert_start_times['cpu'] = None
|
||||
elif system_info['cpu_percent'] < self.recovery_threshold and self.alert_start_times['cpu'] is not None:
|
||||
# Если CPU опустился значительно ниже порога, сбрасываем время начала превышения
|
||||
logger.debug(f"CPU значительно ниже порога {self.recovery_threshold}%: {system_info['cpu_percent']:.1f}% - сбрасываем время начала превышения")
|
||||
self.alert_start_times['cpu'] = None
|
||||
|
||||
# Проверка RAM с задержкой
|
||||
if system_info['ram_percent'] > self.threshold:
|
||||
@@ -613,14 +616,17 @@ class MetricsCollector:
|
||||
alerts.append(('ram', system_info['ram_percent'], f"Используется: {system_info['ram_used']} GB из {system_info['ram_total']} GB"))
|
||||
logger.warning(f"RAM ALERT: {system_info['ram_percent']:.1f}% > {self.threshold}% (задержка {self.alert_delays['ram']}s)")
|
||||
else:
|
||||
# RAM ниже порога - сбрасываем состояние
|
||||
# RAM ниже порога - сбрасываем состояние только если был активный алерт
|
||||
if self.alert_states['ram']:
|
||||
self.alert_states['ram'] = False
|
||||
recoveries.append(('ram', system_info['ram_percent']))
|
||||
logger.info(f"RAM RECOVERY: {system_info['ram_percent']:.1f}% < {self.recovery_threshold}%")
|
||||
|
||||
# Сбрасываем время начала превышения
|
||||
self.alert_start_times['ram'] = None
|
||||
# Сбрасываем время начала превышения только после отправки алерта
|
||||
self.alert_start_times['ram'] = None
|
||||
elif system_info['ram_percent'] < self.recovery_threshold and self.alert_start_times['ram'] is not None:
|
||||
# Если RAM опустился значительно ниже порога, сбрасываем время начала превышения
|
||||
logger.debug(f"RAM значительно ниже порога {self.recovery_threshold}%: {system_info['ram_percent']:.1f}% - сбрасываем время начала превышения")
|
||||
self.alert_start_times['ram'] = None
|
||||
|
||||
# Проверка диска с задержкой
|
||||
if system_info['disk_percent'] > self.threshold:
|
||||
@@ -636,14 +642,17 @@ class MetricsCollector:
|
||||
alerts.append(('disk', system_info['disk_percent'], f"Свободно: {system_info['disk_free']} GB на /"))
|
||||
logger.warning(f"DISK ALERT: {system_info['disk_percent']:.1f}% > {self.threshold}% (задержка {self.alert_delays['disk']}s)")
|
||||
else:
|
||||
# Диск ниже порога - сбрасываем состояние
|
||||
# Диск ниже порога - сбрасываем состояние только если был активный алерт
|
||||
if self.alert_states['disk']:
|
||||
self.alert_states['disk'] = False
|
||||
recoveries.append(('disk', system_info['disk_percent']))
|
||||
logger.info(f"DISK RECOVERY: {system_info['disk_percent']:.1f}% < {self.recovery_threshold}%")
|
||||
|
||||
# Сбрасываем время начала превышения
|
||||
self.alert_start_times['disk'] = None
|
||||
# Сбрасываем время начала превышения только после отправки алерта
|
||||
self.alert_start_times['disk'] = None
|
||||
elif system_info['disk_percent'] < self.recovery_threshold and self.alert_start_times['disk'] is not None:
|
||||
# Если диск опустился значительно ниже порога, сбрасываем время начала превышения
|
||||
logger.debug(f"Disk значительно ниже порога {self.recovery_threshold}%: {system_info['disk_percent']:.1f}% - сбрасываем время начала превышения")
|
||||
self.alert_start_times['disk'] = None
|
||||
|
||||
return alerts, recoveries
|
||||
|
||||
|
||||
Reference in New Issue
Block a user