update readme

This commit is contained in:
sergey 2025-03-10 18:21:30 +03:00
parent 3d1ab1cbaa
commit 424fb7dfb5
1 changed files with 77 additions and 46 deletions

View File

@ -1,4 +1,4 @@
# osnova-api-alert # zabbix to tg dashboard
swagger - https://osnova-api-alert.sm8255082.ru/docs swagger - https://osnova-api-alert.sm8255082.ru/docs
@ -11,25 +11,42 @@ endpoints:
```json ```json
{ {
"text": "string", "message": "str - текст сообщения вместе с темой",
"subject": "string", "event_id": "int - id алерта",
"problem_id": 0 "event_value": "int - 0, если ОК, 1, если проблема ",
} "tg_tread_id": "int - id подчата ",
``` "tg_chat_id": "int - id чата",
- https://osnova-api-alert.sm8255082.ru/api/v1/zbx/send-to-net-chat (post) "tg_token": "str - токен телеграм бота"
в заголовке должен быть токен 'x-api-key: токен'
должны предаваться в data:
```json
{
"text": "string",
"subject": "string"
}
``` ```
Параметры для mediatype:
```
parameters:
- name: ApiToken
value: страшносекурныйтокен
- name: ApiURL
value: 'https://example.com/api/v1/zbx/send-to-dashboard'
- name: event_id
value: '{EVENT.ID}'
- name: event_severity
value: '{EVENT.SEVERITY}'
- name: event_value
value: '{EVENT.VALUE}'
- name: message
value: '{ALERT.MESSAGE}'
- name: subject
value: '{ALERT.SUBJECT}'
- name: tg_chat_id
value: '{$TG_CHAT_ID}'
- name: tg_token
value: '{$TG_BOT_TOKEN}'
- name: tg_tread_id
value: '{ALERT.SENDTO}'
```
js для заббикса: Пример js для заббикса:
```javascript ```javascript
function sendMessage(value) { function sendMessage(value) {
@ -37,9 +54,24 @@ js для заббикса:
data, data,
response, response,
request = new HttpRequest(), request = new HttpRequest(),
url = 'https://osnova-api-alert.sm8255082.ru/api/v1/tg/send'; url = params.ApiURL;
request.addHeader('Content-Type: application/json'); request.addHeader('Content-Type: application/json');
request.addHeader('x-api-key: токен'); request.addHeader('x-api-key: ' + params.ApiToken);
if (params.event_severity === 'Not classified') {
params.message = '⚪️' + params.subject + '⚪️' + '\n' + params.message;
} else if (params.event_severity === 'Information') {
params.message = '🔵' + params.subject + '🔵' + '\n' + params.message;
} else if (params.event_severity === 'Warning') {
params.message = '🟡' + params.subject + '🟡' + '\n' + params.message;
} else if (params.event_severity === 'Average') {
params.message = '🟠' + params.subject + '🟠' + '\n' + params.message;
} else if (params.event_severity === 'High') {
params.message = '🔴' + params.subject + '🔴' + '\n' + params.message;
} else if (params.event_severity === 'Disaster') {
params.message = '🟤' + params.subject + '🟤' + '\n' + params.message;
} else {
params.message = params.subject + '\n' + params.message;
}
data = JSON.stringify(params); data = JSON.stringify(params);
response = request.post(url, data); response = request.post(url, data);
@ -58,7 +90,6 @@ js для заббикса:
try { try {
Zabbix.log(4, value)
sendMessage(value); sendMessage(value);
return 'OK'; return 'OK';
} }