broqit/laravel-ping-pong-monitor
Composer 安装命令:
composer create-project broqit/laravel-ping-pong-monitor
包简介
Internal service monitoring system for HTTP/TCP/DB checks with incidents and multi-channel notifications.
关键字:
README 文档
README
Ping-Pong Monitor is an internal service monitoring system built with Laravel 12, Livewire 4, and Flux UI.
It monitors HTTP endpoints, databases, queues, search engines, brokers, SMTP servers, and custom REMP health endpoints across multiple environments such as dev, stage, and prod. When a service goes down or recovers, the system can notify the team via Email, Slack, Telegram, Microsoft Teams, Discord, or generic webhooks.
Screenshots
Features
- Service grouping by domain or platform area
- Environment-aware checks (
dev,stage,prod) - Queue-based health checks with per-check jobs
- Public incidents page
- Recent incidents tracking with resolution status and duration
- Manual rerun actions for a single check, a group, or all checks
- Notification channels with test-send buttons
- Live dashboard with periodic refresh
- Support for custom health formats such as REMP service health JSON
Supported Check Types
| Type | Purpose | Default ports |
|---|---|---|
http |
HTTP/HTTPS endpoint, status code, body, SSL verification | 80, 443 |
tcp |
Raw TCP connectivity | any |
mysql |
MySQL/MariaDB connectivity via PDO | 3306 |
postgres |
PostgreSQL connectivity via PDO | 5432 |
redis |
Redis connectivity / ping | 6379 |
elasticsearch |
Cluster health check | 9200 |
memcache |
Memcache stats check | 11211 |
minio |
MinIO live/ready probes | 9000, 9001 |
meilisearch |
Meilisearch health API | 7700 |
sphinx |
SphinxQL or binary TCP checks | 9306, 9312 |
rabbitmq |
Management API or AMQP connectivity | 15672, 5672 |
smtp |
SMTP EHLO / STARTTLS / implicit TLS | 25, 465 |
remp |
REMP health JSON endpoint | custom |
Main Pages
| URL | Description |
|---|---|
/ |
Public landing page |
/incidents |
Public incidents page with environment filter |
/dashboard |
Authenticated monitoring dashboard |
/monitor/services |
Service groups, services, and checks management |
/monitor/notifications |
Notification channels management |
Data Model
ServiceGroup
-> Service
-> ServiceCheck -> Environment
-> CheckResult
-> Incident
ServiceGroupgroups related servicesServicerepresents an application or infrastructure componentServiceCheckstores a concrete health check definitionEnvironmentseparates the same check acrossdev,stage, andprodCheckResultstores historical executionsIncidentrepresents a down/degraded period and its recovery
Local Development
Requirements
- PHP
8.2+ - Composer
- Node.js
20+ - npm or pnpm
- SQLite by default, or another Laravel-supported database
Quick Start
composer install npm install cp .env.example .env php artisan key:generate touch database/database.sqlite php artisan migrate php artisan db:seed --class=Database\\Seeders\\MonitorSeeder composer run dev
Open http://localhost:8000.
Queue and Scheduler
The app expects:
- a queue worker
- the Laravel scheduler
The project already schedules monitoring every minute in routes/console.php.
Manual commands:
php artisan monitor:check php artisan monitor:check --sync php artisan monitor:check --id=5 --sync php artisan queue:work --tries=1 --timeout=30 php artisan schedule:work
Notification Channels
Each notification channel stores its own config payload.
| Channel | Required config fields |
|---|---|
to |
|
| Slack | webhook_url |
| Telegram | bot_token, chat_id |
| Microsoft Teams | webhook_url |
| Discord | webhook_url |
| Webhook | webhook_url |
You can enable or disable notifications independently for:
- down events
- recovery events
The admin UI also supports sending test notifications per channel.
REMP Health Checks
The project includes support for REMP-style health endpoints that return JSON such as:
{
"status": "OK",
"database": { "status": "OK" },
"redis": { "status": "OK" },
"log": { "status": "OK" },
"storage": { "status": "OK" }
}
The remp checker can validate:
- overall status
- individual component status
- detailed failure messages and context
Docker
The repository includes a simple Docker setup for local use. It runs:
- the Laravel app on port
8000 - a queue worker
- the scheduler
Files
Start with Docker
docker compose up --build
Then open http://localhost:8000.
The container entrypoint will:
- create
APP_KEYif missing - create the SQLite database file if needed
- run migrations
If you want fresh seed data:
docker compose exec app php artisan db:seed --class=Database\\Seeders\\MonitorSeeder
Stop Docker
docker compose down
To remove the persistent SQLite volume too:
docker compose down -v
Project Structure
app/
Console/
Jobs/
Livewire/
Models/
Notifications/
Services/Monitor/
config/
database/
public/
resources/views/
routes/
tests/
Important parts:
- CheckServicesCommand.php
- RunServiceCheckJob.php
- DispatchServiceChecksJob.php
- MonitorService.php
- CheckerFactory.php
- Dashboard.php
- ServiceManager.php
- NotificationManager.php
Extending the Project
Add a new check type
- Create a checker in
app/Services/Monitor/Checkers/. - Register it in CheckerFactory.php.
- Add admin form fields for its configuration.
- Add UI icon mapping for the new type.
Add a new notification channel
- Extend the channel model labels/icons.
- Add delivery logic in MonitorService.php or the admin sender.
- Add configuration fields in the admin UI.
License
This project is licensed under the MIT License.
That means other developers can fork it, submit pull requests, and reuse the code under standard MIT terms. See LICENSE.
broqit/laravel-ping-pong-monitor 适用场景与选型建议
broqit/laravel-ping-pong-monitor 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 broqit/laravel-ping-pong-monitor 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 broqit/laravel-ping-pong-monitor 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 broqit/laravel-ping-pong-monitor 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Alfabank REST API integration
High-performance, opinionated PHP 8 web framework with O(1) routing, parallel async MySQL, type-safe asset bridge, and React-island frontend
Laravel package for Accurate Online API integration.
The skeleton application for the Geoffrey agent framework.
Shared RCX Laravel DataTables UI and configuration helpers.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 33
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-07

