An open-source, self-hosted observability platform for monitoring servers, AWS infrastructure, website uptime, SSL certificates, logs, and browser performance from one unified dashboard.
Monitoring Agent is an open-source, self-hosted observability platform designed to give teams visibility into their infrastructure and applications without sending operational data to a third-party monitoring service.
It combines a Laravel web application with a lightweight Java agent, AWS integrations, scheduled uptime checks, and a browser monitoring SDK.
The main dashboard brings together server health, cloud resources, website availability, SSL status, and frontend performance in one responsive interface.
Install the lightweight Java agent on Linux servers to collect:
Each agent uses a stable UUID and sends telemetry through a token-authenticated API.
Connect AWS accounts through an external-ID-protected, read-only IAM role.
Monitoring Agent provides visibility into:
The platform also generates read-only recommendations for public exposure, unrestricted ports, unused Security Groups, public S3 buckets, and unassociated Elastic IP addresses.
It never modifies AWS resources.
Monitor website availability every minute and track:
Administrators can use the Check now action to run a monitor manually.
SSL inspection can be enabled or disabled for each monitor. When enabled, certificate expiry alerts are generated at 30, 15, 7, and 0 days.
Add the lightweight browser SDK to a website to collect real-user performance and error data:
Events are grouped by page view, making it easy to connect a main page request with the background activity and errors that followed it.
The SDK does not collect form values, DOM text, cookies, authorization headers, or request bodies.
Monitoring Agent can synchronize selected application and system log files.
It supports:
The platform includes:
Infrastructure monitoring often becomes fragmented across several tools.
One platform may contain server metrics, another monitors AWS, another checks uptime, and another records browser errors. This makes it harder to understand how an infrastructure issue affects the customer experience.
Monitoring Agent brings these signals together while keeping deployment and data ownership under the user’s control.
The project focuses on:
For a supported Linux server:
git clone https://github.com/kunalkurhader/monitoring-agent.git
cd monitoring-agent
sudo ./install.sh
The installer prepares the Laravel application, Java agent build environment, Apache integration, and scheduled background tasks.
After installation, open the application in a browser and complete the guided database and administrator setup.
git clone https://github.com/kunalkurhader/monitoring-agent.git
cd monitoring-agent
composer install --ignore-platform-req=ext-oci8
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm run build
php artisan serve
Then open:
http://127.0.0.1:8000
The repository includes repeatable seeders for testing every major dashboard:
php artisan db:seed --class=DashboardDemoSeeder --force
php artisan db:seed --class=BrowserMonitoringDemoSeeder --force
php artisan db:seed --class=AwsCloudDemoSeeder --force
php artisan db:seed --class=WebsiteMonitoringDemoSeeder --force
These seeders generate recent server telemetry, browser activity, AWS resources, uptime checks, SSL states, warnings, and errors.
Monitoring Agent is open source, and contributions are welcome.
You can help by:
Before opening a pull request, run:
vendor/bin/pint --test
php artisan test
npm run build
If the Java agent changes, also run:
mvn -f agent/pom.xml clean package
For larger features or schema changes, open an issue first so the approach can be discussed.