У меня есть два рабочих запроса Splunk следующим образом.
Первый получает IP-адрес и дату и возвращает Mac-адрес:
index = сигнатура dhcp = DHCPACK dest_ip = "192.0.0.0" latest = "05/30/ 2018: 00: 00: 00" |переименовать dest_mac в mac_address |таблица mac_address, _time |сортировать - _time |голова 1 |поля mac_address
Второй вызывает хранимую процедуру в базе данных, передает MAC-адрес и дату и возвращает идентификатор машины, который является guid:
|dbxquery query = "EXEC [dbo]. [get_machines_by_mac_date] @mac_address = '11: 22: 33: 44: 55: 66 ', @utc_date_time = '05 / 30/2018' 'connection =" database1 "
Что мне нужно сделать, так это объединить эти два в один запрос, где MAC-адрес, найденный в первом, передается второму в качестве параметра mac_address.Я работал над этим, и я думаю, что я довольно близок, но он просто не работает правильно, вот мой комбинированный запрос:
|dbxquery query = "EXEC [dbo]. [get_machines_by_mac_date] @mac_address = [index = dhcp signature = DHCPACK dest_ip =" 192.0.0.0 "latest =" 30/05/2018: 00: 00: 00 "| переименовать dest_mac в mac_address |table _time, mac_address | sort - _time | head 1 | return mac_address], @utc_date_time = '05 / 30/2018 '"connection =" database1 "
Я прочитал, что внутренний запрос (внутри квадратных скобок) выполняется первым, поэтому я пытаюсь предоставить параметр mac_address во внешнем запросе с результатами внутреннего запроса.
Я получаю сообщение об ошибке, что mac_address слишком длинный,что максимальная длина в базе данных составляет 128. Я почти уверен, что это означает, что внутренний запрос не работает, и он пытается отправить всю текстовую строку в квадратных скобках в хранимую процедуру.
Вот ошибка, которую я получаю, когда пытаюсь выполнить запрос:
com.microsoft.sqlserver.jdbc.SQLServerException: идентификатор, который начинается с подписи index = dhcp= DHCPACK dest_ip = 192.0.0.0 последняя = 05/30/2018: 00: 00: 00 |переименовать dest_mac в mac_address |table _time, ma 'слишком длинный.Максимальная длина - 128.
Я новичок в использовании Splunk и буду признателен за любую помощь, которая может быть предоставлена!