Сценарный Ввод Splunk. Или Как С Помощью Скриптов Получать Данные О Производительности Системы И Анализировать Их В Splunk

Раньше мы написал , как загружать журналы в Splunk из каталога или с помощью системного журнала, сказал как собирать стандартные события Windows и Linux, но что делать, если нам нужно получить более детальную информацию о работе наших систем? В этом случае на помощь приходят скрипты!

Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

Когда, какие и как скрипты можно использовать в Splunk для получения данных — вы можете узнать под катом.



Типичные случаи использования

Скрипты часто используются в случаях, когда:
  • Требуется доступ к информации не пишется в журнал ;
  • Нам нужно данные, генерируемые через командную строку , например, с помощью vmstat или iostat;
  • Нас требуются конкретные данные или результаты баз данных, веб-сервисов или API;
  • Потребности в данных в предварительной обработке для упрощения анализа событий и полей;
  • Источники данных с медленными и ресурсоемкие процедуры запуска ;
  • И так далее.

Для скрипта вы можете установить интервал , с помощью которого он будет воспроизводить и передавать данные в Splunk. Можно использовать как скрипты сценарии оболочки, сценарии Python, пакетные файлы Windows, PowerShell или любые другие утилиты, которые могут генерировать и передавать данные.



Пример

В рамках статьи мы рассмотрим пример загрузки данных с помощью скрипта.

Допустим, у нас есть файловый сервер и каталог, размер которого нам по каким-то причинам необходимо отслеживать, а также мы хотим, чтобы он не превышал пороговое значение (для теста 45 МБ).

Напишем скрипт, который будет подсчитывать размер этого каталога с интервалом в 30 секунд, а также создадим оповещение, которое будет уведомлять нас в случае превышения порогового значения.

Мы прочитаем размер папки с помощью скрипта ниже, который выведет метку времени, путь к папке и ее размер в байтах.

  
   

import os import time from datetime import datetime dir_path="http:///for_script" def get_size(start_path = '.

'): total_size = 0 for dirpath, dirnames, filenames in os.walk(start_path): for f in filenames: fp = os.path.join(dirpath, f) total_size += os.path.getsize(fp) return total_size time_of_event=datetime.strftime(datetime.now(), "%Y.%m.%d %H:%M:%S") print time_of_event, dir_path, get_size(dir_path)

Подробнее о загрузке данных из удаленных источников мы говорили в предыдущих статьях ( здесь И здесь ).

Итак, давайте сейчас кратко обсудим это.

Нам нужно: • Удаленная машина, на которой Универсальный сервер пересылки Splunk • Splunk-индексатор, на котором создаем приложение отправка в индексатор , переместите его в приложения для развертывания и настроить Управление экспедитором т. е.

Также в индексаторе Splunk давайте создадим приложение Monitor_scripts, переместите его в папку приложения для развертывания .

Создайте папку в приложении местный и в нем есть файл inputs.conf со следующим содержанием:

[ script://.

/bin/scripts/foldersize.py ] disabled = false index = test_script interval = 30.0 sourcetype = test_script

Туда же добавляем наш скрипт в директорию /бин Перезагрузите сервер развертывания.



.

/splunk/bin/splunk reload deploy-server

И.

мы получаем данные!

Обработка данных и создание оповещений

Splunk автоматически выбрал временную метку, но остальная информация осталась в виде необработанных данных, поэтому необходимо выделить поля (О том, как это сделать, мы писали).

в предыдущей статье ) В данном случае мы выбрали 2 поля: путь к папке (folder_path) и размер (size) Размер папки представлен в байтах, переведем это число в МБ.

(Это также можно сделать в скрипте, но мы покажем вам, как это сделать в Splunk) Создайте новое вычисляемое поле (Настройки – Поля – Вычисляемые поля – Новое) Указываем тип источника наших данных, имя нового поля и выражение для расчета.

Теперь это вычисляемое поле будет добавлено к данным с указанным типом источника.



Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

Мы получили все интересующие нас поля, давайте давайте составим график , который покажет динамику изменения размера папки и достигает ли он порогового значения.



Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

Создаем оповещение.

Позвольте Splunk отправить нам электронное письмо, когда размер папки превысит 45 МБ.

Подробнее о том, как отправить оповещение по электронной почте, мы писали.

здесь , а в Slack – здесь .

Оповещение будет основано на новом запросе, чтобы поля из запроса можно было вставлять в сообщения.



Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

Сохраняем запрос как оповещение и указываем его условия:

Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk



Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

И получаем письмо:

Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

В настройках оповещения мы установили, что если размер папки не уменьшится в течение 15 минут, оповещение придет снова.



Заключение

На этом простом примере мы показали принцип загрузки данных в Splunk посредством скриптов.

Вы можете создать скрипт, который решит вашу задачу: загрузите необходимую информацию в Splunk и быстро получите результат. Надеемся, что эта информация будет вам полезна.

Мы будем рады ответить на все ваши вопросы и комментарии по этой теме.

Также, если вас интересует что-то конкретно в этой области, или в области анализа машинных данных в целом, мы готовы доработать под вас существующие решения, под вашу конкретную задачу.

Для этого вы можете написать об этом в комментариях или просто отправить нам запрос через форму на нашем сайте.

Веб-сайт .



Сценарный ввод Splunk. Или как с помощью скриптов получать данные о производительности системы и анализировать их в Splunk

Теги: #ИТ-инфраструктура #Системное администрирование #Администрирование сервера #Большие данные #splunk #оповещение #журналы #скрипт #загрузка данных #машинные данные

Вместе с данным постом часто просматривают: