1 Przeprowadzono gruntowną refaktoryzację i rozbudowę skryptu, przekształcając go w modularne i w pełni funkcjonalne narzędzie do
zarządzania cyklem życia serwera.
2
3 Kluczowe zmiany w tej wersji (v2.0):
4
5 - **Modularna architektura**: Skrypt obsługuje teraz komendy (np. `install`, `uninstall`, `deploy_monitoring`), co pozwala na
elastyczne zarządzanie poszczególnymi komponentami bez potrzeby uruchamiania całości.
6
7 - **Idempotentność**: Wszystkie operacje sprawdzają stan systemu przed wykonaniem, co gwarantuje bezpieczeństwo i
przewidywalność przy wielokrotnym uruchamianiu.
8
9 - **Separacja konfiguracji**: Konfiguracje usług (Docker Compose, Prometheus itp.) zostały przeniesione do folderu `templates/`,
oddzielając logikę skryptu od danych konfiguracyjnych.
10
11 - **Nowe moduły opcjonalne**: Dodano możliwość łatwej instalacji i konfiguracji:
12 - `Fail2ban` dla dodatkowego bezpieczeństwa.
13 - Bazy danych `PostgreSQL`.
14 - Systemu agregacji logów `Loki`.
15 - Systemu kopii zapasowych `Restic`.
16
17 - **Ulepszone logowanie i bezpieczeństwo**: Skrypt weryfikuje kompatybilność OS, a wszystkie jego działania są logowane do pliku
`/var/log/autoscript.log`.
18
19 - **Funkcja `uninstall`**: Dodano możliwość czystego i bezpiecznego usunięcia wszystkich komponentów wdrożonych przez skrypt.
20
21 - **Aktualizacja dokumentacji**: `README.md` i `CHANGELOG.md` zostały w pełni zaktualizowane, aby odzwierciedlać nową
funkcjonalność.
22
23 Ta wersja stanowi kamień milowy w rozwoju projektu, czyniąc go potężnym i niezawodnym narzędziem dla administratorów.
30 lines
1.2 KiB
YAML
30 lines
1.2 KiB
YAML
groups:
|
|
- name: general.rules
|
|
rules:
|
|
- alert: InstanceDown
|
|
expr: up == 0
|
|
for: 2m
|
|
labels: { severity: critical }
|
|
annotations:
|
|
summary: "Instance {{ $labels.instance }} down"
|
|
description: "{{ $labels.instance }} of job {{ $labels.job }} down >2m"
|
|
- alert: HighCPUUsage
|
|
expr: 100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m]))*100) > 80
|
|
for: 5m
|
|
labels: { severity: warning }
|
|
annotations: { summary: "High CPU {{ $labels.instance }}" }
|
|
- alert: HighMemoryUsage
|
|
expr: (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes)/node_memory_MemTotal_bytes*100 > 90
|
|
for: 5m
|
|
labels: { severity: warning }
|
|
annotations: { summary: "High memory {{ $labels.instance }}" }
|
|
- alert: DiskSpaceLow
|
|
expr: (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"}/node_filesystem_size_bytes) < 0.1
|
|
for: 10m
|
|
labels: { severity: warning }
|
|
annotations: { summary: "Low disk {{ $labels.instance }}" }
|
|
- alert: CertificateExpiration
|
|
expr: probe_ssl_earliest_cert_expiry - time() < 604800
|
|
for: 0m
|
|
labels: { severity: warning }
|
|
annotations: { summary: "Cert expires soon {{ $labels.instance }}" }
|