# Example

TIP

At the moment Balerter supports yaml and hcl formats for the configuration file.

# Names

You must use unique names for each item within sections with repeated items.

A correct example:

datasources:
  clickhouse:
    - name: database1
      # ...
    - name: database2
      # ...
  postgres:
    - name: database1
      # ...
    - name: database2
      # ...

# Example

An example of the configuration file

scripts:
  updateInterval: 5000
  folder:
    - name: scripts
      path: /opt/scripts
      mask: '*.lua'
  file:
    - name: demo1
      filename: /path/to/demo.lua

datasources:
  clickhouse:
    - name: ch1
      host: domain.com
      port: 6440
      username: username
      password: password
      database: database
      sslCertPath: /path/to/cert.crt
      timeout: 3000

  prometheus:
    - name: prom1
      url: domain.com
      timeout: 3000
      basicAuth:
        username: username
        password: password

  postgres:
    - name: pg1
      host: domain.com
      port: 5432
      username: username
      password: password
      database: database
      sslMode: verify-full
      sslCertPath: /path/to/cert.crt
      timeout: 3000
  
  mysql:
    - name: mysql1
      dsn: user:[email protected](127.0.0.1:3306)/database
      timeout: 3000

  loki:
    - name: loki1
      url: domain.com
      timeout: 5000
      basicAuth:
        username: username
        password: password

channels:
  slack:
    - name: slack-notification
      token: SLACK-APPLICATION-TOKEN
      channel: notification
      ignore: false

  telegram:
    - name: tg1
      token: TELEGRAM-BOT-TOKEN
      chatId: 100500
      timeout: 5000
      proxy:
        address: 10.20.30.40:5060
        auth:
          username: user
          password: secret
      ignore: false
  syslog:
    - name: default
      tag: balerter
      network: tcp
      address: 127.0.0.1:10515
      priority: 'EMERG|DAEMON'
      ignore: false
  
  notify:
    - name: default
      icons:
        success: /path/to/logo-success.png
        error: /path/to/logo-error.png
        warning: /path/to/logo-warning.png
      ignore: false

  email:
    - name: default
      from: [email protected]
      to: [email protected]
      cc: alert-[email protected]
      host: bar.com
      port: 1234
      username: user
      password: secret
      secure: ssl
      timeout: 10
      ignore: false

  discord:
    - name: default
      token: 'ABCD'
      channelId: 1234
      ignore: false

  webhook:
    - name: wh1
      settings:
        url: http://domain.com
        method: POST
        auth:
          type: basic
          login: user
          password: secret
        payload:
          queryParams:
            foo: bar
          body: body content
        timeout: 5000
        headers:
          X-Foo: Bar
      ignore: false

  alertmanager:
    - name: am1
      settings: # webhook settings
      ignore: false

  alertmanager_receiver:
    - name: am2
      settings: # webhook settings
      ignore: false

  twilioVoice:
    - name: tw1
      sid: ABCD
      token: ABCD
      from: +11111111111
      to: +11111111111
      twiml: '<Response><Say>{TEXT}</Say></Response>'
      ignore: false
      timeout: 5000

storagesCore:
  sqlite:
    - name: mySqliteStorage
      path: /path/to/file
      timeout: 1000
      tableKV:
        table: "kv"
        fields:
          key: key
          value: value
      tableAlerts:
        table: "alerts"
        fields:
          name: id
          level: level
          count: count
          createdAt: created_at
          updatedAt: updated_at
  postgres:
    - name: pg1
      host: domain.com
      port: 5432
      username: username
      password: password
      database: database
      sslMode: verify-full
      sslCertPath: /path/to/cert.crt
      timeout: 3000
      tableKV: # same as sqlite above
      tableAlerts: # same as sqlite above

storagesUpload:
  s3:
    - name: dev
      region: us-east1
      key: SOME_KEY
      secret: SOME_SECRET
      endpoint: SOME_ENDPOINT
      bucket: SOME_BUCKET

api:
  address: 127.0.0.1:2000
  serviceAddress: 127.0.0.1:2001

storageAlert: memory
storageKV: sqlite.mySqliteStorage
luaModulesPath: ./?.lua;./modules/?.lua;./modules/?/init.lua;/modules/?.lua;/modules/?/init.lua
Last Updated: 10/6/2021, 4:54:48 PM