Telegrafix

I’ve often thought that there’s a portmanteau of Telegraf, the self-hosted synthetics monitoring tool, and Coralogix, the observability platform, that must be an Asterix and Obelix character: Telegrafix. It turns out it is! Telegrafix en Analogine are the Dutch name of a pair of characters introduced last year.

So I just spent a few days on some strong painkillers, and Telegrafix is now a simple, lightweight Kustomize overlay that means a couple of yaml files can add synthetics to a Coralogix-instrumented k8s cluster.

The kustomization.yaml just calls in Kustomize and states an intention to create a telegraf-config configmap:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: coralogix

resources:
  - https://github.com/BigRedS/telegrafix?ref=v1.0.0

patches:
  - path: telegraf-config.yaml
    target:
      version: v1
      kind: ConfigMap
      name: telegraf-config

And then a telegraf-config.yaml that contains the checks:

apiVersion: v1
kind: ConfigMap
metadata:
  name: telegraf-config
data:
  telegraf.conf: |
    [agent]
      interval = "31s"
      flush_interval = "11s"

    [inputs.http_response](/inputshttp_response/)
      urls = ["https://example.com"]
      response_status_code = 200
      response_timeout = "6s"
      response_string_match = "Example Domain"

    [inputs.http_response](/inputshttp_response/)
      urls = ["https://example.net"]
      response_status_code = 200
      response_timeout = "6s"
      response_string_match = "Avoid use in operations"

This will default to the EU2 Coralogix region and read the same secret as used by the Coralogix helm chart.

The Readme shows how to override the region, and there’s a deployment scenarios doc for doing smarter things.