Едно от сечивата, които винаги са ми липсвали, като админ, е възможността за централизирано събиране, търсене и анализ на журналите от различните устройства. Явно, не съм бил единствен…..
Вчера, от немай къде ми се наложи да ровна из историята на няколко от суичовете в завода. Още на третия се оттегчих страхотно. То, не само това, ами търсенето беше почти невъзможно, защото журналите си стояха по устройствата. Повече от ясно, защото досега не ми е трябвало да правя нещо по тях (днес пък забелязах, че първият инсталиран в завода комутатор е с uptime 489 дни – какво повече да искаш от него!?). Конфигурирането на общ syslog не отне много време и резултатът не закъсня – за нула време се натрупаха около 500-600К в които с прост grep може да правиш, каквото ти душа иска.
Нещо обаче, не се изкефих. Добавих multitail за цвят…. ОК, нещата станаха шарени, доста по-добре се открояваха отделните елементи, но…. “ръчната” работа пак ми се видя много (log-ване, писане, параметри…. бля-яя!).
Реших да реализирам web базиран централизиран сървър – хем шарено, хем удобно, хем мързеливо! Накратко – точно за мен. Преди доста (вече) години в “Хеброс” бях правил нещо подобно. Имах, спомени че се беше получило добре, но за зла беда изобщо не можах да се сетя за името на приложението. AWstats, на пръв поглед ми се стори подходящо, но…. не беше това, което ми трябваше. Покрай многото четене на описанията на различни пакети (комерсиални и free), някъде мернах, че едно приложенията (даже не помня и кое беше) било съвместимо с около 10-тина различни системи за анализ и обработка на данни. Почнах ги наред, защото точно такава функционалност ми трябваше. Един от тези десетина пакета беше и splunk. Името звучеше, точно като че ли нещо солидно и тежко пада в тоалетната чиния, но аз съм свикнал на какви ли не имена в ИТ сектора, така че “сплунк” даже ми и хареса. В крайна сметка google си каза тежката дума – splunk> ще да е!
Въпросното приложение си заслужава да се види – просто бях сразен! Едно, че поддържа и работи върху AIX, OSX, Linux, FreeBSD, Solaris и Windows в добавка може да си реализираш цяла разпределена инфраструктура за анализ и обработка на резултатите от журналите и събитията. Думичката splunk се оказа, че е своеобразна алюзия на data mining (събиране и обработка на данни) и спелеология (spelunking). Нищо общо с тоалетните чинии (леко разочарование). Аве… шантава работа.
Поддържат се два лицензионни режима – free (с известни ограничения в обема и модулите) и enterprise. От това, което съм видял досега, като работа, free версията е повече от достатъчна. Ако се интересувате, от тази връзка може да видите разликите. На всичкото отгоре – приложението работи, като Enterprise в периода на тестване (40 дни), след което автоматично си преминава във free версията. Данните и конфигурациите от Enterprise-a се губят, затова, ако ще карате докрай въпросните 40 дни, четете внимателно особеностите на лиценза. Аз лично, предпочетох да го сменя на free още в самото начало (че после да не съжалявам). Да спомена само, че за да свалите, каквото и да било ви трябва регистрация (е, какво пък толкова?), която е и вход за форумът на общността.
В самото инсталиране няма никаква интрига – за Debian, едно вулгарно “dpkg -i splunk-4.0.6-70313-linux-2.6-intel.deb”. Доколкото успях да прочета – при останалите OS нещата са същите (прости). Даже нямаше и никакви претенции за зависимости – просто се инсталира и тръгна без проблем. Конфигуриране? Скука! По подразбиране се обхожда и събира всичко в /var/log. Оттам нататък всичко е едно цъкане по връзките. Интерфейсът доста ме впечатли – изключително добре написана Java с краен резултат Flash (отзад стоят до колкото успях да разгледам доста Pyton скриптове и много bin файлове). Знам, че комбинацията от двете не е типична за админски чук, но повярвайте (‘кво да ми вярвайте, вижте филмчетата тук), тук шаренията и анимацията някак си е точно на място. Идеята на пакета е, че той е модулен – стартираш и инсталираш точно това парче (по терминологията им: “приложение”, “app”), което ти трябва. Нищо оригинално, като идея, но доста добре реализирано и работещо перфектно. Споменах ли, че поддържа и WMI? Който знае, какво е WMI (подсказка: Windows Management Instrumentation), особено ако е с по-богато въображение знае добре, че тук просто няма граници в данните, които могат да се съберат и анализират. Естествено, поддържат се и външни (собствени) скриптове, т.е. нещата наистина започват да се събират в точка, някъде в безкрайността.
Утре (или по-нататък) мисля да проверя, как се държи пакета върху останалите ОС, които се навъдиха в мрежата – Solaris 10, Windows (че за къде без него!) и с разните му там Cisco железа. Все пак основната идеята е в разпределеността и работата в хетерогенна среда.
Все пак да предупредя: приложението е ненаситно на CPU ресурси, особено когато се индексират журналите. Дискът също направо замириса – то няма и как другояче, просто обемите трябва да се изчетат. Нищо ново под слънцето: за сериозна работа, трябват сериозни машини (с “Лада” нива не се оре, требе си трактор!).