Sensu的核心组件有:Server,Client,API,都是ruby的工程。
代码结构
sensu/
? ├?bin/ # 启动脚本
? │ ├?sensu-api
? │ ├?sensu-client
? │ └?sensu-server
? │
? ├?CHANGELOG.md
? ├?CONTRIBUTING.md
? ├?Gemfile
? ├?lib/
? │ ├?sensu/
? │ │ ├?api/ # API接口层
? │ │ │ └?process.rb # 主要业务处理
? │ │ │
? │ │ ├?cli.rb # 接收命令行启动参数
? │ │ ├?client/ # 客户端
? │ │ │ ├?process.rb # 主要业务处理
? │ │ │ └?socket.rb # socket连接
? │ │ │
? │ │ ├?constants.rb # 常量
? │ │ ├?daemon.rb # 常驻进程父类
? │ │ ├?redis.rb # 连接redis
? │ │ ├?server/ # 服务端
? │ │ │ ├?filter.rb # 过滤器
? │ │ │ ├?handle.rb # 处理器
? │ │ │ ├?mutate.rb # 修改器
? │ │ │ ├?process.rb # 主要业务处理
? │ │ │ ├?sandbox.rb
? │ │ │ └?socket.rb
? │ │ │
? │ │ └?utilities.rb
? │ │
? │ └?sensu.rb # 包名
? │
? ├?MIT-LICENSE.txt
? ├?Rakefile
? ├?README.md
? ├?sensu-logo.png
? ├?sensu.gemspec
? └?spec/