Look up geo-information for an IP address using the MaxMind “GeoIP ISP” database.
You can obtain a free-to-use (gratis but not libre) database from https://www.maxmind.com/ or you can pay for a more accurate option.
You will need to provide the path to a valid GeoIP ISP database located on
your server. The artifact expects you to store the database location in the
server metadata, under the metadata key “GeoIPISPDB” (for example
/usr/shared/GeoIP2-City_20210910/GeoIP2-ISP.mmdb
).
Although you can collect this artifact directly, it is more likely that you would import this artifact from your own artifact to gain access to the utility lookup functions.
name: Server.Enrichment.GeoIPISP
description: |
Look up geo-information for an IP address using the MaxMind "GeoIP ISP"
database.
You can obtain a free-to-use (gratis but not libre) database from
https://www.maxmind.com/ or you can pay for a more accurate option.
You will need to provide the path to a valid GeoIP ISP database located on
your server. The artifact expects you to store the database location in the
server metadata, under the metadata key "GeoIPISPDB" (for example
`/usr/shared/GeoIP2-City_20210910/GeoIP2-ISP.mmdb`).
Although you can collect this artifact directly, it is more likely that you
would import this artifact from your own artifact to gain access to the
utility lookup functions.
export: |
LET ISPDB = server_metadata().GeoIPISPDB
LET ISP(IP) = geoip(db=ISPDB, ip=IP).isp
LET ORG(IP) = geoip(db=ISPDB, ip=IP).organization
LET ASN(IP) = geoip(db=ISPDB, ip=IP).autonomous_system_number
LET ASO(IP) = geoip(db=ISPDB, ip=IP).autonomous_system_organization
parameters:
- name: IP
description: An IP to lookup
type: SERVER
sources:
- query: |
SELECT ISP(IP=_value) AS ISP,
ORG(IP=_value) AS Organization,
ASN(IP=_value) AS ASN,
ASO(IP=_value) AS ASO
FROM foreach(row=IP)