Дата/время с секундами

Пишите ваши предложения здесь.
Ответить
HakimzyanovA
Сообщения: 191
Зарегистрирован: 27 фев 2017, 13:22
Имя: Алексей Хакимзянов
Откуда: Россия

Дата/время с секундами

Сообщение HakimzyanovA »

Добавьте пожалуйста возможность отображения секунд в поле типа "Дата с календарем и выбором времени". Это нужно при занесении данных через API из других систем (например zabbix).
пока решил исправлением строки форматирования в fieldtype_input_datetime.php:
$value = date('Y-m-d H:i:s',$obj['field_' . $field['id']]);
letarch
Сообщения: 61
Зарегистрирован: 25 июл 2019, 12:11
Имя: Nik
Откуда: Saratov

Re: Дата/время с секундами

Сообщение 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?
группа CRM Руководитель в Telegram
https://t.me/crm_rukovoditel
HakimzyanovA
Сообщения: 191
Зарегистрирован: 27 фев 2017, 13:22
Имя: Алексей Хакимзянов
Откуда: Россия

Re: Дата/время с секундами

Сообщение 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);
}
Таким образом, в сущности хранятся данные о событиях утраты/восстановления связи с хостом.
Вложения
Screenshot_1.png
letarch
Сообщения: 61
Зарегистрирован: 25 июл 2019, 12:11
Имя: Nik
Откуда: Saratov

Re: Дата/время с секундами

Сообщение 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);
}
Таким образом, в сущности хранятся данные о событиях утраты/восстановления связи с хостом.
Отличный пример! Спасибо.
Чтобы этот скрипт работал нужно "Дополнение" для "Руководителя"?
группа CRM Руководитель в Telegram
https://t.me/crm_rukovoditel
Аватара пользователя
support
Техническая поддержка
Сообщения: 9089
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Дата/время с секундами

Сообщение support »

Да, API доступно в дополнении.
HakimzyanovA
Сообщения: 191
Зарегистрирован: 27 фев 2017, 13:22
Имя: Алексей Хакимзянов
Откуда: Россия

Re: Дата/время с секундами

Сообщение HakimzyanovA »

Отличный пример! Спасибо.
На здоровье :)
Ответить