Categorygithub.com/NETWAYS/notify-brevisone
modulepackage
0.2.0
Repository: https://github.com/netways/notify-brevisone.git
Documentation: pkg.go.dev

# README

notify-brevisone

Notification Plugin for brevis.one SMS Gateways to send SMS messages or ring a contact.

Documentation for your gateway can be found under docs.brevis.one.

Installation

Download the current binary from GitHub and install it with Icinga 2. See releases.

curl -L -o notify-brevisone https://github.com/NETWAYS/notify-brevisone/releases/download/v0.1.0/notify-brevisone_0.1.0_Linux_x86_64
chmod 755 notify-brevisone
cp notify-brevisone /etc/icinga2/scripts/

/etc/icinga2/scripts/notify-brevisone --help

You can use the provided config under examples for a standard NotificationCommand, when included properly in icinga2, Director can learn it via a Kickstart.

curl -L -o /etc/icinga2/conf.d/brevisone.conf https://raw.githubusercontent.com/NETWAYS/notify-brevisone/main/examples/icinga2/commands.conf

Of course, you can adjust the command to your needs.

Usage

./notify-brevisone --help
Usage of notify-brevisone

Notifications via a brevis.one gateway.
Sends SMS or rings at a given number

Arguments:
  -g, --gateway string       IP/address of the brevis.one gateway (required)
  -u, --username string      API user name (required)
  -p, --password string      API user password (required)
      --insecure             Skip verification of the TLS certificates (is needed for the default self signed certificate)
      --no-tls                Do NOT use TLS to connect to the gateway (default false)
      --use-legacy-http-api   Use old HTTP API (required on older firmware versions, default false)
  -T, --target string        Target contact, group or phone number (required)
      --target-type string   Target type, one of: number, contact or contactgroup (default "number")
  -R, --ring                 Add ring mode (also ring the target after sending SMS)
      --type string          Icinga $notification.type$ (required)
  -H, --host string          Icinga $host.name$ (required)
  -S, --service string       Icinga $service.name$ (required for service notifications)
  -s, --state string         Icinga $host.state$ or $service.state$ (required)
  -o, --output string        Icinga $host.output or $service.output$ (required)
  -C, --comment string       Icinga $notification.comment$ (optional)
  -a, --author string        Icinga $notification.author$ (optional)
      --date string          Icinga $icinga.long_date_time$ (optional)
  -t, --timeout int          Abort the check after n seconds (default 30)
  -d, --debug                Enable debug mode
  -v, --verbose              Enable verbose mode
  -V, --version              Print version and exit

To use this plugin the brevis.one gateway has to be configured properly:

  • The REST-API must be activated
  • Contacts and Contactgroups can be used for notifications (see the targetType argument) if configured
  • The credentials must be given to the plugin (username and password)
  • Ensure sending SMS works on the gateway before trying with the plugin
  • The device uses a self-signed certificate per default, if you do not intend to replace it, adding the --insecure flag allows you to ignore this (although this is not recommended)

Examples

An example for a (custom) service notification with a preconfigured contact:

./notify-brevisOne \
	'--gateway''192.168.0.2' \
	'--username' 'admin' \
	'--password' 'admin' \
	'--target' 'myUser' \
	'--target-type' 'contact' \
	'--comment' 'asfsdf' \
	'--date' '2021-04-14 15:29:06 +0200' \
	'--host' 'myHost' \
	'--service' 'fake' \
	'--type' 'CUSTOM' \
	'--author' 'aRandomMonitor' \
	'--output' 'Hello World' \
	'--state' 'WARNING'

sends the message: 2021-04-14 15:29:06 +0200/CUSTOM: fake @ myHost - WARNING "asfsdf" by aRandomMonitor Hello World

An example for a (recovery) Host notification with a phone number directly

./notify-brevisOne \
	'--gateway''192.168.0.2' \
	'--username' 'admin' \
	'--password' 'admin' \
	'--target' '01189998819991197253' \
	'--date' '2021-04-14 15:29:06 +0200' \
	'--host' 'myHost' \
	'--type' 'RECOVERY' \
	'--output' 'It pings again!' \
	'--state' 'OK'

sends the message: 2021-04-14 15:29:06 +0200/RECOVERY: myHost - OK It pings again!

Building manually

After cloning the repository, execute the following in the directory:

go build -o notify-brevisone .

We recommend using the releases under: https://github.com/NETWAYS/notify-brevisone/releases

License

brevis.one is a trademark of BASIS Europe Distribution GmbH

Copyright (C) 2021 NETWAYS GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

# Functions

No description provided by the author

# Constants

No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author