Работа в CLI
Обзор
Консольный клиент tuna позволяет взаимодействовать с Job и Heartbeat мониторами напрямую из терминала или скриптов.
Основные команды:
tuna monitor ping— отправка сигнала Heartbeat мониторуtuna monitor exec— выполнение команды с отслеживанием Job монитораtuna monitor status— просмотр статуса мониторов
Авторизация
Для просмотра статуса монитора необходим API-ключ. Его можно передать несколькими способами:
- Переменная окружения
- Флаг
- Конфиг файл
export TUNA_API_KEY=your-api-key
tuna monitor ping YOUR_MONITOR_ID
tuna monitor ping YOUR_MONITOR_ID --api-key=your-api-key
# Сохранить ключ в конфиг
tuna config save-api-key your-api-key
# Теперь можно использовать без явного указания ключа
tuna monitor ping YOUR_MONITOR_KEY
monitor ping
Отправляет сигнал для Heartbeat монитора.
Синтаксис
tuna monitor ping MONITOR_ID [флаги]
Параметры
| Параметр | Описание | По умолчанию |
|---|---|---|
MONITOR_ID | Ключ монитора (обязательный) | — |
--state | Состояние: ping, start, finish, fail | ping |
--message | Дополнительное сообщение | — |
--host | Имя хоста отправителя | hostname |
Примеры
Простой ping
tuna monitor ping MONITOR_ID
С указанием хоста
tuna monitor ping MONITOR_ID --host=server-01
С сообщением
tuna monitor ping MONITOR_ID --message="All systems operational"
Разные состояния
# Начало работы
tuna monitor ping MONITOR_ID --state=start
# Успешное завершение
tuna monitor ping MONITOR_ID --state=finish
# Ошибка
tuna monitor ping MONITOR_ID --state=fail
Использование в crontab
# Heartbeat каждые 5 минут
*/5 * * * * /usr/local/bin/tuna monitor ping MONITOR_ID --host=gitlab-runner
Использование в systemd
# /etc/systemd/system/heartbeat.service
[Unit]
Description=Send heartbeat to Tuna
[Service]
Type=oneshot
ExecStart=/usr/local/bin/tuna monitor ping MONITOR_ID
# /etc/systemd/system/heartbeat.timer
[Unit]
Description=Heartbeat timer
[Timer]
OnBootSec=1min
OnUnitActiveSec=5min
[Install]
WantedBy=timers.target
monitor exec
Выполняет команду и автоматически отслеживает Job монитор. При запуске отправляется сигнал start, при успешном завершении — finish, при ошибке — fail.
Синтаксис
tuna monitor exec MONITOR_ID [флаги] -- COMMAND [ARGS...]
Параметры
| Параметр | Описание | По умолчанию |
|---|---|---|
MONITOR_ID | Ключ монитора (обязательный) | — |
--host | Имя хоста выполнения | hostname |
--no-stdout | Не отправлять вывод на сервер | false |
Примеры
Простой запуск
tuna monitor exec MONITOR_ID -- ./backup.sh