Entrada

Configurar Telegraf para InfluxDB

Para ponerte en contexto deberías leer antes GeoIP Nginx

Enviar los datos configurados en telegraf a una API de influxdb

En este caso vamos a enviar los datos de los logs de Nginx que cumplen unos patrones, para ellos me baso en un módulo de telegraf “grok” Configuramos telegraf para los input y para los outputs, para los segundos, queremos que se envíen a un bucket de influxdb_v2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[[inputs.tail]]
  files = ["/var/log/nginx/access_geo.log"]
  from_beginning = false
  name_override = "nginx_logs"
  data_format = "grok"

  grok_patterns = [
    '%{IP:client_ip} - - \[%{HTTPDATE:time}\] "%{WORD:method} %{URIPATHPARAM:request} HTTP/%{NUMBER:http_version}" %{NUMBER:status} %{NUMBER:bytes} "%{DATA:referrer}" "%{DATA:user_agent}" %{WORD:country_code} %{DATA:country_name} %{DATA:city_name} %{NUMBER:latitude} %{NUMBER:longitude}'
  ]


[[outputs.influxdb_v2]]
  urls = ["http://localhost:8086"]
  token = "HCjyQlB2spu_eB6Jd5bKGMyTfezVyiYgbh-BTMbzgkB9oHAzTD5zb6kd4va659X408dxknh_MM12AMvuNNY2ZQ=="
  organization = "home"
  bucket = "nginx_geo_logs"
  timeout = "5s"

Ahora usaremos Telegraf para enviar los datos a la api de influxdb u otras

1
telegraf --config http://localhost:8086/api/v2/telegrafs/0e8b750ee8d03000
Esta entrada está licenciada bajo CC BY 4.0 por el autor.