Установка и автоматическое обновление netdata в 2024

Статья описывает установку и автоматическое обновление Netdata с использованием Docker и cron для минимизации усилий и поддержания актуальности системы.

Возможно, вы такой же ленивый как и я, а netdata обновлеяется слишком часто. Поэтому мы рассмотрим быструю установку, настройку и обновления netdata.

Установка

  1. Ищем уютную папочку на своих серверах (у меня везде одна, чтоб не нужно было переделывать конфиг.)
  2. Топаем на https://app.netdata.cloud/ и создаем своей пространство (это объединяет ноды, например, можно php ноды держать отдельно от nginx)
  3. Я ставлю всё через докер ❤️ и вам тоже желаю освоить его.
  4. Копируем код с этой формы:

5. Открываем в любом редакторе, я люблю nano

nano docker-compose.yml

Как установить nano
sudo apt update
sudo apt install nano -y

6. Вставляем наш код

version: '3'
services:
  netdata:
    image: netdata/netdata
    container_name: netdata
    hostname: php-1 #как будет назваться ваш хост
    ports:
      - 19999:19999
    restart: unless-stopped
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    volumes:
      - netdataconfig:/etc/netdata
      - netdatalib:/var/lib/netdata
      - netdatacache:/var/cache/netdata
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/os-release:/host/etc/os-release:ro
    environment:
      - NETDATA_CLAIM_TOKEN=ТВОЙ_ТОКЕН
      - NETDATA_CLAIM_URL=https://app.netdata.cloud
      - NETDATA_CLAIM_ROOMS=ТВОЁ_ПРОСТРАНСТВО

volumes:
  netdataconfig:
  netdatalib:
  netdatacache:

6. Запускаем наш контейнер

docker-compose up -d

7. Открываем наше пространство https://app.netdata.cloud/spaces/

8. Наслаждаемся результатом

Обновление netdata через cron

1. Создаем update_netdata.sh

#!/bin/bash
docker-compose pull
docker-compose down
docker-compose up -d

2. Затем сделай этот файл исполняемым:

chmod +x update_netdata.sh

3. Теперь можно добавить выполнение этого скрипта в cron.

crontab -e

4. И добавь строку, чтобы запустить скрипт раз в месяц:

0 0 1 * * /путь_к_скрипту/update_netdata.sh

Тест обновления

Обязательно, запустите в консоли

/путь_к_скрипту/update_netdata.sh

Должно выдать что-то такое

PROFIT