Jump to content

Recommended Posts

Posted

Доброго времени суток. Имеется проблема с отправкой сообщений в телеграмм 

 

Имеется скрипт

 

#!/bin/bash


USER=$1
SUBJECT=$2
TEXT=$3


cd /usr/lib/zabbix/tg


bin/telegram-cli -k tg-server.pub -c telegram.config -WR -U zabbix -e "msg $USER $TEXT" || exit 1
exit 0

83355622429581876298.png

 

В действиях следующее:

{HOST.NAME} :: {ITEM.NAME} :: {ITEM.VALUE}

Status:  {TRIGGER.STATUS}
Host:  {HOST.NAME}
Item:  {ITEM.NAME}
Value:  {ITEM.LASTVALUE}


Key:  {ITEM.KEY}


Severity: {TRIGGER.SEVERITY}


Trigger: {TRIGGER.NAME}
Description: {TRIGGER.DESCRIPTION}

13594841640303886676.png

 

 

Но приходят сообщения вида:

 

 
Status:  PROBLEM


Status:  OK

Остальной текст куда то теряется. В чем может быть причина?

 

Posted

Походу первый перевод строки в $TEXT воспринимается как конец текста (типа нажали Enter), поэтому посылается только первая строка.

То есть я бы проверил:

А) какой символ использует клиент телеграма для разделения строк в сообщении.

Б) что именно ему передает Zabbix.

А там уже думать-патчить, если причина в этом.

Posted

\n используется для перехода на новую строку.

# cat telegram.php 
<?php
$to = $argv[1];
$text = $argv[2] . "\n" . $argv[3];
$data['chat_id'] = $to;
$data['text'] = $text;
$data_json = json_encode($data, JSON_UNESCAPED_UNICODE);
$url = "https://api.telegram.org/__BOT_TOKEN__/sendMessage";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
curl_exec($ch);
curl_close($ch);
?>

Я себе таким незамысловатым php скриптом слал.

Соотвественно __BOT_TOKEN__ заменить на свой реальный токен.

Принимает три аргумента:

1) кому

2) тема

3) сообщение

Posted

у меня примерно так:

t=$@
curl --max-time 10 -d "chat_id=123123123&text=Alert!!! --++-- Zabbix --++-- $t " https://api.telegram.org/bot312312312:вавпывпрвоуеноырвар/sendMessage

остальное (дествия, оповещение)вроде как и у Вас

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...