Как передать «временный» запрос разрозненным предприятиям с помощью Splunk-Python SDK? - PullRequest
2 голосов
/ 07 марта 2019

Я пытаюсь передать запрос из Python (eclipse IDE) для извлечения данных из определенной панели мониторинга на предприятиях SPLUNK.Я могу распечатать данные на своей консоли, пройдя необходимые запросы, но не могу извлечь данные за определенный промежуток времени (например, если мне нужны данные за 1 час, 1 день, 1 неделю или 1 месяц)

Я пробовал такие команды, как 'самые ранние', 'последние' вместе с моим запросом, но каждый раз выдает ошибку, сообщающую "повышение HTTPError (ответ) splunklib.binding.HTTPError: HTTP 400 Bad Request -Фабрика поиска: Неизвестная команда поиска 'Самый ранний' '

Вот мой код

import splunklib.client as client
import splunklib.results as results


HOST = "my hostname"
PORT = 8089
USERNAME = "my username"
PASSWORD = "my password"
service = client.connect(
host=HOST,
port=PORT, 
username=USERNAME,
password=PASSWORD)
rr = results.ResultsReader(service.jobs.export("search index=ccmjimmie | stats count(eval(resCode!=00200)) AS errored | chart sum(errored)|earliest=-1d"))

for result in rr:
    if isinstance(result, results.Message):
    # Diagnostic messages might be returned in the results
        print(result.type, result.message)
    elif isinstance(result, dict):
    # Normal events are returned as dicts
        print (result)
assert rr.is_preview == False

Вывод, который я получаю без использования запроса времени

OrderedDict([('sum(errored)', '1566')])
OrderedDict([('sum(errored)', '4404')])
OrderedDict([('sum(errored)', '6655')])
OrderedDict([('sum(errored)', '8992')])
etc...

Этот результат соответствует ожидаемому, но не ограничен временем.Я хочу тот же вывод, но для данного временного интервала.И интервал времени должен быть передан из поискового запроса "serch.jobs.export ()" в приведенном выше коде Python

Пожалуйста, дайте мне знать, как передать запрос 'time' вместе с моим требуемым запросом.

Любая помощь наиболее ценится!Заранее спасибо!

1 Ответ

1 голос
/ 12 марта 2019

Вы должны поставить самое раннее в начале вашего поиска. Пример за - 1 день до сих пор:

"индекс поиска = ccmjimmie самое раннее = -1d | счетчик статистики (eval (resCode! = 00200)) AS с ошибкой | сумма в диаграмме (с ошибкой)"

Подробности см. Здесь: https://docs.splunk.com/Documentation/Splunk/7.2.4/SearchReference/SearchTimeModifiers

...