Introduktion till Elastic
Compose IT ställs ofta inför nya typer av utmaningar som kräver nya tankesätt och nya metoder. Våra kunders olika verksamheter med befintliga etablerade lösningar måste länkas samman och berikas och man vill dessutom helst dra nytta av redan inarbetade funktioner. Vi på Compose IT har därför under en längre tid tagit hjälp av olika open source-verktyg för att komplettera våra systemlösningar med möjligheter som inte begränsas av vare sig gammal teknik eller dyra kostnader. Den verktygslåda som Elastic erbjuder passar oss bra och är både effektiv och rolig.
Här följer en kort introduktion till Elastic:
Elastic har produkter för insamling, bearbetning, datalagring och visualisering. Alla produkter är gjorda för att fungera både självständigt och tillsammans. Tack vare att lösningen är open source så finns det en stor mängd plugin-program skapta av Elastics stora community. Detta gör att det är möjligt att läsa in, bearbeta och visualisera alla sorters data.
Vilka delar ingår då i Elastic och vad är det som gör den så bra?
Elastic består i huvudsak av fyra olika byggstenar
Beats, små agenter som används för insamling.
Logstash, databearbetare som omvandlar och förädlar data.
Elasticsearch, databasen och hjärtat i en Elastic lösning.
Kibana, GUI för visualisering.
Utöver dessa produkter så finns det en mängd funktioner man kan köpa till av Elastic t.ex. för generering av larm, användarhantering, machine learning med mera. Vissa av dessa funktioner går även att ersätta med open source alternativ.
Förutom det faktum att alla produkter fungerar väldigt bra ihop så har varje del i sig många styrkor som gör att de också används var och en för sig. Ett exempel på detta är Logstash som med fördel kan användas tillsammans med IBM’s AI produkt Predictive Insight.
Elasticsearch, databasen, är extremt kraftfull. I följande två tillämpningar har vi efter utvärdering kommit fram till att Elasticsearch är det bästa alternativet:
• Där man vill samla många olika typer av data, loggdata, serverövervakning, APM m.m. på samma ställe
• Där det finns behov av textbaserad sökning
Elasticsearch är en dokumentbaserad databas som bygger på open source projektet Apache Lucene som är ett högpresterande textbaserat sökbibliotek. Databasen kan innehålla både strukturerad och ostrukturerad data vilket gör det möjligt att lagra information utan att för definiera en datastruktur. Genom att analysera varje fält i ett dokumenten och indexera fälten baserad på dess data typ, anpassas datalagringen till den lagringstyp som är optimerad för just den datatypen. Förmågan att kunna anpassa datalagringen gör det möjligt att snabbt kunna indexera dokumenten och returnera sökresultat otroligt snabbt trots stora datamängder. Denna förmåga är det som gör att Elasticsearch är den bästa lösningen när man vill samla många olika typer av information på ett och samma ställe för att lätt korrelera olika typer av information. Elasticsearch är också det bästa lösningen när man vill analysera text. Textsträngar indexeras till ett inverterat index som beskriver precis var specifika ord och meningar finns. Detta innebär att man inte behöver analysera varje dokument vid söktillfället eftersom man redan vet var all data finns och man kan presentera resultatet snabbt trots stora mängder text.
Genom att använda Beats och Logstash tillsammans är det möjligt att samla in, berika och bearbeta loggfiler, metriska värden så som cpu användning, nätvärksdata och tillgänglighetsstatus. Meddelanden kan anpassas till precis det format du kräver för att kunna hitta det du söker efter i Elasticsearch. Beroende på vilken typ av data som insamlas kan man göra olika former av bearbetningar och berikningar. Det är även möjligt att läsa in data från flera källor och anpassa bearbetningen efter vad som står i meddelandena. Det går att tillföra information så som geografisk information baserat på IP adresser, berika meddelanden med data som redan finns i Elasticsearch, data som finns i en MySQL databas eller integrera med REST API. Det finns många funktioner för att normalisera data genom att t.ex. dela upp en loggrad till flera meddelanden, anpassa fält, ta bort fält eller droppa hela meddelanden.
Det finns väldigt många olika funktioner för att bearbeta, anpassa och berika data, för många för att berätta om här. Men det är möjligt att läsa in och bearbeta alla olika sorters data från loggar till nätverksinformation med hjälp av Elastic.
Elastic har också stöd för SSL/TLS och användarbaserad säkerhet så att alla data kan samlas in, lagras och presenteras på ett säkert sätt. Grundsäkerheten är gratis men vill man använda integreringar till t.ex. LDAP för användarhanteringen, är det möjligt att köpa till det till en mycket rimlig kostnad.
Elastic med alla dess byggstenar är ett konkurrenskraftigt övervakningsverktyg som också är helt gratis. Vi har implementerat Elastic för flera olika syften bland annat som logghanterare och som historisk databas till Netcool Fault Management.