update readme
This commit is contained in:
parent
3d1ab1cbaa
commit
424fb7dfb5
67
README.md
67
README.md
|
@ -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';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue