Static data files used by AppsCode Searchlight

appscode, icinga, nagios, searchlight
npm install [email protected]


Mir Shahriar Sabuj Tamal Saha

See all contributors



Searchlight is an Alert Management project. It has a Controller to watch Kubernetes Objects. Alert objects are consumed by Searchlight Controller to create Icinga2 hosts, services and notifications.


Following resources are used in Searchlight

Resource Version
Icinga2 2.4.8
Icingaweb2 2.1.2
Monitoring Plugins 2.1.2
Postgres 9.5
Searchlight Controller 1.5.2


Searchlight supports additional custom plugins. Followings are currently added

Check Command Plugin Details
component_status check_component_status To check Kubernetes components
influx_query check_influx_query To check InfluxDB query result
json_path check_json_path To check any API response by parsing JSON using JQ queries
node_count check_node_count To check total number of Kubernetes node
node_status check_node_status To check Kubernetes Node status
pod_exists check_pod_exists To check Kubernetes pod existence
pod_status check_pod_status To check Kubernetes pod status
prometheus_metric check_prometheus_metric To check Prometheus query result
node_disk check_node_disk To check Node Disk stat
volume check_volume To check Pod volume stat
kube_event check_kube_event To check all Kubernetes Warning events happened in last c seconds
kube_exec check_kube_exec To check Kubernetes exec command. Returns OK if exit code is zero, otherwise, returns CRITICAL

Note: All of these plugins are combined into a single plugin called hyperalert

User Guide

To deploy Searchlight in Kubernetes cluster, follow this guide. This guide will walk you through following three steps:

  1. Creating Third Party Resource
  2. Deploying Icinga2
  3. Deploying Searchlight Controller

Architectural Design

If you want to know how Searchlight Controller is working, read this doc.


If you're interested in being a contributor, read following guides:


If you have any questions, you can reach out to us.