Splunk - Краткое руководство
Splunk - это программное обеспечение, которое обрабатывает и анализирует машинные данные и другие формы больших данных. Эти машинные данные генерируются центральным процессором, на котором запущен веб-сервер, устройствами IOT, журналами мобильных приложений и т. Д. Нет необходимости предоставлять эти данные конечным пользователям и не имеют никакого коммерческого значения. Однако они чрезвычайно важны для понимания, мониторинга и оптимизации производительности машин.
Splunk может читать эти неструктурированные, полуструктурированные или редко структурированные данные. После считывания данных он позволяет искать, маркировать, создавать отчеты и информационные панели по этим данным. С появлением больших данных Splunk теперь может принимать большие данные из различных источников, которые могут быть, а могут и не быть машинными данными, и выполнять аналитику больших данных.
Итак, из простого инструмента для анализа журналов Splunk прошел долгий путь, чтобы стать общим аналитическим инструментом для неструктурированных машинных данных и различных форм больших данных.
категории товаров
Splunk доступен в трех различных категориях продуктов:
Splunk Enterprise- Его используют компании, которые имеют крупную ИТ-инфраструктуру и бизнес, ориентированный на ИТ. Это помогает в сборе и анализе данных с веб-сайтов, приложений, устройств, датчиков и т. Д.
Splunk Cloud- Это облачная платформа с теми же функциями, что и корпоративная версия. Им можно воспользоваться в самом Splunk или через облачную платформу AWS.
Splunk Light- Он позволяет искать, составлять отчеты и предупреждать обо всех данных журнала в режиме реального времени из одного места. У него ограниченные функциональные возможности и возможности по сравнению с двумя другими версиями.
Splunk Особенности
В этом разделе мы обсудим важные особенности корпоративной версии -
Получение данных
Splunk может принимать различные форматы данных, такие как JSON, XML и неструктурированные машинные данные, такие как веб-журналы и журналы приложений. Неструктурированные данные могут быть смоделированы в структуру данных, если это необходимо пользователю.
Индексирование данных
Полученные данные индексируются Splunk для более быстрого поиска и запросов в различных условиях.
Поиск данных
Поиск в Splunk включает использование проиндексированных данных с целью создания показателей, прогнозирования будущих тенденций и выявления закономерностей в данных.
Использование предупреждений
Оповещения Splunk можно использовать для запуска электронных писем или RSS-каналов при обнаружении определенных критериев в анализируемых данных.
Дашборды
Splunk Dashboards может отображать результаты поиска в виде диаграмм, отчетов, сводок и т. Д.
Модель данных
Индексированные данные могут быть смоделированы в один или несколько наборов данных, основанных на специализированных знаниях предметной области. Это упрощает навигацию для конечных пользователей, которые анализируют бизнес-кейсы, не изучая технические особенности языка обработки поиска, используемого Splunk.
В этом руководстве мы будем стремиться установить корпоративную версию. Эта версия доступна для бесплатного ознакомления в течение 60 дней со всеми включенными функциями. Вы можете загрузить установку, используя приведенную ниже ссылку, которая доступна как для платформ Windows, так и для Linux.
https://www.splunk.com/en_us/download/splunk-enterprise.html.
Версия для Linux
Версия для Linux загружается по указанной выше ссылке. Мы выбираем тип пакета .deb, поскольку установка будет выполняться на платформе Ubuntu.
Мы научимся этому шаг за шагом -
Шаг 1
Загрузите пакет .deb, как показано на скриншоте ниже -
Шаг 2
Перейдите в каталог загрузки и установите Splunk, используя загруженный выше пакет.
Шаг 3
Затем вы можете запустить Splunk, используя следующую команду с аргументом accept license. Он запросит имя пользователя и пароль администратора, которые вы должны предоставить и запомнить.
Шаг 4
Сервер Splunk запускается и упоминает URL-адрес, по которому можно получить доступ к интерфейсу Splunk.
Шаг 5
Теперь вы можете получить доступ к URL-адресу Splunk и ввести идентификатор пользователя и пароль администратора, созданные на шаге 3.
Версия для Windows
Версия для Windows доступна как установщик msi, как показано на изображении ниже -
Двойной щелчок по установщику msi устанавливает версию Windows в простой процесс. Два важных шага, на которых мы должны сделать правильный выбор для успешной установки, заключаются в следующем.
Шаг 1
Поскольку мы устанавливаем его в локальной системе, выберите вариант локальной системы, как указано ниже -
Шаг 2
Введите пароль администратора и запомните его, так как он будет использоваться в будущих конфигурациях.
Шаг 3
На последнем этапе мы видим, что Splunk успешно установлен и его можно запускать из веб-браузера.
Шаг 4
Затем откройте браузер и введите указанный URL-адрес, http://localhost:8000и войдите в Splunk, используя ID пользователя и пароль администратора.
Веб-интерфейс Splunk состоит из всех инструментов, необходимых для поиска, составления отчетов и анализа полученных данных. Тот же веб-интерфейс предоставляет функции для администрирования пользователей и их ролей. Он также предоставляет ссылки для приема данных и встроенных приложений, доступных в Splunk.
На рисунке ниже показан начальный экран после входа в Splunk с учетными данными администратора.
Ссылка администратора
Раскрывающийся список «Администратор» дает возможность установить и отредактировать данные администратора. Мы можем сбросить идентификатор электронной почты администратора и пароль, используя экран ниже -
Далее от ссылки администратора мы также можем перейти к параметру настроек, где мы можем установить часовой пояс и домашнее приложение, в котором целевая страница будет открываться после вашего входа в систему. В настоящее время он открыт на домашней странице, как показано ниже -
Ссылка на настройки
Это ссылка, по которой показаны все основные функции, доступные в Splunk. Например, вы можете добавить файлы поиска и определения поиска, выбрав ссылку поиска.
Мы обсудим важные настройки этих ссылок в следующих главах.
Ссылка на поиск и отчетность
Ссылка на поиск и отчеты приводит нас к функциям, где мы можем найти наборы данных, доступные для поиска в отчетах и предупреждениях, созданных для этих поисков. Это ясно показано на скриншоте ниже -
Прием данных в Splunk происходит через Add Dataфункция, которая является частью приложения для поиска и создания отчетов. После входа в систему на главном экране интерфейса Splunk отображаетсяAdd Data значок, как показано ниже.
При нажатии на эту кнопку нам предоставляется экран для выбора источника и формата данных, которые мы планируем отправить в Splunk для анализа.
Сбор данных
Мы можем получить данные для анализа на официальном сайте Splunk. Сохраните этот файл и разархивируйте его на свой локальный диск. При открытии папки вы можете найти три файла разных форматов. Это данные журнала, созданные некоторыми веб-приложениями. Мы также можем собрать другой набор данных, предоставленных Splunk, который доступен на официальной веб-странице Splunk.
Мы будем использовать данные из обоих этих наборов для понимания работы различных функций Splunk.
Загрузка данных
Далее выбираем файл, secure.log из папки, mailsvкоторые мы сохранили в нашей локальной системе, как упоминалось в предыдущем абзаце. После выбора файла мы переходим к следующему шагу, используя зеленую кнопку «Далее» в правом верхнем углу.
Выбор типа источника
Splunk имеет встроенную функцию для определения типа загружаемых данных. Это также дает пользователю возможность выбрать тип данных, отличный от выбранного Splunk. Щелкнув раскрывающийся список типа источника, мы можем увидеть различные типы данных, которые Splunk может принимать и активировать для поиска.
В текущем примере, приведенном ниже, мы выбираем тип источника по умолчанию.
Настройки ввода
На этом этапе приема данных мы настраиваем имя хоста, с которого принимаются данные. Ниже приведены варианты выбора для имени хоста -
Постоянное значение
Это полное имя хоста, на котором находятся исходные данные.
регулярное выражение на пути
Если вы хотите извлечь имя хоста с помощью регулярного выражения. Затем введите регулярное выражение для хоста, который вы хотите извлечь, в поле «Регулярное выражение».
сегмент пути
Если вы хотите извлечь имя хоста из сегмента в пути к источнику данных, введите номер сегмента в поле Номер сегмента. Например, если путь к источнику - / var / log / и вы хотите, чтобы третий сегмент (имя хост-сервера) был значением хоста, введите «3».
Затем мы выбираем тип индекса, который будет создан для входных данных для поиска. Мы выбираем стратегию индексации по умолчанию. Сводный индекс только создает сводку данных посредством агрегирования и создает на нем индекс, в то время как индекс истории предназначен для хранения истории поиска. Это ясно показано на изображении ниже -
Проверить настройки
После нажатия на следующую кнопку мы видим сводку выбранных нами настроек. Мы просматриваем его и выбираем «Далее», чтобы завершить загрузку данных.
По завершении загрузки появляется экран ниже, который показывает успешный прием данных и дальнейшие возможные действия, которые мы можем предпринять с данными.
Все входящие в Splunk данные сначала оцениваются встроенным блоком обработки данных и классифицируются по определенным типам и категориям данных. Например, если это журнал с веб-сервера Apache, Splunk может распознать это и создать соответствующие поля из прочитанных данных.
Эта функция в Splunk называется определением типа источника, и для этого он использует встроенные типы источников, известные как «предварительно обученные» типы источников.
Это упрощает анализ, поскольку пользователю не нужно вручную классифицировать данные и назначать какие-либо типы данных полям входящих данных.
Поддерживаемые типы источников
Поддерживаемые типы источников в Splunk можно увидеть, загрузив файл через Add Data, а затем выберите раскрывающийся список для Типа источника. На изображении ниже мы загрузили файл CSV, а затем проверили все доступные параметры.
Подкатегория типа источника
Даже в этих категориях мы можем дополнительно щелкнуть, чтобы увидеть все поддерживаемые подкатегории. Поэтому, когда вы выбираете категорию базы данных, вы можете найти различные типы баз данных и поддерживаемые ими файлы, которые может распознать Splunk.
Предварительно обученные типы источников
В приведенной ниже таблице перечислены некоторые из важных предварительно обученных типов источников, которые распознает Splunk.
Название типа источника | Природа |
---|---|
access_combined | Журналы веб-сервера http в комбинированном формате NCSA (могут быть созданы apache или другими веб-серверами) |
access_combined_wcookie | Журналы веб-сервера http в комбинированном формате NCSA (могут быть созданы apache или другими веб-серверами) с добавлением поля cookie в конце |
apache_error | Стандартный журнал ошибок веб-сервера Apache |
linux_messages_syslog | Стандартный системный журнал linux (/ var / log / messages на большинстве платформ) |
log4j | Стандартный вывод Log4j, производимый любым сервером J2EE с использованием log4j |
mysqld_error | Стандартный журнал ошибок mysql |
Splunk имеет надежную функцию поиска, которая позволяет выполнять поиск по всему набору данных, которые были получены. Доступ к этой функции осуществляется через приложение с именемSearch & Reporting который можно увидеть на левой боковой панели после входа в веб-интерфейс.
При нажатии на search & Reporting app перед нами появляется окно поиска, в котором мы можем начать поиск по данным журнала, которые мы загрузили в предыдущей главе.
Мы вводим имя хоста в формате, показанном ниже, и щелкаем значок поиска в правом верхнем углу. Это дает нам результат, выделяющий поисковый запрос.
Объединение поисковых запросов
Мы можем комбинировать термины, используемые для поиска, записывая их один за другим, но помещая строки поиска пользователя в двойные кавычки.
Использование подстановочного знака
Мы можем использовать подстановочные знаки в нашей опции поиска в сочетании с AND/ORоператоры. В приведенном ниже поиске мы получаем результат, в котором в файле журнала есть термины, содержащие сбой, сбой, сбой и т. Д., А также термин пароль в той же строке.
Уточнение результатов поиска
Мы можем дополнительно уточнить результат поиска, выбрав строку и добавив ее в поиск. В приведенном ниже примере мы нажимаем на строку3351 и выберите вариант Add to Search.
После 3351добавляется к поисковому запросу, мы получаем результат ниже, который показывает только те строки из журнала, которые содержат 3351 в них. Также отметьте, как изменилась временная шкала результатов поиска по мере того, как мы уточняли поиск.
Когда Splunk считывает загруженные машинные данные, он интерпретирует данные и делит их на множество полей, которые представляют собой единый логический факт обо всей записи данных.
Например, одна запись информации может содержать имя сервера, временную метку события, тип регистрируемого события, будь то попытка входа в систему или HTTP-ответ и т. Д. Даже в случае неструктурированных данных Splunk пытается разделить поля на значения ключа. пары или разделить их на основе имеющихся у них типов данных, числовых и строковых и т. д.
Продолжая данные, загруженные в предыдущей главе, мы можем увидеть поля из secure.logфайл, щелкнув ссылку "Показать поля", после чего откроется следующий экран. Мы можем заметить поля, созданные Splunk из этого файла журнала.
Выбор полей
Мы можем выбрать, какие поля будут отображаться, выбрав или отменив выбор полей из списка всех полей. Нажав наall fieldsоткрывает окно со списком всех полей. Некоторые из этих полей имеют галочки напротив них, показывая, что они уже выбраны. Мы можем использовать флажки, чтобы выбрать поля для отображения.
Помимо имени поля, он отображает количество различных значений, которые имеют поля, его тип данных и какой процент событий это поле присутствует.
Резюме поля
Очень подробная статистика для каждого выбранного поля становится доступной, если щелкнуть название поля. Он показывает все отдельные значения для поля, их количество и их проценты.
Использование полей в поиске
Имена полей также могут быть вставлены в поле поиска вместе с конкретными значениями для поиска. В приведенном ниже примере мы стремимся найти все записи для даты 15 октября для хоста с именемmailsecure_log. Получаем результат именно на эту дату.
Веб-интерфейс Splunk отображает временную шкалу, которая показывает распределение событий по диапазону времени. Существуют предустановленные временные интервалы, из которых вы можете выбрать определенный временной диапазон, или вы можете настроить временной диапазон в соответствии с вашими потребностями.
На следующем экране показаны различные предустановленные параметры временной шкалы. При выборе любой из этих опций будут извлечены данные только за этот конкретный период времени, который вы также можете проанализировать в дальнейшем с помощью доступных опций настраиваемой временной шкалы.
Например, выбор варианта предыдущего месяца дает нам результат только за предыдущий месяц, как вы можете видеть на графике временной шкалы ниже.
Выбор подмножества времени
Щелкая и перетаскивая полосы на временной шкале, мы можем выбрать подмножество уже существующего результата. Это не вызывает повторного выполнения запроса. Он только отфильтровывает записи из существующего набора результатов.
На изображении ниже показан выбор подмножества из набора результатов -
Самый ранний и последний
Две команды, самая ранняя и самая последняя, можно использовать в строке поиска, чтобы указать временной диапазон, между которым вы отфильтровываете результаты. Это похоже на выбор подмножества времени, но это делается с помощью команд, а не с помощью щелчка на определенной полосе шкалы времени. Таким образом, он обеспечивает более точный контроль над диапазоном данных, который вы можете выбрать для анализа.
На изображении выше мы даем временной диапазон от последних 7 дней до последних 15 дней. Итак, данные между этими двумя днями отображаются.
События поблизости
Мы также можем найти ближайшие события определенного времени, указав, насколько близко мы хотим отфильтровать события. У нас есть возможность выбрать масштаб интервала, например, секунды, минуты, дни, недели и т. Д.
Когда вы запускаете поисковый запрос, результат сохраняется как задание на сервере Splunk. Хотя это задание было создано одним конкретным пользователем, оно может быть передано другим пользователям, чтобы они могли начать использовать этот набор результатов без необходимости повторного создания запроса для него. Результаты также можно экспортировать и сохранить в виде файлов, которыми можно поделиться с пользователями, не использующими Splunk.
Совместное использование результатов поиска
После успешного выполнения запроса мы можем увидеть небольшую стрелку вверх в центре правой части веб-страницы. Щелчок по этому значку дает URL-адрес, по которому можно получить доступ к запросу и результату. Необходимо предоставить разрешение пользователям, которые будут использовать эту ссылку. Разрешение предоставляется через административный интерфейс Splunk.
Поиск сохраненных результатов
Задания, сохраненные для использования всеми пользователями с соответствующими разрешениями, можно найти, выполнив поиск по ссылке заданий в меню действий на верхней правой панели интерфейса Splunk. На изображении ниже мы нажимаем на выделенную ссылку с именем вакансии, чтобы найти сохраненные вакансии.
После щелчка по указанной выше ссылке мы получаем список всех сохраненных заданий, как показано ниже. Он, мы должны отметить, что есть сообщение с датой истечения срока действия, где сохраненное задание будет автоматически удалено из Splunk. Вы можете настроить эту дату, выбрав задание и нажав Изменить выбранное, а затем выбрав Продлить срок действия.
Экспорт результата поиска
Мы также можем экспортировать результаты поиска в файл. Для экспорта доступны три различных формата: CSV, XML и JSON. При нажатии на кнопку «Экспорт» после выбора форматов файл загружается из локального браузера в локальную систему. Это объясняется на изображении ниже -
Splunk Search Processing Language (SPL) - это язык, содержащий множество команд, функций, аргументов и т. Д., Которые написаны для получения желаемых результатов из наборов данных. Например, когда вы получаете набор результатов для поискового запроса, вы можете дополнительно отфильтровать некоторые более конкретные термины из набора результатов. Для этого вам нужно добавить несколько дополнительных команд к существующей команде. Это достигается путем изучения использования SPL.
Компоненты SPL
SPL состоит из следующих компонентов.
Search Terms - Это ключевые слова или фразы, которые вы ищете.
Commands - Действие, которое вы хотите выполнить с набором результатов, например форматирование результата или их подсчет.
Functions- Какие вычисления вы собираетесь применить к результатам. Как Сумма, Среднее и т. Д.
Clauses - Как сгруппировать или переименовать поля в наборе результатов.
Давайте обсудим все компоненты с помощью изображений в следующем разделе -
Условия поиска
Это термины, которые вы указываете в строке поиска, чтобы получить определенные записи из набора данных, которые соответствуют критериям поиска. В приведенном ниже примере мы ищем записи, содержащие два выделенных термина.
Команды
Вы можете использовать множество встроенных команд, которые предоставляет SPL, чтобы упростить процесс анализа данных в наборе результатов. В приведенном ниже примере мы используем команду head, чтобы отфильтровать только 3 первых результата операции поиска.
Функции
Наряду с командами Splunk также предоставляет множество встроенных функций, которые могут принимать входные данные из анализируемого поля и выдавать выходные данные после применения вычислений в этом поле. В приведенном ниже примере мы используемStats avg() функция, которая вычисляет среднее значение числового поля, принимаемого на вход.
Статьи
Когда мы хотим получить результаты, сгруппированные по какому-либо конкретному полю, или мы хотим переименовать поле в выводе, мы используем group byпредложение и предложение as соответственно. В приведенном ниже примере мы получаем средний размер байтов каждого файла, присутствующего вweb_applicationжурнал. Как видите, результат показывает имя каждого файла, а также среднее количество байтов для каждого файла.