mirror of
https://github.com/FAUSheppy/monitoring-tools
synced 2025-12-06 03:21:35 +01:00
Merge branch 'master' of gitlab.com:Sheppy_/monitoring-tools
This commit is contained in:
@@ -67,7 +67,15 @@ object NotificationCommand "telegram-service-notification" {
|
||||
}
|
||||
}
|
||||
|
||||
object User "telegram-dummy-user" {
|
||||
import "generic-user"
|
||||
display_name = "User acting as notification Sink for Telegram Notifications"
|
||||
email = "reject@none.none"
|
||||
}
|
||||
|
||||
apply Notification "telegram-generic" to Service {
|
||||
import "mail-service-notification"
|
||||
user_groups = ["icingaadmins"]
|
||||
command = "telegram-service-notification"
|
||||
assign where host.address
|
||||
}
|
||||
|
||||
@@ -6,33 +6,32 @@ import requests
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='Send Notifications via Telegram HTTP-Gateway',
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
||||
parser.add_argument('-4', required=False, help="Address (v4)")
|
||||
parser.add_argument('-6', required=False, help="Address (v6)")
|
||||
parser.add_argument('-b', required=False, help="Author")
|
||||
parser.add_argument('-c', required=False, help="Comment")
|
||||
parser.add_argument('-d', required=False, help="Date")
|
||||
parser.add_argument('-e', required=False, help="Service Name")
|
||||
parser.add_argument('-f', required=False, help="From")
|
||||
parser.add_argument('-i', required=False, help="Icingaweb URL")
|
||||
parser.add_argument('-l', required=False, help="Hostname")
|
||||
parser.add_argument('-n', required=False, help="Hostdisplay Name")
|
||||
parser.add_argument('-o', required=False, help="Service Output")
|
||||
parser.add_argument('-r', required=False, help="User Email")
|
||||
parser.add_argument('-s', required=False, help="Service State")
|
||||
parser.add_argument('-t', required=False, help="Type")
|
||||
parser.add_argument('-u', required=False, help="Service Display Name")
|
||||
|
||||
parser.add_argument('-4', '--ipv6', required=False, help="Address (v4)")
|
||||
parser.add_argument('-6', '--ipv4', required=False, help="Address (v6)")
|
||||
parser.add_argument('-b', '--author', required=False, help="Author")
|
||||
parser.add_argument('-c', '--comment', required=False, help="Comment")
|
||||
parser.add_argument('-d', '--date', required=False, help="Date")
|
||||
parser.add_argument('-e', '--service-name', required=False, help="Service Name")
|
||||
parser.add_argument('-f', '--from', required=False, help="From")
|
||||
parser.add_argument('-i', '--icingaweb-url', required=False, help="Icingaweb URL")
|
||||
parser.add_argument('-l', '--service-host', required=False, help="Hostname")
|
||||
parser.add_argument('-n', '--service-host-alt', required=False, help="Hostdisplay Name")
|
||||
parser.add_argument('-o', '--service-output', required=False, help="Service Output")
|
||||
parser.add_argument('-r', '--user-email', required=False, help="User Email")
|
||||
parser.add_argument('-s', '--service-state', required=False, help="Service State")
|
||||
parser.add_argument('-t', '--service-type', required=False, help="Type")
|
||||
parser.add_argument('-u', '--service-display-name', required=False, help="Service Display Name")
|
||||
|
||||
parser.add_argument('-v', required=False, help="Deprecated. Compability only. Has no Effect.")
|
||||
parser.add_argument('--target-port', default=6000, help="Target port on which Telegram Gateway is running")
|
||||
args = parser.parse_args()
|
||||
|
||||
# build message #
|
||||
serviceName = args.e
|
||||
if args.u:
|
||||
serviceName = args.u
|
||||
message = "*{service} {state} on {host}*\n{output}\n**Icingaweb**: [{url}]({url})".format(
|
||||
service=serviceName, state=args.s, host=args.l, output=args.o, url=args.i)
|
||||
serviceName = args.service_name
|
||||
if args.service_display_name:
|
||||
serviceName = args.service_display_name
|
||||
|
||||
# create and send request #
|
||||
jsonPayload = { 'message' : message }
|
||||
url = "http://localhost:{port}/send-all".format(port=args.target_port)
|
||||
requests.post(url, json=jsonPayload)
|
||||
url = "http://localhost:{port}/send-all-icinga".format(port=args.target_port)
|
||||
requests.post(url, json=vars(args))
|
||||
|
||||
Reference in New Issue
Block a user