Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
E

eye

> 编程语言
Open source

Process monitoring tool. Inspired from Bluepill and God.

1.2K stars0 likes3 views
WebsiteGitHub

About

Process monitoring tool. Inspired from Bluepill and God.

Eye

Process monitoring tool. Inspired from Bluepill and God. Requires Ruby(MRI) >= 1.9.3-p194. Uses Celluloid and Celluloid::IO.

Little demo, shows general commands and how chain works: Installation:

$ gem install eye

Why?

We have used god and bluepill in production and always ran into bugs (segfaults, crashes, lost processes, kill not-related processes, load problems, deploy problems, ...)

We wanted something more robust and production stable.

We wanted the features of bluepill and god, with a few extras like chains, nested configuring, mask matching, easy debug configs

I hope we've succeeded, we're using eye in production and are quite happy.

Config example

examples/test.eye (more examples)

…

Start eye daemon and/or load config:

$ eye l(oad) examples/test.eye

load folder with configs:

$ eye l examples/
$ eye l examples/*.rb

foreground load:

$ eye l CONF -f

If the eye daemon has already started and you call the load command, the config will be updated (into eye daemon). New objects(applications, groups, processes) will be added and monitored. Processes removed from the config will be removed (and stopped if the process has stop_on_delete true). Other objects will update their configs.

Two global configs loaded by default, if they exist (with the first eye load):

/etc/eye.conf
~/.eyeconfig

Process statuses:

$ eye i(nfo)
test
  samples
    sample1 ....................... up  (21:52, 0%, 13Mb, )
    sample2 ....................... up  (21:52, 0%, 12Mb, )
  event_machine ................... up  (21:52, 3%, 26Mb, )
  forking ......................... up  (21:52, 0%, 41Mb, )
    child-4206 .................... up  (21:52, 0%, 41Mb, )
    child-4211 .................... up  (21:52, 0%, 41Mb, )
    child-4214 .................... up  (21:52, 0%, 41Mb, )
  thin ............................ up  (21:53, 2%, 54Mb, )
$ eye i -j # show info in JSON format

Commands:

start, stop, restart, delete, monitor, unmonitor

Command params (with restart for example):

$ eye r(estart) all
$ eye r test
$ eye r samples
$ eye r sample1
$ eye r sample*
$ eye r test:samples
$ eye r test:samples:sample1
$ eye r test:samples:sample*
$ eye r test:*sample*

Check config syntax:

$ eye c(heck) examples/test.eye

Config explain (for debug):

$ eye e(xplain) examples/test.eye

Log tracing (tail and grep):

$ eye t(race)
$ eye t test
$ eye t sample

Quit monitoring:

$ eye q(uit)
$ eye q -s # stop all processes and quit

Interactive info:

$ eye w(atch)

Process statuses history:

$ eye hi(story)

Eye daemon info:

$ eye x(info)
$ eye x -c # for show current config

Local Eye version LEye (like foreman):

LEye

Process states and events: How to write Eye extensions, plugins, gems:

Eye-http Eye-rotate Eye-hipchat Plugin example

Eye related projects

Articles

Wiki

Thanks Bluepill for the nice config ideas.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rubydaemonizemonitoringprocess-monitortool

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言