# Netdata на хосте Proxmox Мониторинг CPU, RAM, дисков, load average, swap. Алерты в Telegram. --- ## Доступ | Параметр | Значение | |----------|----------| | **URL** | http://192.168.1.150:19999 | | **Режим** | Локальный, анонимный (Cloud отключён) | --- ## Установка На хосте Proxmox (root): ```bash # Официальный установщик wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry ``` Или через пакетный менеджер (если доступен): ```bash apt update && apt install -y netdata ``` --- ## Конфигурация Telegram Редактировать: `/etc/netdata/health_alarm_notify.conf` ```bash cd /etc/netdata ./edit-config health_alarm_notify.conf ``` Добавить/изменить: ``` SEND_TELEGRAM="YES" TELEGRAM_BOT_TOKEN="<токен из Vaultwarden: HOME_BOT_TOKEN>" DEFAULT_RECIPIENT_TELEGRAM="" ``` Креды можно взять из Vaultwarden (объекты HOME_BOT_TOKEN, RESTIC) или из `/root/.telegram-notify.env`. --- ## Алерты (health.d) Файлы в `/etc/netdata/health.d/`. Создать или переопределить: ### cpu.conf — CPU > 90% более 10 минут ```conf # Переопределение: CPU > 90% = warning template: cpu_usage on: system.cpu lookup: average -10m percentage of usage warn: $this > 90 crit: $this > 95 ``` ### ram.conf — RAM > 90% ```conf template: ram_usage on: system.ram lookup: average -10m percentage of used warn: $this > 90 crit: $this > 95 ``` ### load.conf — Load average > cores × 2 ```conf # Load average: warn если load > 2 × число ядер # Число ядер: nproc или lscpu template: load_average on: system.load lookup: average -10m of load15 # Порог задаётся вручную под хост (cores × 2). Пример для 8 ядер: 16 warn: $this > 16 crit: $this > 24 ``` **Важно:** заменить `16` и `24` на `cores × 2` и `cores × 3` для вашего хоста. Узнать ядра: `nproc`. ### swap.conf — Swap > 0 стабильно ```conf template: swap_usage on: system.swap lookup: average -10m percentage of used warn: $this > 0 crit: $this > 10 ``` ### disk.conf — Диск > 80% (avail < 20%) Мониторить: `/` (root, NVMe), `/mnt/backup` (sdb), внешний диск (sdd). Netdata использует `percentage of avail` — warn при avail < 20% (т.е. used > 80%). ```conf # Шаблон для важных дисков: warn при avail < 20%, crit при avail < 10% template: disk_space_critical on: disk.space lookup: max -1m percentage of avail warn: $this < 20 crit: $this < 10 ``` Или для конкретных путей (chart ID: disk_space._ с подчёркиваниями вместо слешей): ```conf # / (root, NVMe) alarm: disk_space_root on: disk_space._ lookup: max -1m percentage of avail chart labels: mount_point=/ warn: $this < 20 crit: $this < 10 # /mnt/backup (sdb) alarm: disk_space_backup on: disk_space._mnt_backup lookup: max -1m percentage of avail warn: $this < 20 crit: $this < 10 ``` Узнать точные chart ID: `curl -s "http://localhost:19999/api/v1/charts" | grep disk_space` --- ## SMART (smartmontools) Для мониторинга SMART через Netdata: ```bash apt install -y smartmontools ``` Плагин `smartd` в Netdata автоматически обнаруживает диски. Дополнительно см. [smartd-setup.md](smartd-setup.md). --- ## Применение изменений ```bash netdatacli reload-health # или systemctl restart netdata ``` Тест алертов: ```bash sudo su -s /bin/bash netdata export NETDATA_ALARM_NOTIFY_DEBUG=1 /usr/libexec/netdata/plugins.d/alarm-notify.sh test ``` --- ## Мониторинг контейнеров и VM Netdata на хосте видит общие метрики (CPU, RAM, диск хоста). Для детального мониторинга каждого LXC/VM: - **Вариант 1:** Netdata parent/child — установить агент в каждый CT/VM, связать с родителем. - **Вариант 2:** Один Netdata на хосте — мониторит хост и агрегирует по контейнерам через cgroups (если включено). Для homelab обычно достаточно мониторинга хоста. При необходимости — см. [Netdata Parent-Child](https://learn.netdata.cloud/docs/agent/streaming). --- ## Отключение Netdata Cloud Если не нужен trial/Cloud: 1. **Полное отключение:** удалить `/var/lib/netdata/cloud.d/` (токены, ключи) и создать заново только `cloud.conf`: ```bash rm -rf /var/lib/netdata/cloud.d mkdir -p /var/lib/netdata/cloud.d echo -e "[global]\nenabled = no" > /var/lib/netdata/cloud.d/cloud.conf chown -R netdata:netdata /var/lib/netdata/cloud.d systemctl restart netdata ``` 2. **Локальный дашборд** — http://host:19999 (анонимный доступ, без Cloud). Не использовать app.netdata.cloud — иначе снова появится claim/Cloud. --- ## Дашборд homelab Кастомный дашборд с метриками хоста, контейнеров и сервисов: **http://192.168.1.150:19998** Ссылка добавлена в Homepage (Сервисы → Homelab Dashboard). Деплой: `scripts/dashboard/deploy-dashboard.sh`. Подробнее: [dashboard-plan.md](dashboard-plan.md). --- ## Связанные документы - [dashboard-plan.md](dashboard-plan.md) — план и реализация кастомного дашборда - [smartd-setup.md](smartd-setup.md) — SMART и диски - [backup-howto](../backup/backup-howto.md) — бэкапы