Module: BrainzLab::Sentinel
- Defined in:
- lib/brainzlab/sentinel.rb,
lib/brainzlab/sentinel/client.rb,
lib/brainzlab/sentinel/provisioner.rb
Defined Under Namespace
Classes: Client, Provisioner
Class Method Summary collapse
-
.alerts(host_id: nil, status: nil, severity: nil) ⇒ Array<Hash>
Get alerts.
- .client ⇒ Object
-
.container(container_id) ⇒ Hash?
Get container details.
-
.container_metrics(container_id, period: '1h') ⇒ Hash?
Get container metrics.
-
.containers(host_id: nil, status: nil) ⇒ Array<Hash>
List all containers.
-
.ensure_provisioned! ⇒ Object
INTERNAL ===.
-
.host(host_id) ⇒ Hash?
Get host details.
-
.hosts(status: nil, page: 1, per_page: 50) ⇒ Array<Hash>
List all registered hosts.
-
.metrics(host_id, period: '1h', metrics: nil) ⇒ Hash?
Get metrics for a host.
-
.processes(host_id, sort_by: 'cpu', limit: 20) ⇒ Array<Hash>
Get top processes for a host.
- .provisioner ⇒ Object
- .reset! ⇒ Object
Class Method Details
.alerts(host_id: nil, status: nil, severity: nil) ⇒ Array<Hash>
Get alerts
126 127 128 129 130 131 132 133 |
# File 'lib/brainzlab/sentinel.rb', line 126 def alerts(host_id: nil, status: nil, severity: nil) return [] unless enabled? ensure_provisioned! return [] unless BrainzLab.configuration.sentinel_valid? client.get_alerts(host_id: host_id, status: status, severity: severity) end |
.client ⇒ Object
148 149 150 |
# File 'lib/brainzlab/sentinel.rb', line 148 def client @client ||= Client.new(BrainzLab.configuration) end |
.container(container_id) ⇒ Hash?
Get container details
95 96 97 98 99 100 101 102 |
# File 'lib/brainzlab/sentinel.rb', line 95 def container(container_id) return nil unless enabled? ensure_provisioned! return nil unless BrainzLab.configuration.sentinel_valid? client.get_container(container_id) end |
.container_metrics(container_id, period: '1h') ⇒ Hash?
Get container metrics
108 109 110 111 112 113 114 115 |
# File 'lib/brainzlab/sentinel.rb', line 108 def container_metrics(container_id, period: '1h') return nil unless enabled? ensure_provisioned! return nil unless BrainzLab.configuration.sentinel_valid? client.get_container_metrics(container_id, period: period) end |
.containers(host_id: nil, status: nil) ⇒ Array<Hash>
List all containers
83 84 85 86 87 88 89 90 |
# File 'lib/brainzlab/sentinel.rb', line 83 def containers(host_id: nil, status: nil) return [] unless enabled? ensure_provisioned! return [] unless BrainzLab.configuration.sentinel_valid? client.list_containers(host_id: host_id, status: status) end |
.ensure_provisioned! ⇒ Object
INTERNAL ===
137 138 139 140 141 142 |
# File 'lib/brainzlab/sentinel.rb', line 137 def ensure_provisioned! return if @provisioned @provisioned = true provisioner.ensure_project! end |
.host(host_id) ⇒ Hash?
Get host details
30 31 32 33 34 35 36 37 |
# File 'lib/brainzlab/sentinel.rb', line 30 def host(host_id) return nil unless enabled? ensure_provisioned! return nil unless BrainzLab.configuration.sentinel_valid? client.get_host(host_id) end |
.hosts(status: nil, page: 1, per_page: 50) ⇒ Array<Hash>
List all registered hosts
18 19 20 21 22 23 24 25 |
# File 'lib/brainzlab/sentinel.rb', line 18 def hosts(status: nil, page: 1, per_page: 50) return [] unless enabled? ensure_provisioned! return [] unless BrainzLab.configuration.sentinel_valid? client.list_hosts(status: status, page: page, per_page: per_page) end |
.metrics(host_id, period: '1h', metrics: nil) ⇒ Hash?
Get metrics for a host
48 49 50 51 52 53 54 55 |
# File 'lib/brainzlab/sentinel.rb', line 48 def metrics(host_id, period: '1h', metrics: nil) return nil unless enabled? ensure_provisioned! return nil unless BrainzLab.configuration.sentinel_valid? client.get_metrics(host_id, period: period, metrics: metrics) end |
.processes(host_id, sort_by: 'cpu', limit: 20) ⇒ Array<Hash>
Get top processes for a host
66 67 68 69 70 71 72 73 |
# File 'lib/brainzlab/sentinel.rb', line 66 def processes(host_id, sort_by: 'cpu', limit: 20) return [] unless enabled? ensure_provisioned! return [] unless BrainzLab.configuration.sentinel_valid? client.get_processes(host_id, sort_by: sort_by, limit: limit) end |
.provisioner ⇒ Object
144 145 146 |
# File 'lib/brainzlab/sentinel.rb', line 144 def provisioner @provisioner ||= Provisioner.new(BrainzLab.configuration) end |
.reset! ⇒ Object
152 153 154 155 156 |
# File 'lib/brainzlab/sentinel.rb', line 152 def reset! @client = nil @provisioner = nil @provisioned = false end |