Splunk - Hızlı Kılavuz

Splunk, makine verilerini ve diğer büyük veri formlarını işleyen ve bunlardan içgörü ortaya çıkaran bir yazılımdır. Bu makine verileri, bir web sunucusu, IOT cihazları, mobil uygulamalardan günlükler, vb. Çalıştıran CPU tarafından oluşturulur. Bu verilerin son kullanıcılara sağlanması gerekli değildir ve herhangi bir ticari anlamı yoktur. Ancak, makinelerin performansını anlamak, izlemek ve optimize etmek son derece önemlidir.

Splunk bu yapılandırılmamış, yarı yapılandırılmış veya nadiren yapılandırılmış verileri okuyabilir. Verileri okuduktan sonra, bu veriler üzerinde arama, etiketleme, rapor ve gösterge tabloları oluşturmaya izin verir. Büyük verinin ortaya çıkmasıyla birlikte, Splunk artık çeşitli kaynaklardan büyük verileri alabiliyor, bunlar makine verisi olabilir veya olmayabilir ve büyük veri üzerinde analitik çalıştırabilir.

Dolayısıyla, günlük analizi için basit bir araç olan Splunk, yapılandırılmamış makine verileri ve çeşitli büyük veri biçimleri için genel bir analitik araç haline gelmek için uzun bir yol kat etti.

ürün kategorileri

Splunk aşağıdaki gibi üç farklı ürün kategorisinde mevcuttur -

  • Splunk Enterprise- Büyük BT altyapısına ve BT odaklı işlere sahip şirketler tarafından kullanılır. Web sitelerinden, uygulamalardan, cihazlardan ve sensörlerden vb. Verilerin toplanmasına ve analiz edilmesine yardımcı olur.

  • Splunk Cloud- Kurumsal sürümle aynı özelliklere sahip, bulutta barındırılan platformdur. Splunk'tan veya AWS bulut platformundan yararlanılabilir.

  • Splunk Light- Tek bir yerden gerçek zamanlı olarak tüm günlük verilerinin aranmasına, raporlanmasına ve uyarılmasına olanak tanır. Diğer iki versiyona kıyasla sınırlı işlevsellik ve özelliklere sahiptir.

Splunk Özellikleri

Bu bölümde, kurumsal sürümün önemli özelliklerini tartışacağız -

Veri Alımı

Splunk, JSON, XML gibi çeşitli veri formatlarını ve web ve uygulama günlükleri gibi yapılandırılmamış makine verilerini alabilir. Yapılandırılmamış veriler, kullanıcı tarafından ihtiyaç duyulduğunda bir veri yapısına modellenebilir.

Veri İndeksleme

Alınan veriler, farklı koşullarda daha hızlı arama ve sorgulama için Splunk tarafından endekslenir.

Veri Arama

Splunk'ta arama, metrikler oluşturmak, gelecekteki eğilimleri tahmin etmek ve verilerdeki kalıpları belirlemek amacıyla indekslenmiş verileri kullanmayı içerir.

Uyarıları Kullanma

Splunk uyarıları, analiz edilen verilerde bazı belirli kriterler bulunduğunda e-postaları veya RSS beslemelerini tetiklemek için kullanılabilir.

Gösterge tabloları

Splunk Dashboards, arama sonuçlarını grafikler, raporlar ve pivotlar, vb. Şeklinde gösterebilir.

Veri örneği

İndekslenmiş veriler, özel alan bilgisine dayanan bir veya daha fazla veri seti halinde modellenebilir. Bu, Splunk tarafından kullanılan arama işleme dilinin teknik özelliklerini öğrenmeden iş vakalarını analiz eden son kullanıcılar tarafından daha kolay gezinmeye yol açar.

Bu eğitimde, kurumsal sürümü kurmayı hedefleyeceğiz. Bu sürüm, tüm özelliklerin etkinleştirildiği 60 gün boyunca ücretsiz bir değerlendirme için mevcuttur. Kurulumu, hem Windows hem de Linux platformları için mevcut olan aşağıdaki bağlantıyı kullanarak indirebilirsiniz.

https://www.splunk.com/en_us/download/splunk-enterprise.html.

