Skip to content

luis-sousa-pinto/gitpod-io.observability

 
 

Repository files navigation

Observability

Build Status Slack Gitpod ready-to-code

Set of Jsonnet files used to deploy customized monitoring-satellites and monitoring-centrals into different clusters.

Table of contents

Applications

Monitoring-satellite

Monitoring-satellite is composed by a set of components responsible for collecting and pushing observability signals from a Kubernetes cluster to a remote location (usually monitoring-central) while also being responsible for the alerting evaluation and alert routing.

Components

To customize the stack, we make use of Jsonnet's external-variables feature. We expect one single external variable called config which is loaded and merged with monitoring-satellite to customize the stack.

We expect config to be a JSON object, where extra configuration can be added as we develop new features for monitoring-satellite. For more details, please check monitoring-satellite data schema.

A minimal example would be:

jsonnet -c -J vendor -m monitoring-satellite/manifests \
--ext-code config="{
    namespace: 'monitoring-satellite',
    clusterName: 'fake-cluster',
}" \
monitoring-satellite/manifests/yaml-generator.jsonnet | xargs -I{} sh -c 'cat {} | gojsontoyaml > {}.yaml' -- {}

Monitoring-central

Components

To customize the stack, we make use of Jsonnet's external-variables feature. We expect one single external variable called config which is loaded and merged with monitoring-satellite to customize the stack.

We expect config to be a JSON object, where extra configuration can be added as we develop new features for monitoring-central. For more details, please check monitoring-central data schema.

A minimal example would be:

jsonnet -c -J vendor -m monitoring-central/manifests \
--ext-code config="{
    namespace: 'monitoring-central',
    grafana: {
        nodePort: 32164,
        DNS: 'http://fake.grafana.url',
        GCPExternalIpAddress: 'fake_external_ip_address',
        IAPClientID: 'fakeIAP_ID',
        IAPClientSecret: 'fakeIAP_secret',
    },
    victoriametrics: {
        DNS: 'http://fake.victoriametrics.url',
        authKey: 'random-key',
        username: 'p@ssW0rd',
        password: 'user',
        GCPExternalIpAddress: 'fake_external_ip_address',
    },
}" \
monitoring-central/manifests/yaml-generator.jsonnet | xargs -I{} sh -c 'cat {} | gojsontoyaml > {}.yaml' -- {}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 75.8%
  • Jsonnet 18.7%
  • Shell 4.3%
  • Other 1.2%