Sensu (Monitoring)

Sensu is een controle raamwerk voor het bewaken van IT-infrastructuren. Sensu maakt de bewaking van servers, containers, applicaties en netwerkapparaten mogelijk. Sensu is volledig geschreven in Ruby (programmeertaal) en gebruikt RabbitMQ om gegevens uit te wisselen tussen componenten, evenals Redis om gegevens op te slaan. Het is vanaf de grond af aan gebouwd voor gebruik in dynamische cloudomgevingen in samenwerking met serverautomatiseringssoftware zoals Puppet , Ansibleen baas ontworpen. Dit wordt onder andere aangetoond door het feit dat Sensu alle configuraties als JSON-bestanden biedt en nieuwe servers zich automatisch kunnen registreren in het meetnet. [1]

Sensu is oorspronkelijk ontwikkeld door Sean Porter op Sonian.com. Het werd voor het eerst uitgebracht in november 2011 als open source software onder de MIT-licentie . Sean Porter vervoegde Heavy Water Operations, LLC in 2013 en publiceerde Sensu Enterprise in april 2015. Sensu Enterprise is een commerciële release die extra functies, integraties en ondersteuning toevoegt aan de Sensu Core, nog steeds beschikbaar als gratis software.

Betekenis

Sensu is een relatief nieuw monitoringraamwerk dat groeit. In een onderzoek uit 2014 behaalde Sensu een marktaandeel van 9,11% [2] , in een andere enquête, eveneens uit 2014, een aandeel van 7,5% [3] . In de tussentijd, onder de bekendere bedrijven zijn de Sensu-gebruiksnamen zoals Tesla, Cisco, Intuit en Yahoo. De verspreiding van Sensu wordt zeker ondersteund door een actieve community die een verscheidenheid aan plug-ins ontwikkelt [4] , evenals het feit dat de plug-ins van bestaande en gevestigde bewakingssystemen zoals Nagios , Icinga en Zabbix eenvoudig kunnen worden hergebruikt in Sensu. [5]

Basiswerking

Sensu bouwt voort op twee basisbouwstenen: controles die worden uitgevoerd op de Sensu-clients en gebeurtenisverwerking die op de Sensu-server wordt uitgevoerd.

Met controles kan het services controleren (is Nginx actief, voert het de MySQL- service uit), of om bronnen te meten (hoeveel schijfruimte is er vrij op een schijf, hoe hoog is het CPU-gebruik). Controles zijn commando’s of scripts die worden uitgevoerd door de Sensu-client op de te monitoren machines en die gegevens uitvoeren naar STDOUT of STDERR. Deze gegevens kunnen eenvoudige statuscodes zijn die de status van de bewaakte service weergeven (bijvoorbeeld 0 voor OK, 1 voor WAARSCHUWING en 2 voor CTITICAL), of meer complexe meetwaarden, zoals MySQL- statistieken. Sensu-controles gebruiken dezelfde specificatie als Nagios , wat Nagios veroorzaaktControleplug-ins kunnen ook als sensu-controles worden gebruikt. De gegevens die door de controles worden geproduceerd, worden via Sensu Transport ( RabbitMQ standaard ) doorgestuurd naar de Event Processor (Sensu-Server). De Sensu-server voert een of meer handlers uit die zijn opgegeven in de controles op basis van deze gegevens. Een handler kan verschillende acties uitvoeren, zoals het verzenden van een e-mailwaarschuwing, het genereren van pager-duty waarschuwingen of het doorsturen van de gegevens naar een tijdreeksdatabase (TSDB) zoals Graphite of InfluxDB voor verdere analyse .

Architectuur

Sensu bestaat uit de volgende componenten:

Sensu-client

De Sensu-client is het proces dat de controles uitvoert op de systemen die worden bewaakt. Sensu-clients kunnen zich bij de Sensu-server registreren. Een Sensu-client kan onafhankelijk een controle uitvoeren (stand-alone controles) of deze uitvoeren op verzoek van de Sensu-server (abonnementscontroles). De resultaten van een cheque worden doorgegeven via Sensu Transport.

Transport

De Sensu-componenten communiceren niet rechtstreeks met elkaar, maar gebruiken in plaats daarvan een berichtenbus. De standaard berichtenbus is RabbitMQ .

Gegevensopslag

Sensu gebruikt de NoSQL- database Redis om gegevens te bewaren . De opgeslagen gegevens bevatten gegevens van het Sensu-Client-register, controleren de resultaten en controleren de uitvoeringsdatums. De Sensu-server, evenals de Sensu API en dashboardservices, hebben toegang tot de datastore nodig. Sensu-clients hebben zelf geen toegang nodig.

Sensu-server

De Sensu-server is het proces dat de resultaten van de controles ontvangt via RabbitMQ en reageert dienovereenkomstig door bijvoorbeeld lokale afhandelaren te runnen. De Sensu-server beheert ook de registratie van Sensu-klanten, evenals het initiëren van controles bij de klanten.

Sensu API

De bewakingsgegevens die zijn opgeslagen in Redis , evenals de basisfuncties van Sensu kunnen worden beheerd via een RESTful HTTP JSON API.

Referenties

  1. Jump up↑ Zwaar water: Sensu | Wat is Sensu? In: sensuapp.org. Betreden op 8 september 2016 .
  2. Spring omhoog↑ Monitoring Tools Enquête . Betreden op 7 september 2016.
  3. Jump up↑ Monitoring Tools Enquête 2 . Betreden op 7 september 2016.
  4. Spring omhoog↑ Sensu Community-plug-ins . Betreden op 7 september 2016.
  5. Spring omhoog↑ Gebruik de Nagios-plug-ins opnieuw . Betreden op 7 september 2016.

Leave a Reply

Your email address will not be published. Required fields are marked *