Linux Sürümü

Linux sürümü, yukarıda verilen indirme bağlantısından indirilir. Kurulum Ubuntu platformunda yapılacağından .deb paket tipini seçiyoruz.

Bunu adım adım bir yaklaşımla öğreneceğiz -

Aşama 1

Aşağıdaki ekran görüntüsünde gösterildiği gibi .deb paketini indirin -

Adım 2

İndirme dizinine gidin ve yukarıda indirilen paketi kullanarak Splunk'u kurun.

Aşama 3

Daha sonra, aşağıdaki komutu ve kabul lisansı argümanını kullanarak Splunk'ı başlatabilirsiniz. Girmeniz ve hatırlamanız gereken yönetici kullanıcı adı ve şifresini soracaktır.

4. adım

Splunk sunucusu başlar ve Splunk arayüzüne erişilebilen URL'den bahseder.

Adım 5

Artık Splunk URL'sine erişebilir ve 3. adımda oluşturulan yönetici kullanıcı kimliğini ve şifresini girebilirsiniz.

Windows Sürümü

Windows sürümü, aşağıdaki resimde gösterildiği gibi bir msi yükleyici olarak mevcuttur -

MSI yükleyicisine çift tıklamak, Windows sürümünü basit bir işlemle yükler. Başarılı bir kurulum için doğru seçimi yapmamız gereken iki önemli adım aşağıdaki gibidir.

Aşama 1

Yerel bir sisteme kurarken, aşağıda verilen yerel sistem seçeneğini seçin -

Adım 2

Yönetici parolasını girin ve gelecekteki yapılandırmalarda kullanılacağı için hatırlayın.

Aşama 3

Son adımda Splunk'ın başarıyla kurulduğunu ve web tarayıcısından başlatılabileceğini görüyoruz.

4. adım

Ardından, tarayıcıyı açın ve verilen url'yi girin, http://localhost:8000ve yönetici kullanıcı kimliği ve parolasını kullanarak Splunk'ta oturum açın.

Splunk web arayüzü, alınan verileri aramak, raporlamak ve analiz etmek için ihtiyacınız olan tüm araçları içerir. Aynı web arayüzü, kullanıcıları ve rollerini yönetmek için özellikler sağlar. Ayrıca veri alımı ve Splunk'ta bulunan yerleşik uygulamalar için bağlantılar sağlar.

Aşağıdaki resim, yönetici kimlik bilgileriyle Splunk'a giriş yaptıktan sonra ilk ekranı göstermektedir.

Yönetici Bağlantısı

Yönetici açılır menüsü, yöneticinin ayrıntılarını ayarlama ve düzenleme seçeneği sunar. Aşağıdaki ekranı kullanarak yönetici e-posta kimliğini ve şifresini sıfırlayabiliriz -

Yönetici bağlantısından ayrıca, oturum açmanızdan sonra açılış sayfasının açılacağı saat dilimini ve ana uygulamayı ayarlayabileceğimiz tercihler seçeneğine de gidebiliriz. Şu anda, aşağıda gösterildiği gibi Ana sayfada açılmıştır -

Ayarlar Bağlantısı

Bu, Splunk'ta bulunan tüm temel özellikleri gösteren bir bağlantıdır. Örneğin, arama bağlantısını seçerek arama dosyalarını ve arama tanımlarını ekleyebilirsiniz.

Sonraki bölümlerde bu bağlantıların önemli ayarlarını tartışacağız.

Arama ve Raporlama Bağlantısı

Arama ve raporlama bağlantısı, bizi bu aramalar için oluşturulan raporları ve uyarıları aramak için mevcut olan veri setlerini bulabileceğimiz özelliklere götürür. Aşağıdaki ekran görüntüsünde açıkça gösterilmiştir -

Splunk'ta veri alımı, Add Dataarama ve raporlama uygulamasının bir parçası olan özellik. Oturum açtıktan sonra, Splunk arayüzü ana ekranı şunu gösterir:Add Data simgesi aşağıda gösterildiği gibi.

Bu butona tıklandığında, analiz için Splunk'a göndermeyi planladığımız verilerin kaynağını ve formatını seçmemiz için ekran karşımıza çıkıyor.

