Добавьте пожалуйста возможность отображения секунд в поле типа "Дата с календарем и выбором времени". Это нужно при занесении данных через API из других систем (например zabbix).
пока решил исправлением строки форматирования в fieldtype_input_datetime.php:
$value = date('Y-m-d H:i:s',$obj['field_' . $field['id']]);
Дата/время с секундами
-
- Сообщения: 191
- Зарегистрирован: 27 фев 2017, 13:22
- Имя: Алексей Хакимзянов
- Откуда: Россия
Re: Дата/время с секундами
Подскажите, каким образом интегрировали данные zabbix в rukovoditel?HakimzyanovA писал(а): ↑13 фев 2018, 09:12 Добавьте пожалуйста возможность отображения секунд в поле типа "Дата с календарем и выбором времени". Это нужно при занесении данных через API из других систем (например zabbix).
пока решил исправлением строки форматирования в fieldtype_input_datetime.php:
$value = date('Y-m-d H:i:s',$obj['field_' . $field['id']]);
группа CRM Руководитель в Telegram
https://t.me/crm_rukovoditel
https://t.me/crm_rukovoditel
-
- Сообщения: 191
- Зарегистрирован: 27 фев 2017, 13:22
- Имя: Алексей Хакимзянов
- Откуда: Россия
Re: Дата/время с секундами
На примере мониторинга доступности хоста по пингу.
1.Создаете в Zabbix действие на основе нужного триггера
2. В "операции восстановления" для действия создаете операцию как на скриншоте.
3. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.sh
4. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.php
Таким образом, в сущности хранятся данные о событиях утраты/восстановления связи с хостом.
1.Создаете в Zabbix действие на основе нужного триггера
2. В "операции восстановления" для действия создаете операцию как на скриншоте.
3. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.sh
Код: Выделить всё
#!/bin/bash
php /usr/lib/zabbix/externalscripts/addevent.php "$1" "$2" "$3" "$4"
Код: Выделить всё
<?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: Дата/время с секундами
Отличный пример! Спасибо.HakimzyanovA писал(а): ↑01 авг 2019, 08:28 На примере мониторинга доступности хоста по пингу.
1.Создаете в Zabbix действие на основе нужного триггера
2. В "операции восстановления" для действия создаете операцию как на скриншоте.
3. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.sh
4. На сервере zabbix создаете файл /usr/lib/zabbix/externalscripts/addevent.phpКод: Выделить всё
#!/bin/bash php /usr/lib/zabbix/externalscripts/addevent.php "$1" "$2" "$3" "$4"
Таким образом, в сущности хранятся данные о событиях утраты/восстановления связи с хостом.Код: Выделить всё
<?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); }
Чтобы этот скрипт работал нужно "Дополнение" для "Руководителя"?
группа CRM Руководитель в Telegram
https://t.me/crm_rukovoditel
https://t.me/crm_rukovoditel
- support
- Техническая поддержка
- Сообщения: 9215
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Дата/время с секундами
Да, API доступно в дополнении.
-
- Сообщения: 191
- Зарегистрирован: 27 фев 2017, 13:22
- Имя: Алексей Хакимзянов
- Откуда: Россия
Re: Дата/время с секундами
На здоровьеОтличный пример! Спасибо.