iplocation
Описание
Извлекает информацию о местоположении из IP-адреса.
Команда создает поля в событии и заполняет их информацией о местоположении IP-адреса. Если в базе данных есть не вся информация, часть полей могут принять значение null.
| Название | Описание |
|---|---|
country | Название страны. |
iso_code | Код страны. |
subdivision | Район. |
city | Город. |
latitude | Широта. |
longitude | Долгота. |
Синтаксис
iplocation <ip-address-fieldname>
Обязательные аргументы
| Параметр | Синтаксис | Описание |
|---|---|---|
ip-address-fieldname | <field> | Имя поля, в котором хранится IP-адрес, например clientip. |
Если в событии нет указанного поля, или оно не содержит IP-адрес, все созданные поля в этом событии примут значение null.
Примеры запросов
Данные примеры показывают базовое обогащение событий геоданными и дальнейшую работу с полями, которые создает iplocation.
Пример 1
В данном примере команда берет IP-адрес из поля ip и добавляет к событию поля country, city, latitude, longitude и другие доступные геоатрибуты.
source server_ip
| iplocation 'ip'
Пример 2
В данном примере поле с IP-адресом сначала переименовывается, а затем используется в iplocation. Это показывает, что команда работает с любым полем, в котором хранится IP-адрес.
source server_ip
| rename ip as clientip
| iplocation clientip
Пример 3
В данном примере после обогащения геоданными запрос оставляет только записи для host2 и собирает широту и долготу в multivalue-поле location.
source server_ip
| iplocation 'ip'
| where host_name == "host2"
| eval location = mvappend(latitude, longitude)
Пример 4
В данном примере геоданные используются для фильтрации: в результате останутся только события, у которых определенная страна равна Russia.
source server_ip
| iplocation 'ip'
| where country == "Russia"