Verilerin Toplanması

Splunk Resmi Web Sitesinden analiz için verileri alabiliriz. Bu dosyayı kaydedin ve yerel sürücünüze açın. Klasörü açtığınızda, farklı formatlara sahip üç dosya bulabilirsiniz. Bazı web uygulamaları tarafından oluşturulan günlük verileridir. Ayrıca, Splunk tarafından sağlanan ve Resmi Splunk web sayfasında bulunan başka bir veri kümesini de toplayabiliriz.

Splunk'ın çeşitli özelliklerinin çalışmasını anlamak için bu iki setten gelen verileri kullanacağız.

Veriler yükleniyor

Ardından dosyayı seçiyoruz, secure.log klasörden mailsvönceki paragrafta belirtildiği gibi yerel sistemimizde tuttuğumuz. Dosyayı seçtikten sonra sağ üst köşedeki yeşil renkli sonraki butonunu kullanarak bir sonraki adıma geçiyoruz.

Kaynak Türünü Seçme

Splunk, alınan verilerin türünü algılamak için yerleşik bir özelliğe sahiptir. Ayrıca, kullanıcıya Splunk tarafından seçilenlerden farklı bir veri türü seçme seçeneği sunar. Kaynak türü açılır menüsünü tıkladığınızda, Splunk'ın alabileceği ve arama için etkinleştirebileceği çeşitli veri türlerini görebiliriz.

Aşağıda verilen mevcut örnekte, varsayılan kaynak türünü seçiyoruz.

Giriş ayarları

Veri alımının bu adımında, verilerin beslendiği ana bilgisayar adını yapılandırıyoruz. Ana bilgisayar adı için seçim yapabileceğiniz seçenekler şunlardır -

Sabit değer

Kaynak verilerin bulunduğu tam ana bilgisayar adıdır.

yoldaki normal ifade

Ana bilgisayar adını bir normal ifadeyle çıkarmak istediğinizde. Ardından, Normal ifade alanına ayıklamak istediğiniz ana bilgisayar için normal ifadeyi girin.

yoldaki segment

Veri kaynağınızın yolundaki bir segmentten ana bilgisayar adını çıkarmak istediğinizde, segment numarasını Segment numarası alanına girin. Örneğin, kaynağın yolu / var / log / ise ve üçüncü segmentin (ana sunucu adı) ana bilgisayar değeri olmasını istiyorsanız, "3" girin.

Ardından, arama için giriş verilerinde oluşturulacak indeks tipini seçiyoruz. Varsayılan indeks stratejisini seçiyoruz. Özet indeksi, yalnızca toplama yoluyla verilerin özetini oluşturur ve geçmiş indeksi arama geçmişini depolamak için iken bunun üzerinde indeks oluşturur. Aşağıdaki resimde açıkça tasvir edilmiştir -

Ayarları İncele

Bir sonraki butona tıkladıktan sonra, seçtiğimiz ayarların bir özetini görüyoruz. İnceliyoruz ve verilerin yüklenmesini tamamlamak için İleri'yi seçiyoruz.

Yükleme tamamlandığında, başarılı veri alımını ve veriler üzerinde yapabileceğimiz diğer olası eylemleri gösteren aşağıdaki ekran görünür.

Splunk'a gelen tüm veriler ilk olarak dahili veri işleme birimi tarafından değerlendirilir ve belirli veri türleri ve kategorilerine göre sınıflandırılır. Örneğin, apache web sunucusundan bir günlük ise, Splunk bunu tanıyabilir ve okunan verilerden uygun alanlar oluşturabilir.

Splunk'taki bu özelliğe kaynak türü algılama adı verilir ve bunu başarmak için "önceden eğitilmiş" kaynak türleri olarak bilinen yerleşik kaynak türlerini kullanır.

Bu, kullanıcının verileri manuel olarak sınıflandırması ve gelen verilerin alanlarına herhangi bir veri türü ataması gerekmediğinden analiz için işleri kolaylaştırır.

Desteklenen Kaynak Türleri

