Web-based monitoring system for Mikrotik CHR IP that tracks and visualizes ping responses in real-time.
- Real-time ping monitoring
- Historical data visualization
- Response time graphs
- Filterable date ranges
- Pagination for historical data
- Node.js (v18 or higher)
- npm
- PM2 (for production deployment)
Create a .env file in the root directory with the following variables:
# Application Configuration
APP_TITLE=Mikrotik CHR Monitoring
APP_PORT=3000
# Monitoring Configuration
MIKROTIK_IP=192.168.90.3
PING_INTERVAL=1000 # in milliseconds- Clone the repository:
git clone [repository-url]
cd pingMikrotik- Install dependencies:
npm install- Install PM2 globally (if not already installed):
npm install -g pm2- Build the CSS:
npm run build:cssTo run the application in development mode:
# Watch for CSS changes
npm run watch:css
# In another terminal, run the server
npm run devThe application will be available at http://localhost:3000
- Build the CSS for production:
npm run build:css- Start the application with PM2:
pm2 start server.js --name "mikrotik-monitor"- View logs:
pm2 logs mikrotik-monitor- View status:
pm2 status- Restart application:
pm2 restart mikrotik-monitor- Stop application:
pm2 stop mikrotik-monitor- Enable startup script (auto-start on system reboot):
pm2 startup
pm2 savenpm start- Start the servernpm run dev- Start the server in development mode with nodemonnpm run build:css- Build and minify CSS for productionnpm run watch:css- Watch and rebuild CSS on changes
pingMikrotik/
├── public/
│ ├── css/
│ │ └── style.css # Built Tailwind CSS
│ ├── js/
│ │ └── app.js # Frontend JavaScript
│ └── index.html # Main HTML file
├── src/
│ └── input.css # Tailwind source CSS
├── server.js # Express server
├── tailwind.config.js # Tailwind configuration
├── postcss.config.js # PostCSS configuration
└── package.json