isidea/health-notifier
最新稳定版本:v1.1.0
Composer 安装命令:
composer require isidea/health-notifier
包简介
A Laravel package for sending health status notifications to various channels like Telegram and email.
README 文档
README
Health Notifier — это пакет для Laravel, который позволяет отправлять уведомления о состоянии работоспособности вашего приложения. Пакет поддерживает уведомления через несколько каналов, таких как email и Telegram.
Возможности
- Email уведомления: Отправка уведомлений о состоянии приложения на несколько email-адресов.
- Telegram уведомления: Отправка уведомлений в указанный Telegram-чат.
Установка
Чтобы установить Health Notifier в ваше приложение на Laravel, используйте composer:
composer require isidea/health-notifier
После установки пакета, опубликуйте конфигурацию с помощью команды:
php artisan vendor:publish --provider="Isidea\HealthNotifier\Providers\HealthNotifierServiceProvider" --tag="config"
Перейдите в файл конфигурации config/health-notifier.php и настройте необходимые параметры.
Регистрация команды отправки уведомлений
Уведомления отправляются при помощи команды SendAppHealthNofication. Зарегистрируйте ее в качестве регулярной задачи любым удобным способом.
Laravel Scheduler
Добавьте команду в ваш app/Console/Kernel.php:
protected function schedule(Schedule $schedule) { $schedule->command('health-notifier:notify')->everyMinute(); }
Убедитесь, что cron работает на вашем сервере. Пример cron задания:
0 0 * * * /path-to-php/php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Cron напрямую
0 0 * * * /path-to-php/php /path-to-your-project/artisan health-notifier:notify --no-interaction >> /dev/null 2>&1
Настройки Email уведомлений
'email' => [ // Включить или выключить email уведомления 'enabled' => (bool) env('HEALTH_NOTIFIER_EMAIL_ENABLED', true), // адрес отправителя 'from' => env('HEALTH_NOTIFIER_EMAIL_FROM', 'admin@example.ru'), // тема письма 'subject' => env('APP_NAME') . ' App Health Notification', // Список email получателей 'recipients' => env('HEALTH_NOTIFIER_EMAIL_RECIPIENTS', ['admin@example.ru']), // Путь к blade-markdown шаблону для email 'markdown' => env('HEALTH_NOTIFIER_EMAIL_TEMPLATE', 'health-notifier::mail.notification'), // mailer из конфига laravel 'mailer' => env('HEALTH_NOTIFIER_EMAIL_MAILER', 'smtp'), ],
Можно изменить/дополнить/расширить шаблон письма, который используется по-умолчанию:
php artisan vendor:publish --provider="Isidea\HealthNotifier\Providers\HealthNotifierServiceProvider" --tag="views"
Настройки Telegram уведомлений
Создайте телеграм бота
Воспользуйтесь стандартным функционалом телеграм чтобы зарегистрировать бота через @BotFather. Полученный токен укажите в конфиге в telegram.bot_token.
Получение ChatID
Установите текущее приложение в качестве обработчика вебхуков от созданного телеграм бота:
php artisan health-notifier:telegram-bot-set-weebhook
Начните диалог с ботом или пригласите его в требуемый чат. Воспользуйтесь командой /start - бот вернет ID чата. Установите полученный ID в конфиге telegram.chat_id.
Дополнительная конфигурация
'telegram' => [ // Включить или выключить Telegram уведомления 'enabled' => (bool) env('HEALTH_NOTIFIER_TELEGRAM_ENABLED', false), // Chat ID для отправки уведомлений 'chat_id' => env('HEALTH_NOTIFIER_TELEGRAM_CHAT_ID', 'your-telegram-chat-id'), // Токен Telegram-бота 'bot_token' => env('HEALTH_NOTIFIER_TELEGRAM_BOT_TOKEN', 'your-bot-token'), // Путь к blade шаблону для сообщения 'template' => env('HEALTH_NOTIFIER_TELEGRAM_TEMPLATE', 'health_notifier::telegram.notification'), ]
Можно изменить/дополнить/расширить шаблон сообщения, который используется по-умолчанию:
php artisan vendor:publish --provider="Isidea\HealthNotifier\Providers\HealthNotifierServiceProvider" --tag="views"
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-11-30