Перейти к основному содержимому

Pingera CLI

Pingera CLI — это мощный инструмент командной строки для взаимодействия с платформой Pingera. Он создан на базе Python, Typer и Rich и позволяет управлять проверками и другими ресурсами непосредственно из терминала, что делает его идеальным для автоматизации и интеграции в CI/CD-пайплайны.

Установка

Установить Pingera CLI можно с помощью pip или uv:

pip install pingera-cli

Это самый простой способ, который автоматически установит все необходимые зависимости.

После установки, утилита доступна по команде pngr.

Аутентификация

Перед началом работы необходимо аутентифицироваться, предоставив ваш API-ключ.

  • Получите API-ключ: Создайте токен в настройках вашего аккаунта на app.pingera.ru.
  • Авторизуйтесь: Выполните команду pngr auth login с вашим ключом:
pngr auth login 

Вы можете добавить API-ключ в переменную окружения PINGERA_API_KEY и pngr автоматически будет использовать его.

Проверьте статус. Убедитесь, что аутентификация прошла успешно:

pngr auth status

Глобальные опции Эти опции доступны для всех команд:

  • --api-key <key>: API-ключ для аутентификации.
  • --base-url <url>: URL API (по умолчанию: https://api.pingera.ru).
  • --output <format>: Формат вывода. Поддерживаются table (по умолчанию), json, и yaml.
  • --verbose, -v: Включает подробный вывод.
  • --help: выводить помощь к команде.

Управление проверками (Checks)

pngr checks

Этот модуль используется для управления регулярными проверками и проверками по запросу.

Создание и изменение

Создать проверку: pngr checks create:

pngr checks create --name "My Website" --type web --url https://example.com

Для синтетических проверок можно использовать файл с Playwright-скриптом:

pngr checks create --name "My Playwright Check" --type synthetic --pw-script-file ./test.js.

Изменить проверку: pngr checks update <check-id>.

Получение информации

  • Список всех проверок: pngr checks list. Можно использовать фильтры по типу (--type) и статусу (--status).

  • Подробная информация о проверке: pngr checks get <check-id>.

  • Результаты проверки: pngr checks results <check-id>. Вы можете фильтровать результаты по дате с помощью флагов --from и --to.

Запуск проверок по требованию (On-Demand Checks)

pngr checks run

Этот модуль позволяет выполнять проверки немедленно, без привязки к расписанию.

  • Запуск пользовательских проверок
  • Кастомная проверка: pngr checks run custom:
pngr checks run custom --type web --url https://example.com --name "Quick Test"

Это идеальный вариант для быстрого тестирования в процессе разработки.

Проверка из файла:

pngr checks run custom --type synthetic --pw-script-file ./my-script.js.

Запуск существующих проверок

Запуск по ID: pngr checks run existing <check-id>.

Быстрые команды

Для удобства выполнения проверок по запросу доступны короткие команды, которые позволяют быстро запустить проверку без необходимости указывать множество параметров:

  • pngr ping <host> — быстрая ICMP проверка
  • pngr scan <host> — быстрая проверка портов
  • pngr web <url> — быстрая проверка веб-сайта
  • pngr api <url> — быстрая проверка API
  • pngr ssl <host> — быстрая проверка SSL сертификата
  • pngr dns <domain> — быстрая DNS проверка
  • pngr syn <script> — быстрая синтетическая проверка
  • pngr multistep <name> — быстрая мультишаговая проверка

Примеры использования

Выполнить ICMP проверку:

pngr ping ya.ru

Выполнить проверку из определённого региона:

pngr ping ya.ru --region us-central1

Проверить веб-сайт:

pngr web https://example.com

Проверить SSL сертификат:

pngr ssl example.com

Проверить DNS записи:

pngr dns example.com

Эти команды значительно упрощают выполнение разовых проверок по сравнению с полной командой pngr checks run custom --type <type> --parameters ...

Управление задачами (Jobs)

  • Список задач: pngr checks jobs list.
  • Результат задачи: pngr checks jobs result <job-id>.

Управление Статус Страницами (Status Pages)

pngr pages

Этот модуль позволяет управлять Статус Страницами через командную строку.

Основные операции со страницами

  • Список страниц: pngr pages list - получить список всех Статус Страниц вашей организации.
  • Информация о странице: pngr pages get <page-id> - получить подробную информацию о конкретной странице.
  • Создать страницу: pngr pages create --name "My Status Page" - создать новую Статус Страницу.
  • Обновить страницу: pngr pages update <page-id> - изменить параметры существующей страницы.
  • Удалить страницу: pngr pages delete <page-id> - удалить Статус Страницу.

Просмотр статуса по домену

Одна из самых удобных команд - быстрый просмотр статуса страницы по домену:

pngr pages show status.pingera.ru

Эта команда отобразит:

  • Общий статус всех систем
  • Список всех компонентов и их текущее состояние
  • Информацию о недавних инцидентах

Управление компонентами

pngr pages components

Управление компонентами Статус Страницы:

  • pngr pages components list -p <page-id> - список всех компонентов страницы
  • pngr pages components get <component-id> -p <page-id> - информация о компоненте
  • pngr pages components create -p <page-id> --name "API Server" - создать новый компонент
  • pngr pages components update <component-id> -p <page-id> - обновить компонент
  • pngr pages components delete <component-id> -p <page-id> - удалить компонент
  • pngr pages components uptime <component-id> -p <page-id> - получить статистику аптайма компонента

Управление инцидентами

pngr pages incidents

Управление инцидентами и запланированными работами:

  • pngr pages incidents list -p <page-id> - список всех инцидентов
  • pngr pages incidents get <incident-id> -p <page-id> - информация об инциденте
  • pngr pages incidents create -p <page-id> - создать новый инцидент
  • pngr pages incidents update <incident-id> -p <page-id> - обновить инцидент
  • pngr pages incidents delete <incident-id> -p <page-id> - удалить инцидент
  • pngr pages incidents unresolved -p <page-id> - список открытых инцидентов
  • pngr pages incidents maintenance -p <page-id> - список запланированных работ

Примеры использования

Быстро проверить статус вашей страницы:

pngr pages show status.example.com

Создать новый инцидент:

pngr pages incidents create -p <page-id>

Получить список всех открытых инцидентов:

pngr pages incidents unresolved -p <page-id>

Посмотреть запланированные работы:

pngr pages incidents maintenance -p <page-id>