Jak zacząć ze Splunk REST API, czyli szybka i łatwa integracja Splunk Enterprise z zewnętrznymi aplikacjami

Splunk REST API

Platforma Splunk Enterprise oferuje framework umożliwiający budowanie bogatych wizualnie i w pełni funkcjonalnych aplikacji webowych. Zawierają one raporty, wizualizacje i interaktywne dashboardy, których funkcją jest prezentacja danych zgromadzonych w Splunk, ich przetwarzanie oraz analiza.

Co więcej, wspomniane aplikacje mogą być rozszerzane przy użyciu zewnętrznych bibliotek programistycznych. Dzięki tym cechom platformy Splunk Enterprise deweloperzy mają praktycznie nieograniczone możliwości dostarczania użytkownikom zintegrowanych, kompletnych aplikacji realizujących potrzeby w zakresie wizualizacji, przetwarzania i analizy danych zgromadzonych w repozytoriach platformy Splunk Enterprise.

Pomimo bogatych możliwości platformy Splunk, mogą wystąpić sytuacje, że będziemy potrzebowali przetwarzać zgromadzone w niej dane w innych systemach informatycznych. Poniżej kilka przykładów.

  • Aplikacja biznesowa korzysta z wyników zapytań analitycznych na danych zgromadzonych w repozytorium Splunk.
  • Aplikacje mobilne prezentują użytkownikom wizualizacje wyników i zapytań analitycznych na danych pochodzących ze Splunk.
  • Użytkownicy wymagają dostępu do danych zgromadzonych w Splunk, ale zamiast niego chcą korzystać z innych dobrze im znanych narzędzi (np. Ms Excel).

Splunk posiada szereg narzędzi umożliwiających integrację z zewnętrznymi systemami informatycznymi. Najłatwiejszym w użyciu, a jednocześnie bardzo użytecznym narzędziem jest interfejs Splunk REST API.

W tym artykule opiszę podstawowe kroki, które umożliwią Wam dostęp do danych przy użyciu interfejsu Splunk REST API. W roli zewnętrznego systemu wystąpi aplikacja Google Sheets, do której zaimportujemy wyniki zapytania analitycznego wykonanego na danych zgromadzonych w Splunk.

Scenariusz

W Splunku został zaindeksowany zbiór danych. Chcemy umożliwić przetwarzanie tych danych w aplikacji Google Sheets tym użytkownikom, którzy nie mają dostępu do Splunka.

W tym celu napiszemy skrypt w języku Google Appps Script, który wykona zapytanie przy użyciu Splunk REST API, a jego wyniki umieści w arkuszu kalkulacyjnym Google Sheets.

Załóżmy, że utworzyliśmy już arkusz kalkulacyjny. Przechodzimy więc do edycji skryptu, klikamy „Narzędzia”, a następnie „Edytor skryptów”. W edytorze skryptów wpisujemy kod i uruchamiamy skrypt.

function getEventsFromSplunk() {
  // Ustaw hasło i login do Splunk'a
  var login = "admin";
  var pass = "tajnehaslo";
  
  // Zakoduj login i hasło w base64
  var cred_base64 = Utilities.base64Encode(login + ":" + pass);
  
  // Zdefiniuj zapytanie w Splunk'u
  // Z przykładowego zbioru danych zaindeksowanego w splunku zwróć
  // pola: _time, city, bedrooms, price
  var spl_query = "search sourcetype=csv NOT city=none | table _time, city, bedrooms, price ";
  
  // Zdefiniuj adres URL endpoint'a
  //    nazwa domenowa: spl1.test.com
  //    port: 8089
  //    endpoint do uruchamiania zadań w splunk'u: /services/search/jobs 
  var jobs_endpoint_url = "https://spl1.test.com:8089/services/search/jobs";
  
  // Ustaw opcje zapytania:
  //    typ uwierzytelnienia, poświadczenia
  //    wyłączenie weryfikacji certyfikatu SSL
  //    zapytanie SPL, tryb zapytania (oneshot), format wyniku (csv)
  var options = {
    "headers" : { "Authorization": "Basic " + cred_base64 },
    "validateHttpsCertificates": false,
    "payload": { "search" : spl_query, 
                 "exec_mode" : "oneshot", 
                 "output_mode" : "csv" }
  }
  
  // Wykonaj zapytanie przy użyciu Splunk Rest API
  var response = UrlFetchApp.fetch(jobs_endpoint_url, options);
  
  // Umieść wyniki zapytania w arkuszu Google Sheets
  var result = Utilities.parseCsv(response.getContentText());
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, result.length, result[0].length).setValues(result);
}

Przedstawiony wyżej kod połączy się przez HTTPS z usługą Splunk REST API dostępną na hoście spl1.test.com na porcie 8089 TCP. Następnie zostanie wykonane zapytanie SPL: search sourcetype=csv NOT city=none | table _time, city, bedrooms, price. Zwrócony wynik zostanie umieszczony w arkuszu kalkulacyjnym.

Przykładowy wynik:
Google Sheets pokazałem, jak w kilku prostych krokach zintegrować Splunk

Na przykładzie Google Sheets pokazałem, jak w kilku prostych krokach zintegrować Splunk z dowolną aplikacją używając w tym celu Splunk REST API. Zaprezentowałem tylko podstawowe możliwości tego potężnego narzędzia. Zachęcam Was do samodzielnej eksploracji. Poniżej znajdziecie linki do przydatnych materiałów z zakresu Splunk REST API.

REST API Tutorials

Splunk REST Api is easy to use

Tags

top