Splunk'ta desteklenen kaynak türleri, bir dosya yükleyerek görülebilir. Add Dataözelliği ve ardından Kaynak Türü için açılır menüyü seçin. Aşağıdaki resimde, bir CSV dosyası yükledik ve ardından mevcut tüm seçenekleri kontrol ettik.

Kaynak Tipi Alt Kategorisi

Bu kategorilerde bile, desteklenen tüm alt kategorileri görmek için daha fazla tıklayabiliriz. Dolayısıyla, veritabanı kategorisini seçtiğinizde, Splunk'ın tanıyabileceği farklı veritabanı türlerini ve desteklenen dosyalarını bulabilirsiniz.

Önceden Eğitilmiş Kaynak Türleri

Aşağıdaki tablo, Splunk'ın tanıdığı bazı önemli önceden eğitilmiş kaynak türlerini listeler -

Kaynak Türü Adı Doğa
access_combined NCSA kombine formatlı http web sunucusu günlükleri (apache veya diğer web sunucuları tarafından oluşturulabilir)
access_combined_wcookie NCSA birleşik format http web sunucusu günlükleri (apache veya diğer web sunucuları tarafından oluşturulabilir), sonuna çerez alanı eklenmiştir
apache_error Standart Apache web sunucusu hata günlüğü
linux_messages_syslog Standart linux syslog (çoğu platformda / var / log / messages)
log4j Log4j kullanan herhangi bir J2EE sunucusu tarafından üretilen Log4j standart çıkışı
mysqld_error Standart mysql hata günlüğü

Splunk, beslenen tüm veri kümesini aramanızı sağlayan güçlü bir arama işlevine sahiptir. Bu özelliğe, adlı uygulama aracılığıyla erişilir.Search & Reporting bu, web arayüzünde oturum açtıktan sonra sol taraftaki çubukta görülebilir.

Tıklandığında search & Reporting uygulamasında, önceki bölümde yüklediğimiz günlük verileri üzerinde aramaya başlayabileceğimiz bir arama kutusu karşımıza çıkıyor.

Ana bilgisayar adını aşağıda gösterilen biçimde yazıyoruz ve en sağ köşede bulunan arama simgesine tıklıyoruz. Bu bize arama terimini vurgulayan sonucu verir.

Arama Terimlerini Birleştirme

Aramada kullanılan terimleri birbiri ardına yazarak ancak kullanıcı arama dizelerini çift tırnak içine alarak birleştirebiliriz.

Wild Card Kullanımı

Arama seçeneğimizde joker karakterler ile birlikte AND/ORoperatörler. Aşağıdaki aramada, log dosyasının başarısız, başarısız, başarısız vb. İçeren terimlerin yanı sıra aynı satırda parola terimine sahip olduğu sonucu alıyoruz.

Arama Sonuçlarını İyileştirme

Bir dize seçip aramaya ekleyerek arama sonucunu daha da hassaslaştırabiliriz. Aşağıdaki örnekte, dizeyi tıklıyoruz3351 ve seçeneği seçin Add to Search.

Sonra 3351arama terimine eklendiğinde, günlükten sadece içlerinde 3351 bulunan satırları gösteren aşağıdaki sonucu alırız. Ayrıca, aramayı geliştirdikçe arama sonucunun zaman çizgisinin nasıl değiştiğini de işaretleyin.

Splunk yüklenen makine verilerini okuduğunda, verileri yorumlar ve tüm veri kaydı hakkında tek bir mantıksal gerçeği temsil eden birçok alana böler.

Örneğin, tek bir bilgi kaydı sunucu adını, olayın zaman damgasını, oturum açma girişimi veya bir http yanıtı olsun, günlüğe kaydedilen olayın türünü içerebilir. Yapılandırılmamış veriler durumunda bile, Splunk alanları anahtar değerine bölmeye çalışır. bunları sahip oldukları veri türleri, sayısal ve dize, vb. temelinde çiftler veya ayırır.

Önceki bölümde yüklenen verilerle devam ettiğimizde, alanlardan alanları görebiliriz. secure.logAşağıdaki ekranı açacak olan alanları göster bağlantısına tıklayarak dosyasını açın. Splunk'ın bu günlük dosyasından oluşturduğu alanları görebiliriz.

Alanları Seçmek

