15 KiB
🇺🇸 English | 🇸🇦 العربية | 🇪🇸 Català | 🇨🇿 Čeština | 🇩🇪 Deutsch | 🇪🇸 Español | 🇫🇮 Suomi | 🇫🇷 Français | 🇮🇹 Italiano | 🇯🇵 日本語 | 🇧🇷 Português (Brasil) | 🇷🇺 Русский | 🇹🇭 ไทย | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇻🇳 Tiếng Việt | 🇨🇳 简体中文 | 🇹🇼 繁體中文
⚠️ Цей переклад є машинним чернетковим варіантом. Будемо вдячні за виправлення від носіїв мови через pull request.
Checkmate
Open source застосунок для моніторингу доступності та інфраструктури
Цей репозиторій містить як фронтенд, так і бекенд Checkmate — інструменту моніторингу з відкритим кодом і самостійним розгортанням для відстеження апаратного забезпечення серверів, часу безперебійної роботи, часу відгуку та інцидентів у реальному часі з красивими візуалізаціями. Checkmate регулярно перевіряє, чи доступний сервер або сайт і чи працює він оптимально, надаючи сповіщення та звіти у реальному часі про доступність, простої та час відгуку моніторованих сервісів.
У Checkmate також є агент під назвою Capture для отримання даних з віддалених серверів. Capture не є обов'язковим для роботи Checkmate, але дає додаткову інформацію про стан CPU, RAM, диска та температури ваших серверів. Capture можна запускати на Linux, Windows, Mac, Raspberry Pi або будь-якому пристрої, здатному виконувати Go.
Checkmate пройшов навантажувальне тестування з понад 1000 активних моніторів без жодних помітних проблем чи вузьких місць.
📚 Зміст
- 📦 Демо
- 🔗 Посібник користувача
- 🛠️ Встановлення
- 🚀 Продуктивність
- 💚 Запитання та ідеї
- 🧩 Можливості
- 🏗️ Знімки екрана
- 🏗️ Технології
- 🔗 Кілька посилань
- 🤝 Внески
Демо
Найновішу збірку Checkmate можна побачити в дії.
Логін — demouser@demo.com, пароль — Demouser1! (Зверніть увагу: ми час від часу оновлюємо демо-сервер; якщо щось не працює — напишіть нам у Discussions).
Посібник користувача
Інструкції з використання доступні тут.
Передумови
Встановлення
Інструкції зі встановлення дивіться у порталі документації Checkmate.
Альтернативно, для швидкого розгортання Checkmate можна скористатися Coolify, Elestio, K8s, Sive Host (Південна Африка), Cloudzy або Pikapods. Якщо хочете моніторити серверну інфраструктуру, знадобиться агент Capture. У репозиторії Capture також є інструкції зі встановлення.
Використання власного УЦ
Якщо потрібно моніторити внутрішні HTTPS-ендпоїнти з сертифікатами від приватних центрів сертифікації (як-от Smallstep), див. наш посібник з довіри власному УЦ для опцій конфігурації Docker.
Додаткову документацію шукайте у каталозі docs.
Продуктивність
Завдяки численним оптимізаціям Checkmate працює з винятково низьким споживанням пам'яті, потребуючи мінімум RAM і CPU. Ось використання пам'яті Node.js-інстансу на сервері, який моніторить 323 сервери щохвилини:
А ось обсяг пам'яті MongoDB і Redis на тому ж сервері (398 МБ і 15 МБ) для тієї ж кількості серверів:
Запитання та ідеї
Якщо у вас є запитання, пропозиції чи коментарі, є кілька варіантів:
- Канал у Discord (бажано)
- GitHub Discussions (заходимо туди час від часу)
Не соромтеся ставити запитання чи ділитися ідеями — ми будемо раді почути вас!
Можливості
- Повністю відкритий код, розгортається на ваших серверах чи домашніх пристроях (наприклад, Raspberry Pi 4 або 5)
- Кілька варіантів моніторингу: доступність, Docker, ping, SSL, порт, ігровий сервер
- Моніторинг швидкості сторінок
- Моніторинг інфраструктури (пам'ять, використання диска, продуктивність CPU, мережа тощо) — потрібен агент Capture
- Вибірковий моніторинг дисків із вибором точок монтування
- Інциденти з одного погляду
- Сторінки статусу з 4 красивими темами
- Сповіщення електронною поштою, через вебхуки, Discord, Slack, PagerDuty, Matrix, Microsoft Teams, Telegram, Pushover, Twilio (SMS)
- Заплановане обслуговування
- Моніторинг за допомогою JSON-запитів
- Багатомовна підтримка: арабська, китайська (спрощена), китайська (традиційна, Тайвань), чеська, англійська, фінська, французька, німецька, японська, португальська (Бразилія), російська, іспанська, тайська, турецька, українська та в'єтнамська
Життєвий цикл монітора
- Монітор виконує перевірку (HTTP / ping / порт / апаратне забезпечення через агента Capture)
- Результат зберігається (успіх/невдача + час відгуку)
- Останні результати оцінюються відносно налаштованого порога зміни статусу
- Якщо порогу досягнуто, а поточний статус відрізняється від попереднього — стан монітора змінюється (наприклад,
initializing,up,down,breached) - При зміні стану інцидент або створюється, або закривається, залежно від поточного статусу
- Сповіщення спрацьовують згідно з налаштуваннями
Знімки екрана
Технології
- ReactJs
- MUI (React-фреймворк)
- Node.js
- MongoDB
- Recharts
- І безліч інших компонентів з відкритим кодом!
Кілька посилань
- Якщо хочете підтримати нас, поставте ⭐ і натисніть «watch».
- Маєте запитання чи пропозицію щодо дорожньої карти/функцій? Загляньте в наш Discord-канал або форум Discussions.
- Потрібне сповіщення про нові релізи? Скористайтеся Newreleases — безкоштовним сервісом відстеження релізів.
- Подивіться відео зі встановлення та використання Checkmate
Внески
Ми — Alex (тімлід), Gorkem, Aryaman, Mert і Karen — допомагаємо приватним особам і компаніям моніторити їх інфраструктуру та сервери.
Ми пишаємося тим, що будуємо міцні зв'язки з контриб'юторами на всіх рівнях. Попри молодий вік, Checkmate уже зібрав понад 7000 зірок і понад 90 контриб'юторів з усього світу.
Наш репозиторій позначений співробітниками Google, Microsoft, Intel, Cisco, Tencent, Electronic Arts, ByteDance, JP Morgan Chase, Deloitte, Accenture, Foxconn, Broadcom, China Telecom, Barclays, Capgemini, Wipro, Cloudflare, Dassault Systèmes і NEC — тож не соромтеся, приєднуйтесь, робіть внесок і вчіться разом з нами!
Як долучитися:
- Поставте зірку цьому репозиторію :)
- Прочитайте посібник контриб'ютора. Початківцям радимо подивитися мітку
good-first-issue. - Прочитайте детальний опис Checkmate, якщо хочете глибше зануритись у архітектуру.
- Відкрийте issue, якщо вважаєте, що знайшли баг.
- Якщо ви новачок, шукайте
good-first-issue. - Робіть pull request, щоб додати функції, покращити зручність використання або виправити баги.
- Перегляньте інтерактивний огляд кодової бази
Checkmateу CodeCanvas тут. Щоб уточнити наявні симуляції потоків даних або створити нові, перейдіть до короткого туторіалу тут.