UNPKG

pm2-slack-monitor

Version:

A CLI tool to monitor PM2 processes and send error logs to individual Slack channels via webhook.

94 lines (78 loc) 3.11 kB
# pm2-slack-monitor A simple CLI utility to monitor your PM2-managed server processes and automatically send uncaught error logs to Slack channels using incoming webhook URLs ## Features - Monitors specific PM2 app names - Sends detailed uncaught error logs and crashes to dedicated Slack channels - Saves monitored apps locally in a config file - Lightweight and easy-to-use CLI interface - Compatible with PM2 process manager - Can be run as a background process using PM2 ## Installation 1. **Install Package Globally on server:** ```bash npm i -g pm2-slack-monitor ``` 2. **Ensure you have PM2 installed Globally**. 3. **Test Installation with command:** ```bash pm2-slack-monitor --help ``` - **Example Otuput** ``` Available Commands Usage: pm2-slack-monitor [options] [command] 🛠️ Terminal-based utility to monitor PM2 processes and send Slack alerts. Options: -V, --version output the version number -h, --help display help for command Commands: start Start monitoring all registered PM2 processes add <processName> <slackWebhook> Add a PM2 process and assign a Slack webhook remove <processName> Remove a process from monitoring list List all monitored processes with their Slack webhooks update <processName> <webhookUrl> Update Slack webhook for a monitored process help [command] display help for command ``` 3. **Add pm2 process to slack monitor:** ```bash pm2-slack-monitor add <pm2-app-name> <slack-webhook-url> ``` - **Example** ``` pm2-slack-monitor add my-app https://hooks.slack.com/services/T00000000/B00000000/xxxxxxxxxx ``` 4. **To update pm2 process webhook url in slack monitor:** ```bash pm2-slack-monitor update <pm2-app-name> <slack-webhook-url> ``` - **Example** ```bash pm2-slack-monitor update my-app https://hooks.slack.com/services/T00000000/B00000000/yyyyyyyyyy ``` 5. **To remove pm2 process in slack monitor:** ```bash pm2-slack-monitor remove <pm2-app-name> ``` - **Example** ```bash pm2-slack-monitor remove my-app ``` 6. **To List monitored processes in slack monitor:** ```bash pm2-slack-monitor list ``` 7. **To Start monitoring pm2 process with slack monitor:** ```bash pm2 start "pm2-slack-monitor start" --name "pm2-slack-monitor" ``` - This ensures continuous monitoring of your PM2-managed apps, with error logs automatically sent to the configured Slack channels. ## Requirements - Node.js (v14 or higher) - PM2 process manager - A valid Slack incoming webhook URL for each monitored process ## Contributing - Contributions are welcome! To contribute: Fork the repository. - Create a new branch (git checkout -b feature/your-feature). - Make your changes and commit (git commit -m 'Add your feature'). - Push to the branch (git push origin feature/your-feature). - Open a Pull Request.