Tüm alanlar listesinden alanları seçerek veya seçimini kaldırarak hangi alanların görüntüleneceğini seçebiliriz. Üzerine tıklamakall fieldstüm alanların listesini gösteren bir pencere açar. Bu alanlardan bazılarının karşısına, zaten seçildiklerini gösteren onay işaretleri vardır. Alanlarımızı görüntülemek için onay kutularını kullanabiliriz.

Alanın adının yanı sıra, alanların sahip olduğu farklı değerlerin sayısını, veri türünü ve bu alanın içinde bulunduğu olayların yüzdesini görüntüler.

Alan Özeti

Alanın adına tıklanarak seçilen her alan için çok ayrıntılı istatistikler kullanılabilir hale gelir. Alan için tüm farklı değerleri, sayılarını ve yüzdelerini gösterir.

Aramada Alanları Kullanma

Alan adları, arama için belirli değerlerle birlikte arama kutusuna da eklenebilir. Aşağıdaki örnekte, adı verilen ana bilgisayar için 15 Ekim tarihine ait tüm kayıtları bulmayı hedefliyoruz.mailsecure_log. Bu belirli tarih için sonucu alıyoruz.

Splunk web arayüzü, olayların belirli bir zaman aralığındaki dağılımını gösteren zaman çizelgesini görüntüler. Belirli bir zaman aralığı seçebileceğiniz önceden ayarlanmış zaman aralıkları vardır veya zaman aralığını ihtiyacınıza göre özelleştirebilirsiniz.

Aşağıdaki ekran, çeşitli önceden ayarlanmış zaman çizelgesi seçeneklerini gösterir. Bu seçeneklerden herhangi birinin seçilmesi, yalnızca mevcut özel zaman çizelgesi seçeneklerini kullanarak daha fazla analiz edebileceğiniz belirli bir zaman aralığı için verileri getirecektir.

Örneğin, aşağıdaki zaman çizelgesi grafiğinin yayılmasını görebileceğiniz için önceki ay seçeneğini seçmek bize yalnızca önceki ayın sonucunu verir.

Bir Zaman Alt Kümesi Seçme

Zaman çizelgesindeki çubuklara tıklayıp sürükleyerek, halihazırda var olan sonucun bir alt kümesini seçebiliriz. Bu, sorgunun yeniden yürütülmesine neden olmaz. Yalnızca mevcut sonuç kümesindeki kayıtları filtreler.

Aşağıdaki resim, sonuç kümesinden bir alt kümenin seçimini göstermektedir -

En Erken ve En Son

En erken ve en son olan iki komut, sonuçları filtrelediğiniz zaman aralığını belirtmek için arama çubuğunda kullanılabilir. Zaman alt kümesini seçmeye benzer, ancak belirli bir zaman çizgisi çubuğuna tıklama seçeneği yerine komutlar aracılığıyladır. Böylece, analiziniz için seçebileceğiniz bu veri aralığı üzerinde daha hassas bir kontrol sağlar.

Yukarıdaki görselde son 7 günden son 15 güne kadar bir zaman aralığı veriyoruz. Böylece, bu iki gün arasındaki veriler görüntülenir.

Yakındaki Etkinlikler

Etkinliklerin ne kadar yakından filtrelenmesini istediğimizi belirterek belirli bir zamana ait yakın etkinlikleri de bulabiliriz. Saniyeler, dakikalar, günler ve hafta gibi aralık ölçeğini seçme seçeneğimiz var.

Bir arama sorgusu çalıştırdığınızda, sonuç Splunk sunucusunda bir iş olarak saklanır. Bu iş belirli bir kullanıcı tarafından oluşturulurken, diğer kullanıcılarla paylaşılabilir, böylece sorgu için tekrar oluşturulmasına gerek kalmadan bu sonuç kümesini kullanmaya başlayabilirler. Sonuçlar ayrıca Splunk kullanmayan kullanıcılarla paylaşılabilecek dosyalar olarak dışa aktarılabilir ve kaydedilebilir.

Arama Sonucunu Paylaşmak

