A Ruby process monitoring tool inspired by Bluepill and God, built for production stability with advanced features like chained restarts and health checks.
Eye is a Ruby-based process monitoring tool designed to supervise and manage long-running applications and daemons. It automatically restarts failed processes, performs health checks on CPU, memory, sockets, and HTTP endpoints, and provides a flexible configuration system. It solves the problem of unreliable process supervision in production environments, offering stability and advanced features over predecessors.
System administrators, DevOps engineers, and Ruby developers who need to monitor and manage production services, especially those running daemonized processes or background jobs.
Developers choose Eye for its production stability, rich feature set (like chained restarts and dynamic config updates), and reliability compared to alternatives like God and Bluepill, which often had bugs and crashes in production.
Process monitoring tool. Inspired from Bluepill and God.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built to address bugs in God and Bluepill, Eye emphasizes reliability with features like flapping detection to prevent restart loops, as noted in its README philosophy.
Allows live reloading of monitoring configurations via 'eye load' without restarting the daemon, enabling zero-downtime changes in production environments.
Supports configurable checks for CPU, memory, sockets, and HTTP endpoints with customizable intervals and thresholds, as shown in the example config with checks for Thin and EventMachine.
Enables graceful start and restart chains with intervals, useful for managing dependencies between processes, demonstrated in the group 'samples' with 'chain grace: 5.seconds'.
Can monitor forking applications and their children individually, with configurable restart commands and checks, as illustrated in the 'forking' process example.
Requires Ruby MRI >= 1.9.3 and gems like Celluloid, limiting adoption in polyglot stacks or environments where Ruby isn't installed or maintained.
The Ruby-based DSL, while flexible, has a steep learning curve and can be error-prone for non-Ruby developers or those unfamiliar with its syntax, as seen in the detailed config examples.
Compared to tools like systemd or supervisord, Eye has fewer third-party plugins and integrations, requiring custom development for specific monitoring needs beyond the built-in features.
Lacks a graphical dashboard for real-time monitoring; status checks and logs are CLI-only, which can hinder usability for teams accustomed to web-based management tools.
Eye is an open-source alternative to the following products: