Frequently asked questions about Sensu Core, Sensu Enterprise, Sensu Training, Professional Services for Sensu, and #monitoringlove.
Please note the following frequently asked questions about Sensu Core, Sensu Enterprise, Sensu Training, Professional Services for Sensu, and more. If you need support for Sensu, please consider giving Sensu Enterprise a try.
No. Sensu uses RabbitMQ as a Transport. Sensu services requires access to the same instance of the defined Sensu Transport (e.g. a RabbitMQ cluster) to function. Sensu check requests and check results are published as “messages” to the Sensu Transport, and the corresponding Sensu services receive these messages by subscribing to the appropriate subscriptions.
No. Sensu uses Redis as a data store, and the Sensu server services (i.e.
sensu-api for Sensu Core;
sensu-enterprise for Sensu Enterprise) require access to the same Redis instance (or cluster) to store and access the Sensu client registry, check results, check execution history, and current event data.
No. Regardless of where checks are defined, the actual check scripts or binaries need to exist on the filesystem for the Sensu client to execute them. In a centralized configuration model the actual check definition (the configuration parameters that define the check behavior) only need to be defined on the Sensu server(s). If checks with the same name are defined on both the server and client, the two configurations will be merged, with the locally defined client configuration overriding the configuration provided by the server (which can be useful for overriding specific check definition attributes on a client-by-client basis).
A standalone check is a check definition that is installed on a Sensu client and not on the Sensu server. Standalone checks defer Check execution scheduling responsibilities to the Sensu clients, enabling decentralized management of monitoring checks and distribution of scheduling responsibilities. Standalone checks may be used in conjunction with traditional subscription-based checks (i.e. pubsub checks).
When a check request is published for a check defined on the Sensu server, the Sensu client will look for a local definition matching the check
name prior to executing the check. If a local definition exists, it is merged with the definition provided by the server, with any local definition attributes overriding the definition provided by the Sensu server.
safe_mode a client will not run a check published by a Sensu server unless that check is also defined on the client. Safe mode must be enabled on the Sensu Client via the
safe_mode configuration attribute.
Yes. Sensu is designed to be scaled horizontally (i.e. by adding additional Sensu servers). It supports fully automated leader election (ensuring that a single Sensu server acts as a centralized Check Execution Scheduler), automated failover (automatically electing a new leader if the previous leader is unexpectedly unavailable), and distributed event processing (check results are distributed across all Sensu servers in a round-robin fashion). Running more than one Sensu server is highly recommended for performance and availability.
Automatically. Sensu clients register themselves when they start up. The Sensu client process requires access to the Sensu Transport (by default, this is RabbitMQ; see Sensu Configuration), and some minimal client configuration (e.g. a
address, and one or more
subscriptions) in order to start. When the Sensu client process starts, it begins sending "Keepalives" – a special type of check result containing client configuration data – which the Sensu server uses to know that a client is still connected. When a client keepalive is received for a client
name that is not currently registered with Sensu, the client is added to the registry and a registration event is created automatically.
Yes. The Sensu services (i.e. sensu-client, sensu-server, sensu-api, sensu-enterprise) use the local/system clock for generating timestamps. When system clocks are out of sync between Sensu clients (where data is collected) and the Sensu server (where data is processed), Sensu may generate false positive client keepalive events, among other potentially unexpected behaviors. Time synchronization can be facilitated with NTP.
No. Like Sensu Core, Sensu Enterprise is installed on your organization's infrastructure alongside other applications and services. Installation Packages are available for several major platforms including Linux, Windows, Mac OS X, FreeBSD and more.