Skip to content

arya2004/gonitor

Repository files navigation

Gonitor

Gonitor is a dead-simple monitoring service, designed to replace legacy systems like Nagios. It provides a lightweight, efficient, and straightforward way to monitor your systems and ensure everything is running as expected.

Why Gonitor?

Traditional monitoring tools like Nagios can be overly complex and bloated for many use cases. Gonitor simplifies monitoring, providing an easy-to-use solution that focuses on reliability and essential functionality. It’s ideal for small to medium-sized setups where simplicity and efficiency are paramount.

Key Features:

  • Minimal configuration: Get up and running quickly without the hassle of complex setup.
  • Extensible: Use Postgres as the default database, or configure it with alternatives if needed.
  • Real-time notifications: Integrates seamlessly with Pusher or alternatives like ipê for real-time updates.

Build

Gonitor is written in Go, making it easy to build and deploy on various platforms.

Building on Mac/Linux

go build -o gonitor cmd/web/*.go

Building on Windows

go build -o gonitor.exe cmd/web/.

Requirements

Gonitor requires the following to function properly:

  1. Postgres: Version 11 or later. While Postgres is the default database, other databases can be configured if needed.
  2. Pusher Account (or a compatible alternative like ipê): Required for real-time notifications.

Run

To run Gonitor, ensure your Pusher alternative (e.g., ipê) is running. Follow these steps:

Starting ipê

If you are using ipê as your Pusher alternative:

On Mac/Linux:

cd ipe
./ipe

On Windows:

cd ipe
ipe.exe

Running Gonitor

Run Gonitor with the appropriate flags for your configuration:

On Mac/Linux:

./gonitor \
  -dbuser='username' \
  -pusherHost='localhost' \
  -pusherPort='4001' \
  -pusherKey='123abc' \
  -pusherSecret='abc123' \
  -pusherApp='1' \
  -pusherSecure=false

On Windows:

gonitor.exe \
  -dbuser='username' \
  -pusherHost='localhost' \
  -pusherPort='4001' \
  -pusherKey='123abc' \
  -pusherSecret='abc123' \
  -pusherApp='1' \
  -pusherSecure=false

Use Cases

  • System Monitoring: Monitor servers, applications, and services with minimal setup.
  • Real-Time Alerts: Receive real-time notifications when something goes wrong.
  • Custom Integrations: Extend functionality by integrating Gonitor with other tools and platforms using its flexible configuration options.

Contributing

We welcome contributions! Feel free to fork the repository, submit pull requests, and report issues.


License

This project is licensed under the MIT License. See the LICENSE file for details.

About

a dead-simple monitoring service

Resources

License

Code of conduct

Stars

Watchers

Forks