Skip to content

am2sms expose a webservice that receive alerts from Alertmanager and forward them through SMS providers (gateways)

License

Notifications You must be signed in to change notification settings

StephaneBunel/alertmanager2sms

Repository files navigation

am2sms

am2sms (alertmanager2sms) is an SMS alerting tool designed to listen alerts from Prometheus Alertmanager and forward them as SMS. am2sms uses sendsms as a library to handle the SMS part.

Usage

am2sms

Configuration

/etc/am2sms/config.yml:

---

am2sms:
  logLevel:                  "INFO"
  eventBufferSize:           128

  http:
    address:                 "127.0.0.1:7171"
    endpoint:                "/am2sms"

  sms:
    worker:                  2
    profile:                 "default"
    template: |
      {{ $numAlerts := len .Alerts }}Hello {{ .Receiver }},
      Alertmanger raised {{ $numAlerts }} {{ .Status | ToUpper }} alert(s):
      {{ range $index, $alert := .Alerts }}
      ({{ add $index 1 }}/{{ $numAlerts }}) {{ $alert.Status | ToUpper }} {{ $alert.Labels.severity | ToUpper }} {{ $alert.Labels.instance }}/{{ $alert.Labels.job }}
      Begin: {{ $alert.StartsAt }}
      {{ $alert.Annotations.description }}
      {{ end }}
      Thank you.

  stat:
    handler: prom
    handlerConfig:
      address: 127.0.0.1:1471
      endpoint: /metrics

  recipients:
    enabled:
      - from_csv_file

    config:
      from_csv_file:
        engine: "csv"
        filename: "recipients.csv"

sendsms:
  profiles:
    default:
      provider:              "ovh"
      providerConfig:
        api:
          location:          "ovh-eu"
          appKey:            "<app key>"
          appSecret:         "<app secret>"
          consumerKey:       "<consumer key>"
          servicename:       "<service name>"
        smsOptions:
          sender:            "<sender>"
        smsOptionsCaps:
          nostopclause:      "noStopClause"
          servicename:       "serviceName"
          senderforresponse: "senderForResponse"

Alertmanager configuration snippet:

receivers:
  - name: 'sysadmin'
    webhook_configs:
      - url: 'http://127.0.0.1:7171/am2sms'
        send_resolved: true

About

am2sms expose a webservice that receive alerts from Alertmanager and forward them through SMS providers (gateways)

Resources

License

Stars

Watchers

Forks

Packages