How frese/eye-of-god works
Eye-of-God is a file-backed server-monitoring system: client collectors run service scripts and send measurements through a queue driver; the server receives them into RRD files; CGI pages let users select monitored hosts/services and view generated graphs. The README documents these principal relationships. Source excerpts are limited to queue drivers and browser tree widgets, so internal dispatch details and the widgets’ integration with the CGI pages are not verified.
Main entry points: collector Collector · godd Server processor · god Monitoring interface · eye Graph renderer
Components 21
Client collection
- Service configuration
config/services.yaml - Service scripts
scripts - Collector
bin/collector - Ad hoc collection
bin/collect - Bunny driver
bin/drivers/bunnydriver.rb - SQS driver
bin/drivers/sqsdriver.rb - STOMP driver
bin/drivers/stompdriver.rb
Server ingestion
- Receiver
bin/receiver - Server processor
bin/godd - Server configuration
config/god.yaml
RRD storage
- RRD data files
rrd
Web presentation
- Monitoring interface
cgi/god - Graph renderer
cgi/eye - Info endpoint
cgi/info - Page template
include/god.rhtml - Checkbox tree
include/jquery.checkboxtree.js - Tree navigation
include/jquery.treeview.js
Other components
- Operator
- Monitored servers
- Message queue
- RRDtool
Connections 19
- Monitored servers → Collector: runs on
README.md - Collector → Service configuration: uses settings
README.md - Collector → Service scripts: runs scripts
README.md - Collector → Bunny driver: publishes via
README.md - Collector → SQS driver: publishes via
README.md - Collector → STOMP driver: publishes via
README.md - Bunny driver → Message queue: publishes to
bin/drivers/bunnydriver.rb - SQS driver → Message queue: publishes to
bin/drivers/sqsdriver.rb - STOMP driver → Message queue: publishes to
bin/drivers/stompdriver.rb - Ad hoc collection → Message queue: updates data sets
README.md - Message queue → Receiver: delivers messages
README.md - Receiver → Server processor: server receives
- Server processor → RRD data files: stores measurements
README.md - Server processor → Server configuration: reads status settings
README.md - Operator → Monitoring interface: selects monitors
README.md - Monitoring interface → Graph renderer: requests graphs
README.md - Graph renderer → RRD data files: reads data
README.md - Graph renderer → RRDtool: draws graphs
README.md - Monitoring interface → Page template: renders framework