I need a few things developed in Node.js and Java for a monitoring system.
Please read everything for context, these are related and interconnected projects.
First and foremost, I need a Node.js server that does the following:
Contact:
Please read everything for context, these are related and interconnected projects.
First and foremost, I need a Node.js server that does the following:
- Manages a MySQL (or mongo if you prefer it) database of services. The data stored on a service (further explained below) is the last heartbeat, alerting status, and suppression status.
- Accepts requests on a webserver which specify: a service ID and a secret token. Once a request is received, update the last heartbeat in the database for the service to the current unix (epoch) timestamp.
- Every 10 seconds, poll the database to see if the epoch stored for every service is older than 30 seconds. If the suppression field for the service is greater than the current epoch timestamp, do not fire any alerts. If it's older than 30 seconds, set status to alerting and...
- When a server is flagged as alerting, send notifications to Discord (via a bot, configurable mentions) and Telegram immediately. Send them every 10 minutes until the alert is resolved.
- Most importantly, it should not go down.
- Interacts with the above daemon to manage the suppression status for each server.
- Sends alerts to admins and service managers for each service.
- I must be able to assign specific roles to people, and people with a specific role can manage the specific suppression status for their specific service. For example, have roles named manager:<id> for each service and running !suppress <time> will prevent alerts from firing until the time runs out.
- Most importantly, it should not go down.
Contact:
- First choice: Telegram @ https://t.me/gpAiree
- Second choice: Discord @ Airee#0001
- Third choice: Onsite PM
Last edited:
