geoip
注意
Promtail 已被弃用,并将持续长期支持 (LTS) 到 2026 年 2 月 28 日。Promtail 将于 2026 年 3 月 2 日达到生命周期结束 (EOL)。您可以在此处找到迁移资源。
geoip
阶段是一个解析阶段,它读取一个 IP 地址并使用 geoip 字段填充标签集。查找使用 Maxmind 的 GeoIP2 数据库。
City 数据库的填充字段
- geoip_city_name
- geoip_country_name
- geoip_continent_name
- geoip_continent_code
- geoip_location_latitude
- geoip_location_longitude
- geoip_postal_code
- geoip_timezone
- geoip_subdivision_name
- geoip_subdivision_code
ASN(自治系统号)数据库的填充字段
- geoip_autonomous_system_number
- geoip_autonomous_system_organization
Schema
geoip:
# Path to the Maxmind DB file
[db: <string>]
# IP from extracted data to parse.
[source: <string>]
# Maxmind DB type. Allowed values are "city", "asn"
[db_type: <string>]
带有 City 数据库的 GeoIP 示例
对于给定的处理管道
- regex:
expression: "^(?P<ip>\S+) .*"
- geoip:
db: "/path/to/GeoIP2-City.mmdb"
source: "ip"
db_type: "city"
以及日志行
"34.120.177.193 - "POST /loki/api/push/ HTTP/1.1" 200 932 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6"
regex
阶段解析日志行并提取 ip
。然后将提取的 ip
值作为 source
提供给 geoip
阶段。geoip
阶段对 ip
执行查找并填充以下标签:
geoip_city_name
: 堪萨斯城geoip_country_name
: 美国geoip_continent_name
: 北美洲geoip_continent_code
: NAgeoip_location_latitude
: `"39.1027geoip_location_longitude
: -94.5778geoip_postal_code
: 64184geoip_timezone
: America/Chicagogeoip_subdivision_name
: 密苏里州geoip_subdivision_code
: MO
如果只需要这些标签的一个子集,可以将上述处理管道与 labeldrop
或 labelallow
阶段链式连接。
labelallow 示例
- regex:
expression: "^(?P<ip>\S+) .*"
- geoip:
db: "/path/to/GeoCity.mmdb"
source: "ip"
db_type: "city"
- labelallow:
- geoip_city_name
- geoip_country_name
- geoip_location_latitude
- geoip_location_longitude
只有 labelallow
下列出的标签才会发送到 Loki。
labeldrop 示例
- regex:
expression: "^(?P<ip>\S+) .*"
- geoip:
db: "/path/to/GeoCity.mmdb"
source: "ip"
db_type: "city"
- labeldrop:
- geoip_postal_code
- geoip_subdivision_code
除了 labeldrop
下列出的标签外,所有标签都将发送到 Loki。
带有 ASN(自治系统号)数据库的 GeoIP 示例
- regex:
expression: "^(?P<ip>\S+) .*"
- geoip:
db: "/path/to/GeoIP2-ASN.mmdb"
source: "ip"
db_type: "asn"
以及日志行
"34.120.177.193 - "POST /loki/api/push/ HTTP/1.1" 200 932 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6"
regex
阶段解析日志行并提取 ip
。然后将提取的 ip
值作为 source
提供给 geoip
阶段。geoip
阶段对 ip
执行查找并填充以下标签:
geoip_autonomous_system_number
: 396982geoip_autonomous_system_organization
: GOOGLE-CLOUD-PLATFORM
有关更多信息和实际示例,请参阅保护 PII 并添加地理位置数据:使用 Grafana 监控旧系统,其中包含如何在仪表盘中注入地理位置数据的实际示例。