Страница 1 из 1
Дата/время с секундами
Добавлено: 13 фев 2018, 09:12
HakimzyanovA
Добавьте пожалуйста возможность отображения секунд в поле типа "Дата с календарем и выбором времени". Это нужно при занесении данных через API из других систем (например zabbix).
пока решил исправлением строки форматирования в fieldtype_input_datetime.php:
$value = date('Y-m-d H:i:s',$obj['field_' . $field['id']]);
Re: Дата/время с секундами
Добавлено: 31 июл 2019, 08:47
letarch
HakimzyanovA писал(а): ↑13 фев 2018, 09:12
Добавьте пожалуйста возможность отображения секунд в поле типа "Дата с календарем и выбором времени". Это нужно при занесении данных через API из других систем (например zabbix).
пока решил исправлением строки форматирования в fieldtype_input_datetime.php:
$value = date('Y-m-d H:i:s',$obj['field_' . $field['id']]);
Подскажите, каким образом интегрировали данные zabbix в rukovoditel?
Re: Дата/время с секундами
Добавлено: 01 авг 2019, 08:28
HakimzyanovA
На примере мониторинга доступности хоста по пингу.
1.Создаете в Zabbix действие на основе нужного триггера
2. В "операции восстановления" для действия создаете операцию как на скриншоте.
3. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.sh
Код: Выделить всё
#!/bin/bash
php /usr/lib/zabbix/externalscripts/addevent.php "$1" "$2" "$3" "$4"
4. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.php
Код: Выделить всё
<?php
$DateStart=str_replace(".","/",$argv[1]); //дата возникновения
$DateEnd=str_replace(".","/",$argv[2]); //дата устранения
$HostName=$argv[3]; //имя хоста
$HostIP=$argv[4]; //ip хоста
$items = array();
$items[] = array(
'field_216' => $DateStart,
'field_217' => $DateEnd,
'field_215' => $HostName,
'field_218' => $HostIP,
);
$params = array(
'key' => 'xxx', //API ключ
'username' => 'xxx', //Имя пользователя
'password' => 'xxx', //Пароль
'action' => 'insert', //действие
'entity_id' => xx, //ID сущности, в которую будет добавлена запись
'items' => $items, //массив записей
);
$ch = curl_init('https://xxxx/api/rest.php'); //API Url
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
if($result)
{
$result = json_decode($result,true);
print_r($result);
}
Таким образом, в сущности хранятся данные о событиях утраты/восстановления связи с хостом.
Re: Дата/время с секундами
Добавлено: 01 авг 2019, 13:35
letarch
HakimzyanovA писал(а): ↑01 авг 2019, 08:28
На примере мониторинга доступности хоста по пингу.
1.Создаете в Zabbix действие на основе нужного триггера
2. В "операции восстановления" для действия создаете операцию как на скриншоте.
3. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.sh
Код: Выделить всё
#!/bin/bash
php /usr/lib/zabbix/externalscripts/addevent.php "$1" "$2" "$3" "$4"
4. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.php
Код: Выделить всё
<?php
$DateStart=str_replace(".","/",$argv[1]); //дата возникновения
$DateEnd=str_replace(".","/",$argv[2]); //дата устранения
$HostName=$argv[3]; //имя хоста
$HostIP=$argv[4]; //ip хоста
$items = array();
$items[] = array(
'field_216' => $DateStart,
'field_217' => $DateEnd,
'field_215' => $HostName,
'field_218' => $HostIP,
);
$params = array(
'key' => 'xxx', //API ключ
'username' => 'xxx', //Имя пользователя
'password' => 'xxx', //Пароль
'action' => 'insert', //действие
'entity_id' => xx, //ID сущности, в которую будет добавлена запись
'items' => $items, //массив записей
);
$ch = curl_init('https://xxxx/api/rest.php'); //API Url
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
if($result)
{
$result = json_decode($result,true);
print_r($result);
}
Таким образом, в сущности хранятся данные о событиях утраты/восстановления связи с хостом.
Отличный пример! Спасибо.
Чтобы этот скрипт работал нужно "Дополнение" для "Руководителя"?
Re: Дата/время с секундами
Добавлено: 01 авг 2019, 14:43
support
Да, API доступно в дополнении.
Re: Дата/время с секундами
Добавлено: 02 авг 2019, 06:26
HakimzyanovA
Отличный пример! Спасибо.
На здоровье
![Smile :)](./images/smilies/icon_e_smile.gif)