Bir sorgu başarılı bir şekilde çalıştırıldığında, web sayfasının sağ ortasında küçük bir yukarı ok görebiliriz. Bu simgeye tıklamak, sorguya ve sonuca erişilebilecek bir URL verir. Bu bağlantıyı kullanacak olan kullanıcılara izin verilmesi gerekmektedir. İzin, Splunk yönetim arabirimi aracılığıyla verilir.

Kaydedilen Sonuçları Bulma

Uygun izinlere sahip tüm kullanıcılar tarafından kullanılmak üzere kaydedilen işler, Splunk arayüzünün sağ üst çubuğundaki aktivite menüsü altındaki işler bağlantısına bakılarak bulunabilir. Aşağıdaki görselde, kaydedilen işleri bulmak için işaretlenmiş işler adlı bağlantıya tıklıyoruz.

Yukarıdaki bağlantıya tıklandıktan sonra aşağıda gösterildiği gibi kaydedilen tüm işlerin listesini alıyoruz. O, kaydedilen işin Splunk'tan otomatik olarak kaldırılacağı bir son kullanma tarihi postası olduğunu not etmeliyiz. İşi seçip Seçileni Düzenle'ye tıklayarak ve ardından Süre Sonunu Uzat'ı seçerek bu tarihi ayarlayabilirsiniz.

Arama Sonucunu Dışa Aktarma

Bir aramanın sonuçlarını bir dosyaya da aktarabiliriz. Dışa aktarılabilecek üç farklı format şunlardır: CSV, XML ve JSON. Biçimleri seçtikten sonra Dışa Aktar düğmesine tıklamak, dosyayı yerel tarayıcıdan yerel sisteme indirir. Bu, aşağıdaki resimde açıklanmıştır -

Splunk Search Processing Language (SPL), veri kümelerinden istenen sonuçları almak için yazılan birçok komut, işlev, argüman vb. İçeren bir dildir. Örneğin, bir arama terimi için bir sonuç kümesi aldığınızda, sonuç kümesinden bazı daha belirli terimleri de filtrelemek isteyebilirsiniz. Bunun için mevcut komuta eklenecek bazı ek komutlara ihtiyacınız var. Bu, SPL kullanımını öğrenerek elde edilir.

SPL bileşenleri

SPL aşağıdaki bileşenlere sahiptir.

  • Search Terms - Bunlar aradığınız anahtar kelimeler veya kelime öbekleridir.

  • Commands - Sonucu biçimlendirme veya sayma gibi sonuç kümesinde yapmak istediğiniz eylem.

  • Functions- Sonuçlara uygulayacağınız hesaplamalar nelerdir? Toplam, Ortalama vb.

  • Clauses - Sonuç kümesindeki alanlar nasıl gruplanır veya yeniden adlandırılır.

Aşağıdaki bölümdeki görseller yardımıyla tüm bileşenleri tartışalım -

Arama Terimleri

Bunlar, veri kümesinden arama kriterlerini karşılayan belirli kayıtları almak için arama çubuğunda bahsettiğiniz terimlerdir. Aşağıdaki örnekte, vurgulanan iki terim içeren kayıtları arıyoruz.

Komutlar

Sonuç kümesindeki verileri analiz etme sürecini basitleştirmek için SPL'nin sağladığı birçok yerleşik komutu kullanabilirsiniz. Aşağıdaki örnekte, bir arama işleminden yalnızca ilk 3 sonucu filtrelemek için head komutunu kullanıyoruz.

Fonksiyonlar

Splunk, komutların yanı sıra, analiz edilen bir alandan girdi alabilen ve bu alana hesaplamaları uyguladıktan sonra çıktı veren birçok yerleşik işlev de sağlar. Aşağıdaki örnekte,Stats avg() girdi olarak alınan sayısal alanın ortalama değerini hesaplayan işlev.

Maddeleri

Belirli bir alana göre gruplanmış sonuçlar almak istediğimizde veya çıktıdaki bir alanı yeniden adlandırmak istediğimizde, group bysırasıyla yan tümce ve as yan tümcesi. Aşağıdaki örnekte, içinde bulunan her dosyanın ortalama bayt boyutunu alıyoruz.web_applicationgünlük. Gördüğünüz gibi, sonuç her dosyanın adını ve her dosyanın ortalama baytını gösterir.