Skip to content

Files

Latest commit

 

History

History

geoipprocessor

GeoIP Processor

Status
Stability alpha: traces, metrics, logs
Distributions contrib
Issues Open issues Closed issues
Code Owners @andrzej-stencel, @michalpristas, @rogercoll

Description

The geoIP processor geoipprocessor enhances the attributes of a span, log, or metric by appending information about the geographical location of an IP address. To add geographical information, the IP address must be included in the attributes specified by the attributes configuration option (e.g., client.address and source.address by default). By default, only the resource attributes will be modified. Please refer to config.go for the config spec.

Geographical location metadata

The following resource attributes will be added if the corresponding information is found:

  * geo.city_name
  * geo.postal_code
  * geo.country_name
  * geo.country_iso_code
  * geo.continent_name
  * geo.continent_code
  * geo.region_name
  * geo.region_iso_code
  * geo.timezone
  * geo.location.lat
  * geo.location.lon

Configuration

The following settings can be configured:

  • providers: A map containing geographical location information providers. These providers are used to search for the geographical location attributes associated with an IP. Supported providers:
  • context (default: resource): Allows specifying the underlying telemetry context the processor will work with. Available values:
    • resource: Resource attributes.
    • record: Attributes within a data point, log record or a span.
  • attributes (default: [client.address, source.address]): An array of attribute names, which are used for the IP address lookup.

Examples

processors:
    # processor name: geoip
    geoip:
      providers:
        maxmind:
          database_path: /tmp/mygeodb
      context: record
      attributes: [client.address, source.address, custom.address]