# NetPulse — файл відповідей. # # Тут лежить рівно те, чого установник не може вирішити за вас: п'ять # значень. Решта — секрети, які людині не можна давати вводити руками # (секрет, який пропонують придумати, виявляється admin123), і # налаштування, у яких є одне правильне значення або значення, що # рахується з машини. # # Файл НЕ обов'язковий. `./netpulse install` без нього ставить робочу # систему на самопідписаному сертифікаті, без прийому трапів ззовні, з # помірними строками зберігання й поясом хоста. Кожен рядок нижче # каже, що буде, якщо його не чіпати. # # cp netpulse.conf.example netpulse.conf # ./netpulse install # # Синтаксис: КЛЮЧ=значення, без лапок, без пробілів навколо «=». # # ПІСОЧНИЦЯ (`./netpulse sandbox`) цей файл НЕ читає, і це навмисно. # Вона ставить систему на localhost із самопідписаним сертифікатом, # а справжній DOMAIN звідси відправив би її по сертифікат для адреси, # яка веде на бойовий стенд: витрачені спроби списались би з тижневої # квоти домену, і платив би за перевірку той, кого перевіряли. З # TRAPS_FROM те саме — правило в DOCKER-USER це стан хоста, і прибрати # його разом із томами пісочниці не вийшло б. # --------------------------------------------------------------------- # DOMAIN — доменне ім'я, на яке дивиться A-запис цього сервера. # --------------------------------------------------------------------- # # Це рішення людини, бо ані сервер, ані установник не знають, що написано # в чужій зоні DNS. Перевірити «чи веде домен сюди» до першого запуску # теж не можна: запис міг з'явитись хвилину тому й ще не розійтися. # # ПОРОЖНЬО: адресою системи стає IP цієї машини, а сертифікат — # самопідписаний. Працює одразу, але браузер щоразу лається, і зонди # доводиться запускати з -insecure. Let's Encrypt тут ні до чого: він не # видає сертифікатів на IP-адреси взагалі, тому «залишити порожнім і # сподіватись на справжній сертифікат» неможливо за побудовою. # # Домен можна вписати пізніше: змінити рядок і повторити # `./netpulse install` — переустановлення нічого не ламає. DOMAIN= # --------------------------------------------------------------------- # ADMIN_EMAIL — пошта для Let's Encrypt. # --------------------------------------------------------------------- # # На неї приходить лист, коли продовження сертифіката ламається. Це # єдиний канал, яким про це дізнаються ДО того, як сайт перестане # відкриватись, — тому адреса має бути та, яку читають, а не та, що # гарно виглядає. # # ПОРОЖНЬО при заданому DOMAIN: сертифікат усе одно береться, але # попередження про проблеми з продовженням нікуди не піде. # # Без DOMAIN не потрібна зовсім: сертифікат самопідписаний, продовжувати # нічого й нікому скаржитись. ADMIN_EMAIL= # --------------------------------------------------------------------- # TRAPS_FROM — від кого приймати SNMP-трапи (порт 162/udp). # --------------------------------------------------------------------- # # Це рішення, а не налаштування: 162/udp не має автентифікації взагалі. # Хто знає адресу — той шле, і система це запише. На машині з публічним # інтерфейсом «слухати всюди» означає віддати чужим людям право # наповнювати вашу базу подіями. # # ПОРОЖНЬО: трапи слухаються лише на 127.0.0.1. Ззовні не приймається # нічого. Решта моніторингу (ICMP, SNMP-опитування, збір конфігів) від # цього не залежить — зонди самі ходять до заліза. # # АДРЕСА цієї машини (наприклад 10.0.0.5): порт піднімається лише на # цьому інтерфейсі. Найдешевший спосіб пустити трапи з внутрішньої # мережі й не пустити з інтернету — якщо інтерфейси різні. # # ПІДМЕРЕЖА (наприклад 10.0.0.0/24) або чужа адреса: порт піднімається # на всіх інтерфейсах, а джерело обмежується правилом у ланцюжку # DOCKER-USER. Потребує iptables на хості; якщо його немає, установник # ЗУПИНИТЬСЯ, а не відкриє порт усім мовчки. Правило не переживає # перезавантаження саме собою — установник скаже, що з цим робити. # # any: слухати всюди, приймати від будь-кого. Установник це зробить і # гучно скаже, що саме ви щойно дозволили. TRAPS_FROM= # --------------------------------------------------------------------- # RETENTION — скільки тримати дані. # --------------------------------------------------------------------- # # Рішення організації, а не властивість збірки: «ми маємо бачити # півроку» — це вимога до вас, а не до продукту. Установник не має права # вгадати її, бо помилка в один бік коштує диска, а в другий — історії, # заради якої систему й ставили. # # Строк — рівня інсталяції, не кабінету: TimescaleDB видаляє дані цілими # чанками, а чанк ріжеться за часом і про кабінет не знає нічого # (пояснення — у міграції 0064). Розкладку профілю по видах даних видно # на сторінці «Сховище» й там же правиться поштучно. # # economy — метрики 7 діб, годинні агрегати півроку, syslog тиждень. # Для диска на 50 ГБ і кількох сотень хостів. # normal — метрики 35 діб, годинні агрегати два роки, аудит рік. # Те, що люди мають на увазі під «як зазвичай». # archive — метрики 90 діб, годинні агрегати п'ять років, аудит п'ять # років. Коли історію вимагає регламент. Диск рахуйте # заздалегідь: це в кілька разів більше за normal. # # ПОРОЖНЬО: normal. # # Профіль накладається лише на ПЕРШІЙ установці. Повторний запуск # `install` не чіпає строки: до того часу їх уже могли поправити руками, # і мовчки повернути наш профіль означало б знищити дані за чужим # рішенням. RETENTION=normal # --------------------------------------------------------------------- # TZ — часовий пояс. # --------------------------------------------------------------------- # # У ньому рахуються розклади бекапів конфігів, вікна тиші для сповіщень # і підписи часу на графіках. Пояс хоста тут не завжди правильна # відповідь: сервер у чужому дата-центрі цілком може стояти в UTC, а # «о третій ночі» для вимкнення сповіщень означає третю ночі там, де # сидять чергові. # # ПОРОЖНЬО: береться пояс хоста, а якщо визначити не вдалось — # Europe/Kyiv. TZ=Europe/Kyiv