PingPong is a simple yet powerful service monitor designed for HTTP endpoint health checks with configurable alerting capabilities to Telegram. It helps you keep track of your services' health and notifies you when something goes wrong.
- π§ YAML Configuration: Easy-to-use YAML-based configuration for setting up monitoring targets and alert rules
- π± Telegram Alerts: Instant notifications through Telegram when service health issues are detected
- π HTTP Health Checks: Monitor the health of your HTTP endpoints with retries and custom timeouts
- β° Cron Scheduling: Schedule health checks using cron expressions
- π Simple Setup: Get started quickly with minimal configuration
- Telegram Bot Token (for alerts)
- YAML configuration file
Create a YAML configuration file to specify your monitoring targets and alert settings:
# Base settings for all services
base:
retries:
attempts: 3 # Retry attempts
delay: 3000 # Delay between retries in milliseconds
# List of services to be scheduled
services:
- name: my-service # Required: Unique name for the service
enabled: true # Optional: Enable/disable the service
schedule: "*/1 * * * *" # Required: Cron expression
timeout: 60000 # Optional: Service-specific timeout in milliseconds
retries: # Optional: Override base retry configuration
attempts: 5 # Retry attempts
delay: 1000 # Delay between retries in milliseconds
config: # Required: Service-specific configuration
method: POST # HTTP method
url: https://api.myservice.com/health
headers: # Optional: HTTP headers
- name: Authorization
value: Bearer auth_token_13245
query: # Optional: Query parameters
version: "1.0"
body: {} # Optional: Request body
alert:
telegram:
token: "your-telegram-bot-token"
chat_id: "your-chat-id"
- Base Settings: Define default retry settings for all services
- Services: List of services to monitor
name
: Unique identifier for the serviceenabled
: Toggle service monitoringschedule
: Cron expression for check timingtimeout
: Request timeout in millisecondsretries
: Service-specific retry configurationconfig
: HTTP request configurationmethod
: HTTP method (GET, POST, etc.)url
: Target endpoint URLheaders
: Custom HTTP headersquery
: URL query parametersbody
: Request body (for POST/PUT)
alert
: Alert configurationtelegram
: Telegram bot settings
- Create your configuration file as shown above
- Run PingPong:
pingpong start -f config.yaml
If you encounter any issues or have suggestions for improvements, please submit them to our GitHub repository. We appreciate your feedback!
Apache License 2.0
Copyright (c) 2025 OpenAIS
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.