mirvmon/templates/admin/defaults.twig

138 lines
7.3 KiB
Twig
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "layout.twig" %}
{% block content %}
<div class="row mb-4">
<div class="col-12">
<h2><i class="fas fa-sliders-h"></i> Дефолтные параметры</h2>
<p class="text-muted">Эти параметры будут использоваться по умолчанию для новых серверов и метрик</p>
</div>
</div>
{% if session.flash_message is defined and session.flash_message %}
<div class="alert alert-{{ session.flash_type == 'error' ? 'danger' : 'success' }} alert-dismissible fade show">
{{ session.flash_message|nl2br }}
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
{% endif %}
<form method="post" action="/admin/defaults/save">
<input type="hidden" name="csrf_name" value="{{ csrf_name }}">
<input type="hidden" name="csrf_value" value="{{ csrf_value }}">
<!-- Offline настройки -->
<div class="row mb-4">
<div class="col-md-6">
<div class="card h-100">
<div class="card-header bg-dark text-white">
<h5 class="mb-0"><i class="fas fa-wifi"></i> Мониторинг недоступности (Offline)</h5>
</div>
<div class="card-body">
<div class="mb-3">
<label for="offline_check_interval" class="form-label">
<i class="fas fa-clock"></i> Интервал проверки offline
</label>
<div class="input-group">
<input type="number" class="form-control" id="offline_check_interval" name="offline_check_interval"
value="{{ settings.offline_check_interval|default(60) }}" min="30" max="3600">
<span class="input-group-text">секунд</span>
</div>
<div class="form-text">CRON будет проверять серверы каждые N секунд (минимум 30)</div>
</div>
<div class="mb-3">
<label for="default_offline_timeout" class="form-label">
<i class="fas fa-hourglass-half"></i> Дефолтный таймаут offline
</label>
<div class="input-group">
<input type="number" class="form-control" id="default_offline_timeout" name="default_offline_timeout"
value="{{ settings.default_offline_timeout|default(300) }}" min="60" max="86400">
<span class="input-group-text">секунд</span>
</div>
<div class="form-text">Сервер считается offline если метрики не приходили N секунд (по умолчанию 300 = 5 мин)</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card h-100">
<div class="card-header bg-warning text-dark">
<h5 class="mb-0"><i class="fas fa-chart-line"></i> Дефолтные пороги метрик</h5>
</div>
<div class="card-body">
<div class="mb-3">
<label for="default_warning_threshold" class="form-label">
<i class="fas fa-exclamation-triangle text-warning"></i> Warning threshold
</label>
<div class="input-group">
<input type="number" class="form-control" id="default_warning_threshold" name="default_warning_threshold"
value="{{ settings.default_warning_threshold|default(70) }}" min="0" max="100" step="0.1">
<span class="input-group-text">%</span>
</div>
<div class="form-text">При превышении этого значения будет Warning</div>
</div>
<div class="mb-3">
<label for="default_critical_threshold" class="form-label">
<i class="fas fa-radiation text-danger"></i> Critical threshold
</label>
<div class="input-group">
<input type="number" class="form-control" id="default_critical_threshold" name="default_critical_threshold"
value="{{ settings.default_critical_threshold|default(90) }}" min="0" max="100" step="0.1">
<span class="input-group-text">%</span>
</div>
<div class="form-text">При превышении этого значения будет Critical</div>
</div>
<div class="mb-3">
<label for="default_duration" class="form-label">
<i class="fas fa-hourglass-start"></i> Длительность превышения
</label>
<div class="input-group">
<input type="number" class="form-control" id="default_duration" name="default_duration"
value="{{ settings.default_duration|default(0) }}" min="0" max="60">
<span class="input-group-text">минут</span>
</div>
<div class="form-text">Алерт отправится только если порог превышен N минут (0 = сразу)</div>
</div>
</div>
</div>
</div>
</div>
<!-- Информация о CRON -->
<div class="row mb-4">
<div class="col-12">
<div class="card border-primary">
<div class="card-header bg-primary text-white">
<h5 class="mb-0"><i class="fas fa-terminal"></i> Настройка CRON</h5>
</div>
<div class="card-body">
<p>Для автоматической проверки offline серверов добавьте в CRON:</p>
<div class="bg-dark text-white p-3 rounded mb-3">
<code>* * * * * php {{ app_path|default('/var/www/mon/public') }}/check_offline.php</code>
</div>
<p class="mb-0">
<i class="fas fa-info-circle text-info"></i>
Это запустит проверку каждую минуту. Интервал в настройках определяет как часто проверяется каждый сервер.
</p>
</div>
</div>
</div>
</div>
<!-- Кнопки -->
<div class="row mb-4">
<div class="col-12">
<button type="submit" class="btn btn-primary">
<i class="fas fa-save"></i> Сохранить настройки
</button>
<a href="/admin" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left"></i> Назад в админку
</a>
</div>
</div>
</form>
{% endblock %}