systemd-report: новий підсистеми звітності для збору системної інформації
systemd-report: новий підсистеми звітності для збору системної інформації
systemd отримує нову підсистему звітності, яка призначена для збору статичної та динамічної інформації про систему в одному місці. Цей новий інструмент, названий systemd-report, об’єднує дані з різних служб постачання метрик через загальний інтерфейс Varlink, створюючи єдиний звіт у форматі JSON з часовими мітками.
Збір даних та статичні системні факти
Зібрана інформація ділиться на дві групи. Перша група охоплює статичні системні “факти”, такі як архітектура процесора, ім’я хоста, версія ядра, ідентифікація ОС, обinstalled RAM, кількість процесорів, технології віртуалізації, інформація TPM та інші деталі апаратного забезпечення.
Динамічні метрики в режимі реального часу
Друга група покриває змінні метрики в режимі реального часу, такі як використання CPU та пам’яті, середнє навантаження, I/O диска, використання swap, тиск на систему, статистика cgroup, стани мережевих інтерфейсів, стани одиниць systemd, лічильники перезапусків, черги завдань та повідомлення високого пріоритету.
Згідно з Ленною Поеттерінгом, основна служба метрик спочатку була надана Meta з акцентом на динамічну інформацію. Той самий інтерфейс пізніше був розширений для обробки більш статичних системних фактів, які зараз використовує Amutable в управлінні розгортанням операційних систем.
Переваги systemd-report для віддаленого управління
Після збору systemd-report компілює всю цю інформацію в послідовний знімок, що представляє стан машини в певний момент часу. Підсистема розроблена для віддаленого управління флотом. Звіти можуть бути завантажені безпосередньо на HTTPS сервер за допомогою запитів PUT, що дозволяє організаціям надсилати системну інформацію на центральну контрольну платформу. Налаштування включає періодичні завантаження через таймер systemd та звіти, що ініціюються подіями, такими як завантаження системи, перезавантаження або вимкнення.
Безпека та підписання звітів
Для забезпечення безпеки звіти можуть бути криптографічно підписані перед відправкою, і в systemd наразі є три методи підписання. Найпростіший використовує асиметричний ключ, згенерований програмним забезпеченням, який зберігається локально. Системи з TPM апаратним забезпеченням можуть створити TPM-цитату, що покриває вимірювання платформи та дані звіту. Третій варіант підтримує середовища конфіденційних обчислень, генеруючи TSM-цитату ЦП, яка прив’язує звіт до вимірювань безпечної віртуальної машини.
Чим systemd-report відрізняється від традиційних інструментів
Це робить systemd-report відмінним від традиційних моніторингових інструментів, таких як Prometheus та його node_exporter. Хоча обидва надають подібну інформацію, systemd отримує дані безпосередньо з нижчого рівня компонентів ОС, не покладаючись на окрему модель збору. Більш важливо, systemd-report зосереджується на повних, підписаних, часових знімках замість незалежних потоків метрик. Поеттерінг зазначає, що два підходи не є взаємно виключними, і нова інфраструктура врешті-решт може забезпечити основу для інтеграції між ними.
Розширювана архітектура systemd-report
Архітектура також навмисно розширюється. Проекти третьої сторони можуть надавати додаткові метрики або механізми підписання, просто відкриваючи відповідний сокет Varlink. Ці постачальники можуть бути написані на будь-якій мові програмування та повинні реалізувати лише невеликий інтерфейс.
Іншими словами, systemd-report не є просто ще однією командою для відображення інформації про систему. Він формує більш широкий звітний фреймворк, вбудований безпосередньо в systemd, поєднуючи системні факти, метрики в режимі реального часу, безпечне підписання та віддалену звітність у форматі, придатному для управління всім, починаючи від окремих машин Linux до великих серверних флотів.
Для додаткових деталей, дивіться анонс Поеттерінга на Amutable.




