Метрики, графики, статистика = Prometheus + Grafana

Публикация № 811821

Разработка - Инструментарий разработчика

графики оперативный учет управление ресурсами складской анализ

109
Снятие метрик из базы данных 1С с хранением в Phrometheus и красивое оформление на основе Grafana. Или как мы создавали комфортные условия административному персоналу на отдельно взятом складе.

Часть первая, художественная.

Вступление

 

История решения проблемы, с которой ежедневно сталкивается разработчик 1С при решении прикладных задач, связанных с оперативным учетом на предприятии.

Для начала определимся с тем, что такое оперативный учет. Оперативный учет, проще говоря, это когда решения на основе предоставляемых системой данных принимаются здесь и сейчас. Где нет "пометить на удаление" и "отменить проведение". Где вся структура учета строится исключительно из потребностей бизнеса без учета ПБУ, НК и проч-проч-проч.

Такие решения не очень популярны на сегодняшних день на платформе 1С, но тем не менее, потихоньку набирают обороты и, надеюсь, будут только шириться.

Самый простой пример оперативного учета - это складская деятельность при достаточно высоком уровне автоматизации склада. Высоким уровнем автоматизации давайте договоримся считать способность системы принимать решения и отдавать задачи исполнителям в режиме on-line. Подобный подход продемонстрирован компанией Axelot  в конфигурации 1С:WMS Логистика. Управление складом.

В рамках разработки таких систем узким местом является сбор и наглядное представление данных для принятия управленческих решений и при контроле за исполнением задач в силу высокой динамики изменения входных данных.

Стандартные отчеты плохо подходят наличием кнопки "Сформировать" и весьма скромными графическими возможностями.

Разнообразные варианты форм с автообновлением по обработчикам ожиданий весьма прилично нагружают систему при мало-мальски существенном объеме выводимой информации.

Хочется чего-то легкого, красивого и понятного...

 

Завязка

 

К предлагаемому варианту решения проблемы подтолкнула, как не странно, квалификация инженеров на проекте. В рамках крупного проекта ежедневно  приходится сталкиваться не только с проблемным поведением 1С, блокировками на СУБД, кривым кодом и нелепыми бизнес-процессами. Есть еще основа всего этого - локальная сеть с кучей оконечного оборудования. Начиная от свитчей и заканчивая терминалами сбора данных. А если копнуть еще глубже - то и у энергоснабжающих организаций бывают проблемы. И все это заканчивается банальным: "1С не работает".

В современных реалиях существует огромное множество систем мониторинга оборудования. Но у нас ее не было. И с нее пришлось начать. На первом этапе - завели Zabbix, начали собирать статистику со всего до чего смогли дотянуться. Потом потребовалось собирать данные с удаленных филиалов. И снова Zabbix, но расположенный на другом сервере и нам доступный только read-only. А потом возникло желание видеть данные единовременно с обоих серверов мониторинга. И тут на помощь пришла совершенно потрясающая платформа для мониторинга и аналитики - Grafana.

 Лирическое отступление первое

 

После настройки системы мониторинга и выводом информации о жизненно важном аппаратном слое системы, жить на проекте стало несколько легче. Шишки перестали падать с такой частотой и с таких высот.

Однако решение проблем административного персонала было в зачаточном состоянии. Управление многоэтажным складом посредством отчетов и полубумажной технологией делало несчастными администраторов.

Попытки построения системы мониторинга процессов на внешних обработках делало несчастными разработчиков и сервер с СУБД.

А чувство прекрасного продолжало настойчиво требовать легкости и понятности.

 

Кульминация

 

По результатам созерцания аккуратных метрик в Grafana логично была предпринята попытка вытащить туда данные напрямую из 1С. Благо, есть плагин, позволяющий дергать данные непосредственно с помощью JSON.  При обновлении дашбордов с метриками раз в 10 секунд (ибо отказы железа по-прежнему хочется видеть оперативно), начала проседать база 1С. Попытки выливать данные в Zabbix и работать от него закончились порванным бубном и стесанной до кости сушеной заячьей лапкой.

Так не выходит

Начали подбирать варианты. Взгляд адепта красно-желтой литературы, отринув мысли о MSSQL и Postgree, начал обращаться в направлении сторонних продуктов. И после череды проб и ошибок остановился на проекте Prometheus. 

  Лирическое отступление второе

 

Prometheus - это, грубо говоря, TSDB (Time series database) - база данных формата NoSQL, организованная для хранения временных рядов, т.е. метрик. Плюс весьма неплохой ассортимент внешних плагинов для сбора данных. Плюс автоочистка истории. Плюс весьма скромные системные требования. Важное различие сборщиков метрик - это разделение на т.н. "pull" сборщиков - которые сами куда-то стучатся и требуют выдать им метрики и "push" сборщики, которые сидят и ждут, что к ним постучатся и принесут данные на блюдечке. Prometheus - pull сборщик, но при использовании плагина Pushgateway становится способен работать и в режиме push. В этом режиме отправка данных инициируется клиентом плагину, которого, в свою очередь, опрашивает Prometheus. И все это добро, как у нас принято, абсолютно free!

В терминах платформы Prometheus, сбор данных называется "scrape" - "соскоб". Т.е. берется срез данных на момент времени, ему присваивается timestamp (время взятия соскоба) и данные убираются в собственное хранилище Prometheus. Одно из выгодных отличий Prometheus является необязательность присвоения timestamp'а при отправке пакета с данным. При отсутствии метки времени присвоение происходит автоматически при помещении данных в базу Prometheus.

Чувству прекрасного для экстаза не хватало только понятности.

 

Развязка

 

Понятность пришла после конструирования подсистемы, обеспечивающей формирование метрик простыми кодом на родном языке.

Альтернатива

Источником данных по-прежнему является 1С, однако хранение данных осуществляется в сторонней базе, а сбор данных происходит "соскобами", исключающими запросы с большой глубиной периода. "Соскобы" осуществляются двумя способами:

1) При построении данных статистики, необходимой для принятия решений (а мы помним - оперативный учет, да) происходит непосредственный push при самом выполнении регламентов или операций, что не требует повторного обращения к регистрам, да и вообще ничего больше не требует, поскольку сформированные метрики больше не касаются 1С.

2) Для съема метрик по фактически занесенным данным в результате жизнедеятельности пользователей, используется pull метод, когда регламентным заданием снимается срез данных (условно - остатки, не обороты) и заботливо подготовленные метрики ожидают запроса от Prometheus.

Обоими способами снятые метрики отправляются на хранение в Prometheus, откуда их читает Grafana  с нужной периодичностью и с нужными временными границами.

А теперь - слайды:

Управление отгрузкой

Технадзор отгрузка

 

Часть вторая, техническая, теоретическая.

Предлагаемый механизм связки с Prometheus является абсолютно бесплатным, никаких ограничений на модификацию кода нет и быть не может.

Решение собрано отдельной конфигурацией для удобства слияния с рабочей базой. Существование как отдельной конфигурации не имеет практического смысла, поскольку предназначено для извлечения метрик из непосредственно рабочих данных. Однако, конфигурация может быть развернута отдельно для препарирования и изучения - в таком режиме она полностью работоспособна.

 

Основным элементом конфигурации является справочник "Метрики", в котором содержатся алгоритмы сбора метрик.

Процесс описания метрики  заключается в написании произвольного кода на языке 1С. Выполняется на сервере. Входные параметры отсутствуют.  

В результате выполнения алгоритма получения метрики, должна быть сформирована переменная с именем "ТаблицаЗначений" и одноименного типа. В таблице значений в обязательном порядке должна присутствовать колонка "ЗначениеМетрики", в которое записывается числовой показатель метрики. Дополнительные колонки таблицы значений расцениваются как ярлыки (в терминологии Phrometheus), где имя ярлыка = имя колонки, а значение = строковому значению в ячейке. Эти поля удобно использовать для фильтрации данных при выводе в Grafanа.

Вариант PULL:

Регламентное задание конфигурации через равные промежутки времени запускает на выполнение все алгоритмы из справочника "Метрики" с типом pull не помеченные на удаление. Результат выполнения раскладывается в регистр сведений в текстовом формате, понятном Prometheus. При обращении платформы Prometheus к HTTP-публикации базы 1С, происходит чтение данных из регистра, агрегация в единый пакет и выдача ответом на REST запрос.

Вариант PUSH:

По событию системы вызывается элемент справочника "Метрики" и выполняется его обработчик. По окончанию обработки метрики отправляются в Pushgateway.

ИЛИ

Подготовленная любым удобным способом таблица значений с данными передается входным параметром в экспортную процедуру, которая форматирует данные и отправляет их в Pushgateway.

 

Настройки конфигурации:

- Константа "URL Pushgateway": адрес сбора метрик службой Pushgateway 

- Константа "Число повторных запросов метрики": количество раз, которое метрика будет отдана Prometheus при повторных обращениях. Каждое обновление метрики обнуляет счетчик. Используется для исключения провалов графиков в случае длительного формировании метрики и/или частого опроса Prometheus'ом.

 

P.S. Критика, пожелания, дополнения - горячо приветствуются!

UPD 24.02.19: Присоединяйтесь! Разработка обрела свой адрес

109

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Synoecium 652 23.10.18 14:37 Сейчас в теме
2. pallid 215 23.10.18 14:53 Сейчас в теме
Спасибо за конфигурацию

При обращении платформы Prometheus к HTTP-публикации базы 1С, происходит чтение данных из регистра


а каким образом происходит обращение? как это реализовывается в Prometheus?
3. freewms 109 23.10.18 15:32 Сейчас в теме
(2) Предполагается, что "тяжелые" запросы пишут в регистр по факту выполнения, а Prometheus, который опрашивает систему раз в -дцать секунд вместо выполнения "тяжелого" запроса считывает метрику из регистра, предварительно туда записанную.
В дальнейшем предполагается обеспечить возможность считывания одной и той же метрики несколько раз до ее устаревания. Это необходимо, когда частота регламентного опроса Прометеем превышает частоту формирования "тяжелой" метрики.
4. pallid 215 23.10.18 15:44 Сейчас в теме
(3) хотелось уточнить чем забирать данные из http-сервиса? как и чем это настраивается? это выполняет отдельное приложение?
5. freewms 109 23.10.18 15:54 Сейчас в теме
(4) Данные забирает непосредственно сам Прометей.
У него есть понятие "Цель" - это те http-сервисы, которые он опрашивает с определенной периодичностью и забирает соскобы себе в базу.

В приложенном файле - настройка Прометея на 3 цели: сам себя - показатели статистики, PushGateway - для получения с него метрик из короткоживущих процессов (отправляемые в PushGateway методом PUSH) и база WMS, которая и является основным поставщиком данных.
Прикрепленные файлы:
6. freewms 109 23.10.18 16:16 Сейчас в теме
(4) https://prometheus.io/docs/prometheus/latest/getting_started/ тут описание в т.ч. первичная настройка целей и частоты их опроса.
7. pallid 215 23.10.18 17:19 Сейчас в теме
(6)

в prometheus.yml добавить:

  - job_name: 'test'

    basic_auth:
      username: 'Администратор'
      password: ''
      
    scrape_interval: 10s 
    metrics_path: '/test/hs/prometheus/polling' 

    static_configs:
    - targets: ['localhost']
Показать


вроде разобрался
8. freewms 109 23.10.18 17:29 Сейчас в теме
(7) У Вас публикация выполнена на той же системе где стоит Прометей?
И есть подозрение, что кириллицу в части учетки Прометей не воспримет - не проверял, не знаю.
9. pallid 215 23.10.18 17:40 Сейчас в теме
(8) Да, для теста там же

Нормально воспринимает
10. freewms 109 23.10.18 17:42 Сейчас в теме
11. pallid 215 23.10.18 17:52 Сейчас в теме
Какой у вас рецепт для отображения http status code? поделитесь если есть
12. freewms 109 23.10.18 18:31 Сейчас в теме
(11) Посмотрите код http метода get. Там есть формирование кода ответа.
13. freewms 109 23.10.18 18:34 Сейчас в теме
(11) Дополню - часть кодов дает сам web-сервер, часть - 1С. Например, если публикация не сделана на web-сервере, получите 404 средствами web-сервера. А вот если публикация есть, но rest не соответствует шаблону - получите status-код силами 1С.
14. pallid 215 23.10.18 22:10 Сейчас в теме
А вот если публикация есть, но rest не соответствует шаблону - получите status-код силами 1С


То что нужно, а то хотелось уже писать шаблон для ответа
15. freewms 109 23.10.18 22:17 Сейчас в теме
(14) Под "силами 1С" подразумевал описанную программистом реакцию системы на http-запрос.
Пример из конфы в аттаче статьи:
код формирования статуса
16. freewms 109 23.10.18 23:48 Сейчас в теме
Если сообществу интересно - на следующей неделе смогу опубликовать доступ к треккеру по ошибкам и фичам подсистемы. Можно попробовать совместную разработку, еcли есть желающие. EDT, Git и вся фигня.
Yakud3a; eeeio; Labotamy; vanoono; pallid; shalimski; +6 Ответить
20. pallid 215 24.10.18 08:41 Сейчас в теме
(16)
Можно попробовать совместную разработку, еcли есть желающие. EDT, Git и вся фигня


да, а то даже нет возможности поставить ее на поддержку, пришлось свою сборку делать конфигурации поставщика
32. freewms 109 24.10.18 23:00 Сейчас в теме
(20) (22)
Договорились! Отпишусь в теме.
22. vanoono 24.10.18 10:20 Сейчас в теме
(16)
Git


Да, думаю идея отличная, думаю найдется куча людей которые внесут свой вклад в разработку. Особенно с учётом,
как у нас принято, абсолютно free!
25. Labotamy 24.10.18 14:30 Сейчас в теме
(16)Выливай на гитхуб уже =)
vanoono; acanta; +2 Ответить
33. freewms 109 24.10.18 23:02 Сейчас в теме
(25) Леш, у меня свой локальный Git, поскольку я несколько параноидален.
17. CheBurator 3400 24.10.18 02:33 Сейчас в теме
Управление многоэтажным складом посредством отчетов и полубумажной технологией делало несчастными администраторов.

- склад под управлением какой WMS?
21. freewms 109 24.10.18 08:52 Сейчас в теме
(17) Есть самописки, есть Axelot
18. CheBurator 3400 24.10.18 02:41 Сейчас в теме
19. shalimski 5 24.10.18 03:12 Сейчас в теме
Рассматривали ли вы в качестве TSDB InfluxDB?
28. freewms 109 24.10.18 22:55 Сейчас в теме
(19) Простота интеграции Прометея сыграла свою злую роль.
23. vanoono 24.10.18 10:28 Сейчас в теме
В идеале сделать готовую сборку, в виде Docker контейнера , с Prometeus, Grafana, сервером 1С и тестовыми данными, чтобы так - Docker RUN и экстаз..
24. akimych 184 24.10.18 13:13 Сейчас в теме
Попытки выливать данные в Zabbix и работать от него закончились порванным бубном и стесанной до кости сушеной заячьей лапкой.


Привет, а что не так с Заббиксом?
У меня с ним проблем не возникло, и Графана успешно начитывает данные с Забикса.
29. freewms 109 24.10.18 22:56 Сейчас в теме
(24) На пикчах видно, что наша Графана выводит данные с 3-х систем - двух Заббиксов и одного Прометея.
Решали не проблему связки Заббикс-Графана - там проблем нет за исключением Алертов, а проблему "Куда деть данные оперативного учета из 1С"
34. akimych 184 25.10.18 10:11 Сейчас в теме
(29) Данные оперативного учета я так понимаю нужны для
для принятия управленческих решений
.

На мой взгляд Графана не совсем верное решение для таких целей, она для - цитата с офиц. сайта
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored
, т.е. это все-таки тул для системного мониторинга.

В данном случае лучше подойдет PowerBI, который умеет не только представлять данные, но и крутить их в разные стороны.
35. freewms 109 25.10.18 12:03 Сейчас в теме
(34)
Смотря что мы понимаем под оперативным учетом. Оперативный учет != отчеты о продажах за месяц. Оперативный учет на складе - это оценка изменения загруженности зон на горизонтах 30мин-1час, достаточности сотрудников по факту и распределение их по направлениям деятельности. И да, алерты по проблемным узлам тоже.
Это не аналитика. Это желание оперативно реагировать на возникающие проблемы по заранее выставленным контрольным точкам.
26. the1 388 24.10.18 16:52 Сейчас в теме
порадовало
РегистрСведений.ФИОФизическихЛиц.СоскобПоследних(ДатаСоскоба)
30. freewms 109 24.10.18 22:57 Сейчас в теме
(26) Интересный регистр. Не могли бы Вы пояснить назначение? Не могу понять потребность его скоблить.
27. metmetmet 73 24.10.18 19:26 Сейчас в теме
А стек ELK рассматривали? Если да, то чем не устроил?
31. freewms 109 24.10.18 22:59 Сейчас в теме
(27) Elastiksearch вижу скорее как хранилище текстовых логов, а не упорядоченных временных серий. Как раз сейчас думаем на счет слива ТЖ в него для анализа проблем.
36. metmetmet 73 28.10.18 18:37 Сейчас в теме
Рассматривали вариант, когда prometheus сервер находится вне локальной сети для получения метрик pull способом?
37. freewms 109 28.10.18 23:15 Сейчас в теме
(36) Нам не приходилось, но в целом не вижу сложности. Если сможете обеспечить REST - должно работать.
38. pallid 215 29.10.18 16:11 Сейчас в теме
если ресурс не умеет отвечать в формате prometheus тогда в тагретах пишет что
invalid is not a valid start token


а по сути хочется только мониторить живучесть сервиса...

альтернатива писать прослойку - которая будет ретранслировать состояние сервиса? или есть еще варианты?
39. freewms 109 30.10.18 18:04 Сейчас в теме
(38) Живучесть сервиса - Zabbix
40. pallid 215 30.10.18 23:20 Сейчас в теме
41. metmetmet 73 13.11.18 20:31 Сейчас в теме
(38) Есть вот такое расширение blackbox_exporter.
Вот здесь список официальных и неофициальных расширений (exporters) список.
42. Darklight 19 29.11.18 10:26 Сейчас в теме
Очень познавательная статья. Спасибо Но

Попытки выливать данные в Zabbix и работать от него закончились порванным бубном и стесанной до кости сушеной заячьей лапкой.

Могли бы Вы написать подробнее - почему данный подход не получился. Это же "классический" подход по сбору метрик, и уже был описан на инфостарте.

И, хотелось бы больше слайдов и текста по проведения настроек связки продуктов друг с другом и самих метрик.
43. freewms 109 30.11.18 09:16 Сейчас в теме
(42) Обратите внимание, какие метрики передаются в Прометея. Там накапливаются не данные о состоянии оборудования. Содержимое Прометея - это условные деньги в кассе, задолженности контрагентов, остатки на складе. Т.е. непосредственно данные бизнеса. Т.е. условные отчеты из условного 1С.
44. Darklight 19 30.11.18 09:31 Сейчас в теме
(43)Я просто не понимаю разницы в хранении (или нюанса передачи на хранение) данных о количестве соединений с серверов, количестве замятий бумаги на принтере, длинне очереди диска, или количества товаров на складе, количества занятых рабочих на складе, длинне очереди текущих заказов на сборку.
45. freewms 109 30.11.18 09:37 Сейчас в теме
(44) Нюанс заключается исключительно в инструментарии, который для этого есть. Собственно, в Заббиксе достаточно достаточно сложный инструментарий, заточенный под сбор данных по железкам. С набором устоявшихся стандартных механизмов по отрасли.
Прометей позволяет сделать сильно проще использование системы со стороны наполнения ее данными. При этом, система прозрачна для программистов и позволяет организовать передачу данных привычным кодом на привычном языке.
Уточнюсь - обобрать данные в 1С запросом, затолкать в Заббикс, получить там несколько разрезов будет выглядить так:
- Содаем кучу хостов по ожидаемым разрезам запроса
- Формируем, скажем, JSON силами 1С
- Кладем его куда-нибудь
- Пишем скрипт парсинга полученного файла
- Наталкиваем в Заббикс
- Сталкиваемся с проблемой вывода, скажем, в таблицу в Графане

Прометей + приложенная конфигурация - сводится к написанию запроса. Остальное происходит силами самого Прометея. При этом, со стороны Графаны поддерживаются запросы, которые позволят не определять заранее разрезы вывода.
46. tvm 30.11.18 10:18 Сейчас в теме
(44) имеется ввиду что периодически получаемые данные лучше где-то хранить и оттуда считывать Grafan-ой, нежели постоянно дергать 1С-ку и передавать в нее параметры, т.е. динамически получать
47. freewms 109 30.11.18 15:11 Сейчас в теме
(46) Очень точно сказано.
Дополню:Это позволяет при складском учете работать "на переднем крае" данных. Т.е. держать в кеше СУБД их и, практически, не обращаться к диску.
Строить запросы, тем более глубокие - тяжело с точки зрения нагрузки на СУБД.
48. sparhh 06.12.18 09:31 Сейчас в теме
(47) Можете еще раз пояснить - почему ZABBIX не может работать в таком же варианте?
Точно также запрашивать 1С через веб сервисы и сохранять у себя данные. Он ведь все это умеет, разве нет?
49. freewms 109 06.12.18 12:50 Сейчас в теме
(48) Пробуйте. Я не вижу в этом целесообразности потому что::
а) Сложности с механизмами подключения к 1С самого Заббикса.
б) Нагрузка на базу при вытаскивании данных периодами.
50. tvm 06.12.18 12:58 Сейчас в теме
(49)
насчет пункта а) не соглашусь.
насчет б) да, такое может быть
51. sparhh 06.12.18 13:39 Сейчас в теме
(49) Пожалуй еще раз перечитать надо.
В итоге все выглядит красиво, но по-моему для многих осталась нераскрытой тема почему не стал использоваться тот же ZABBIX.
52. freewms 109 06.12.18 21:57 Сейчас в теме
(51) Попробуйте получить Заббиксом из 1С данные, скажем, для построения графика динамики отгрузки клиентов с разбивкой по часам за сутки. Я правда не знаю как это сделать без насилия над собой и окружающими.
53. Steelvan 11.01.19 12:04 Сейчас в теме
(52) Собственно в том и вопрос.
Мы просим Вас описать трудности, которые возникнут, если использовать Zabbix, и которые будут отсутствовать, если использовать Прометея.
Спасибо.
54. freewms 109 11.01.19 22:54 Сейчас в теме
(53) Я не знаю типовых методов получения данных из 1С Заббиксом. В голове крутятся агенты Заббикса, дергающие скрипты, делающие выгрузки в текстовички из 1С но я это не прорабатывал, что бы выкладывать сюда. Отмел сразу на уровне идеи.
55. freewms 109 24.02.19 22:02 Сейчас в теме
Добавил ссылку на разработку. Разработка ведется в формате EDT. Присоединяйтесь!
56. narodukr 6 19.09.19 13:31 Сейчас в теме
Добрый день.
Спасибо за публикацию. Очень интересно.
Подскажите для тех кто живет еще в прошлом веке и не использует EDT,
где можно взять архив с примером данной разработки?
57. freewms 109 20.09.19 07:26 Сейчас в теме
58. ilijaz 23.09.19 10:15 Сейчас в теме
Насчет критики zabbix не согласен.
Да, он больше заточен под работу с сетевым и серверным оборудованием, что несет в себе лишний оверхед в настройках.
НО
Никто не запрещает вам сделать правило обнаружение и создать одну метрику по шаблону в куче необходимых разрезов.
Так же никто не запрещает публиковать JSON из тех же регистров мониторинга и забирать его zabbix web agentoм. Zabbix sender такой же пушер, для синхронной отправки событий. Важно не отвергать забикс, если есть некий централизованный мониторинг и хорошая служба эксплуатации, которая не забывает на алерты и действует по регламенту)

В целом конечно верное и правильное решение использование прометеуса вместо забикса для мониторинга сервера приложений. Респект.
59. freewms 109 23.09.19 10:51 Сейчас в теме
(58) Я уже писал выше и повторюсь - этот механизм не для наблюдения за сервером приложений 1С. За сервером наблюдает Zabbix, как и за остальным железом в сети, поскольку это проще.
Для этого есть, например: https://github.com/freewms/zabbix-1c-service-template


Прометей предназначен для наблюдения за состоянием именно данных внутри базы данных. Т.е. за бизнес-процессами непосредственно.
60. freewms 109 23.09.19 13:31 Сейчас в теме
(58) В продолжении - сделать в 1С JSON никто не мешает, но давайте представим, что нам нужно что бы собрать данные для отображения, скажем, статистики заказов к отгрузку:
1) В 1С - Создать регламент, который будет опрашивать данные и формировать JSON
2) В 1С - Куда-то положить сформированный JSON,
3) ЛИБО в 1С ЛИБО в Zabbix Agent настроить отправку. Не забыв о том, что 1С может несколько серверов приложений.
4) Самый ад: открыть Заббикс и настроить калькулируемые метрики (для каждого из разрезов аналитики), а так же при условвии, что новые данные (скажем, новый контрагент) заводятся в 1С, каждый раз при появлении нового элемента в разрезах аналитики - идти и донастраивать Заббикс.

Вот это вот всё и делает невозможным использования Заббикса для обработки данных. Слишком высокая трудоемкость обслуживания.
61. freewms 109 23.09.19 13:32 Сейчас в теме
(58) И из практики: Вы каждого 1С-программиста сможете научить работать с Заббиксом? Оно Вам надо? А метрики в Прометея у нас кидает каждый программист )))))
62. ilijaz 23.09.19 15:10 Сейчас в теме
>идти и донастраивать Заббикс.
Нет, этого не нужно, если использовать правила обнаружения, по которым метрики создаются из шаблона с нужным ключом для разреза.

>И из практики: Вы каждого 1С-программиста сможете научить работать с Заббиксом? Оно Вам надо? А метрики в Прометея у нас кидает каждый программист )))))
Ни в коем случае ни говорю, что нужно использовать заббикс. Ваше решение и использование прометеоуса как инструмента верное и наиболее гибкое. Хочу лишь донести, что ваши мысли об ограничениях забикса не свосем корректны.
63. freewms 109 23.09.19 21:21 Сейчас в теме
(62)
Нет, этого не нужно, если использовать правила обнаружения, по которым метрики создаются из шаблона с нужным ключом для разреза.

Насколько часто Вы планируете их запускать?


(62)
Хочу лишь донести, что ваши мысли об ограничениях забикса не свосем корректны.


Судя по Вашему отзыву, я, к сожалению, не смог донести корректно свои мысли касательно Заббикса.
Это шикарная система, с богатейшим функционалом и потрясающими возможностями (За исключением танцев с бубном вокруг Housekeeper'а и усекновения базы при больших нагрузках).

Однако для частоменяющегося и заранее неопределенного набора аналитических разрезов она слабо подходит вследствие своей жесткой структуры.


P.S. Вы очень интересный собеседник, с удовольствием бы продолжил общение в личке.
64. ilijaz 26.09.19 22:40 Сейчас в теме
(63)
Насколько часто Вы планируете их запускать?


А это зависит от необходимости и "тяжелости" процедуры (скрипта) обнаружения.


(63)
усекновения базы при больших нагрузках).


Да, часто мы хайлоад сами себе на ровном месте делаем собирая очень часто ненужны метрики.


(63)
Вы очень интересный собеседник, с удовольствием бы продолжил общение в личке.


Я только за. Мало людей, которые серьезно относятся к мониторингу.
Оставьте свое сообщение

См. также

FastCode - сервис поиска кода 1С 48

Инструменты и обработки Программист Архив с данными v8 Бесплатно (free) Инструментарий разработчика

Добавляйте свои шаблоны кода или ищите готовые шаблоны других разработчиков. Оставляйте отзывы и лайки, добавляйте понравившиеся фрагменты в свою библиотеку. Ищите по БСП или по общим модулям своей конфигурации.

10.09.2019    4865    m.bolsun    21       

Как мы разрабатываем в EDT 62

Статья Программист Нет файла v8 Бесплатно (free) EDT

EDT – это новая среда разработки, на которую сейчас перешли разработчики фирмы «1С». Однако до сих пор существует ряд «белых пятен», касающихся как теоретической, так и практической части применения этого инструмента. Про опыт перехода на разработку в EDT на конференции INFOSTART EVENT 2018 EDUCATION рассказал начальник сектора разработки в компании «Группа Полипластик» Владимир Крючков.

23.08.2019    5201    ivanov660    21       

1С:EDT. Первые шаги… или есть ли альтернатива конфигуратору? 81

Статья Программист Нет файла v8 Windows Бесплатно (free) EDT

Заменить конфигуратор сложно, а в некоторых случаях невозможно, если, например, нужно оперативно подправить код непосредственно в рабочей конфигурации…

15.08.2019    7773    ellavs    76       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 136

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования Разработка

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    8859    ids79    24       

Групповая обработка (Управляемая консоль отчетов) 26

Статья Программист Нет файла v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free) Обработка документов Инструментарий разработчика Обработка справочников

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    3523    Evg-Lylyk    6       

Перенос и резервное копирование настроек конфигуратора 55

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Удобный перенос между рабочими местами и резервное копирование настроек конфигуратора через подсистему "Инструменты разработчика".

14.04.2019    5024    tormozit    18       

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы) 9

Статья Программист Стажер Нет файла v8 v8::УФ v8::СКД Бесплатно (free) Инструментарий разработчика Работа с интерфейсом

Кастомизация СКД, нестандартная расшифровка, загрузка параметров и другие действия требуют наличия формы отчета. При создании СКД отчета по умолчанию форма не создается, в большинстве случаев это и не требуется. Однако при ситуациях, перечисленных выше, форму все же нужно создать. Это простая инструкция по созданию такой типовой формы.

25.03.2019    5381    ellavs    9       

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам 128

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    9830    stas_ganiev    18       

Мониторинг windows серверов на раз, два с помощью prometheus и grafana 9

Инструменты и обработки Системный администратор Архив с данными Абонемент ($m) Сервисные утилиты

Вдохновленный статьей про сбор, хранение и визуализации показателей с помощью prometheus и grafana подготовил готовый docker-compose файл для быстрой настройки и запуска мониторинга windows серверов.

1 стартмани

08.01.2019    4921    4    metmetmet    20       

Автоматизация тестирования с помощью WinAutomationUI 28

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Рассматривается использование инструмента WinAutomationUI для создания автоматизированных сценарных тестов на примере 1 + 1 = 2.

11.12.2018    3914    AlexKo    30       

[8.3] Анализ планов запросов (Управляемая консоль отчетов) 131

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Консоль запросов

Новый инструмент! Позволяет удобно работать с планами запросов, анализ планов в файловой базе.

19.11.2018    14037    Evg-Lylyk    6       

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git 268

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    33795    stas_ganiev    72       

Взгляд на практику разработки в EDT из зазеркалья 115

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) EDT

В данной статье расскажем о практическом опыте использования разработки в EDT: немного про интерфейс, командную разработку и GIT.

26.07.2018    17382    ivanov660    104       

Практика применения инструментов продвинутого разработчика 1С 155

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Статья адресована разработчикам. Будет чуть-чуть теории, будут воспоминания, и потом пойдет практика.

23.07.2018    19624    artbear    22       

Лайфхак: исходники внешних обработок и отчетов 1С - это просто. 33

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Важно: статья далеко на любителя всяких таких git'ов, gitlab'ов и oscript'ов.

22.06.2018    7663    new_user    11       

Создание поставки конфигурации 97

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

Пошаговая демонстрация создания поставки конфигурации, файлов обновления и настройка для обновления через FTP.

27.02.2018    13475    Vladimir_412    6       

Легкий способ обновления измененной конфигурации 41

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Легкий способ обновления измененной конфигурации. Сервис подготовки расширения конфигурации

25.10.2017    18574    avk72    63       

Консоль запросов для УФ с возможностью передачи готовой ТЗ в качестве параметра 15

Статья Программист Нет файла v8 v8::УФ Россия Windows Бесплатно (free) Консоль запросов

Небольшая статья о том, как передать готовую таблицу значений в качестве параметра запроса в консоли запросов.

11.07.2016    12502    vadim1011985    7       

Поиск несериализуемых значений при помещении в хранилище 12

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Универсальные функции

В статье разобран пример, как найти несериализуемые значения в случае помещения в хранилище коллекций, содержащих вложенные элементы. В качестве хранилищ рассмотрены временное хранилище значений и переменные типа ХранилищеЗначения.

02.03.2016    20122    balanton    2       

Подсветка синтаксиса 1С в текстовых редакторах Atom, Sublime Text, VS Code 101

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Разработка внешних компонент

Пакеты, добавляющие поддержку синтаксиса языка 1С:Предприятие 8 в текстовые редакторы Atom, Sublime Text и VS Code. И не только.

02.02.2016    22751    nixel    38       

Дай дернуть! О веб-сервисах, Linux'ах и добрых поисковых сайтах 61

Статья Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Инструментарий разработчика Администрирование данных 1С WEB

О веб-сервисах, апачах и *nix'ах. - установим на новенький убунту старенький апач с php. - дернем сервис из php-скрипта. - создадим приложение, позволяющее дергать произвольный сервис с произвольными данными. - ну и что там получится по пути в лес...

30.12.2015    22529    starik-2005    4       

xUnitFor1C - набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятии 8 177

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

xUnitFor1C - простой и мощный фреймворк для тестирования в 1С. Позволяет тестировать в разных режимах обычное приложение, тонкий и толстый клиент управляемого приложения. Поддерживаются любые платформы 1С - от 8.2.17 до 8.3.5 и выше. Любые наборы тестов могут прогоняться в полностью автоматическом режиме. Автозапуск используется в различных build-серверах в системах Continuous Integration. Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода. В статье я кратко описал историю продукта + вставил небольшое описание различных возможностей нашего фреймворка + список полезных статей/примеров/видео, обучающих/рассказывающих о практическом применении инструмента

13.11.2015    37307    artbear    45       

Сервис обмена кодом 28

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С? Теперь решение есть!

26.06.2015    17816    Infactum    23       

Многопоточность в 1С, клиент-серверный вариант 59

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Математика и алгоритмы

Многопоточность - это свойство системы выполнять одновременно более одной операции (в пределе - более одной программы), позволяя в ряде случаев добиться существенного роста производительности программного продукта...

21.06.2015    30263    starik-2005    50       

Универсальная функция для программного выполнения СКД 110

Статья Программист Нет файла v8::СКД 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика Универсальные функции

Часто встречаются вопросы на форумах о программном формировании СКД. Вроде и информации много по этому поводу, но... Все как всегда :) Собственно, в описании без лишних слов выложен текст общей функции, в которую, для выполнения отчета, нужно передать (минимум 2 параметра): СКД и ТабличныйДокумент.

20.05.2015    26661    dj_serega    18       

1C:Enterprise Development tools (EDT) или кодим в Eclipse 254

Статья Программист Нет файла v8 Windows Бесплатно (free) EDT

Как и выход мобильной платформы был для оооочень большого числа разработчиком открытием, так и я уверен, что и о новом конфигураторе - тоже мало кто слышал. Поэтому давайте попробуем пробежаться по новому конфигуратору. (Много больших картинок)

11.04.2015    70870    DitriX    297       

Перевод интерфейса конфигурации с использованием программы 1С:Переводчик 33

Статья Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Перевод текстов интерфейсов конфигураций без использования технологии памяти переводов приводит к рассогласованности терминологии, когда один и тот же объект в конфигурации в разных меню может называться по-разному. Решить эту проблему можно используя программу 1С:Переводчик.

09.02.2015    28309    boogie    21       

Генерация кода управляемой формы (декомпиляция элементов) 510

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика Практика программирования Работа с интерфейсом

Изменение форм типовых конфигураций лучше выполнять программно. Эта обработка упрощает добавление элементов на форму, генерируя код создания элементов, реквизитов и команд формы.

29.09.2014    92536    8926    ekaruk    123       

Типовой механизм упрощенного изменения конфигурации в ERP 2.0 и УТ 11 212

Статья Системный администратор Программист Нет файла v8 УТ10 ERP2 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Работа с интерфейсом

В ERP 2.0 (и соответственно в УТ 11) появился функционал для упрощенной возможности модификации конфигурации разработчиками. Он касается в частности изменения форм объектов и размещения подписок на элементы, теперь задача изменения конфигурации на поддержке упростилась. Также появились дополнительные возможности в новой версии платформы 8.3.5, которые также упростят задчу.

22.09.2014    49653    ivanov660    49       

Просмотр SQL-таблиц из 1С. Возможность очистки таблиц 26

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Обработка позволяет соединиться с SQL-сервером (SQL-авторизация), получить список баз на сервере, после выбора базы - получить список таблиц. Позволяет вывести таблицу на просмотр, при необходимости очистить таблицу средствами SQL (delete from), просмотреть соответствие имен таблиц объектам конфигурации, в которой запущена база

29.08.2014    18639    377    Abadonna    4       

TurboConf:Шаблоны - сервис для поиска и хранения фрагментов кода 43

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Сервис добавляет в Конфигуратор возможность поиска и хранения фрагментов кода. Делитесь своими шаблонами с другими разработчиками или используйте уже готовые!

13.08.2014    19877    m.bolsun    68       

Консоль запросов. Очередная гайка. 18

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Консоль запросов

Небольшое дополнение к консоли запросов. Позволяет создавать функцию вместе с текстом запроса.

23.07.2014    6444    mdmdvd    3       

Конвертер юникода в кириллицу 8

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Как преобразовать строку на юникоде в строку на кириллице, например, вот это: "/u042E/u043D/u0438/u043A/u043E/u0434" в это: "Юникод"

25.04.2014    9862    Mart    1       

Сохранение в Excel из WEB-клиента 13

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Не всегда корректно отрабатывает сохранение в Excel из 1C при работе в WEB-клиенте. Мне попалась ситуация, когда не отрабатывал код "ТабличныйДокумент.Записать(...)" и выдавалась ошибка "неизвестная ошибка.: object doesn't support this property or method" Ниже предложена процедура сохранения в Excel, корректно работающая во всех типах подключения.

24.04.2014    18368    Tavalik    1       

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода». 8

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Консоль запросов

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    23415    yuraos    2       

Автоматизированное тестирование в 8.3 163

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

В данной статье будет рассмотрен новый механизм системы "1С:Предприятие 8" поддерживаемый начиная с платформы версии 8.3. Механизм позволяет легко и быстро создавать различные сценарии тестирования, без необходимости написания сложных процедур и функций для имитации действий пользователя.

06.03.2014    54420    M.Shalimov    45       

Изменение данных среды выполнения «на лету» в процессе отладки с помощью внешней обработки 9

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

Иногда бывают такие моменты, что при остановке во время отладки необходимо «на лету» поменять какое-то значение реквизита или переменной. Или даже выполнить какой-то совершенно посторонний кусок кода в то время пока программа стоит на точке.

13.02.2014    7842    Рэйв    7       

Перенос таблицы значений между клиентом и сервером 50

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Инструментарий разработчика Практика программирования

Всем привет. Бывают такие моменты, когда необходимо таблицу значений передать с сервера на клиент, увы, Мутабельные значения и т.д. В тоже время есть возможность перекидывать все это добро через Хранилище, чем собственно разработчики часто пользуются. Но сегодня я бы хотел вынести на Вашу критику вот такой пример переноса. Сильно не пинайте.

10.12.2013    76643    Draconus    35       

Native ВК для 1CV8: независимое чтение файлов *.xls и *.xlsx 152

Инструменты и обработки Программист Архив с данными v8 Россия Windows Бесплатно (free) Инструментарий разработчика

Не требует установленного в системе Microsoft Office (Excel) и Open Office. Технология Native, не требует регистрации в реестре

15.08.2013    28421    383    Abadonna    161       

Свойства файла (версия, ширина/высота изображения и т.д.) 6

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

Получение дополнительной информации о файле средствами Windows. Получаем сведения о разработчике, версии программы, размеров изображения и т.д.

29.07.2013    10834    zsrg    1       

V8 FORMATTER: Расширенная версия 78

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Форматирование кода модуля одним хот-кеем, ввод "неудобных" символов без переключения раскладки.

22.07.2013    17611    190    Abadonna    124       

VM1C - виртуальная машина для 1С 43

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Инструментарий разработчика

Демонстрация возможностей виртуальной машины для 1С. Создаем и выполняем код модулей в режиме Предприятия в реальном времени.

07.06.2013    21701    m.bolsun    46       

Подсистема "COMExchange", консоль запросов, сервис обработки выборки запроса: корректируем регистры или «Берём банк, кассу, экспроприируем экспроприаторов». 7

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Консоль запросов

На примере шуточного примера продемонстрированы не шуточные возможности консоли запросов в составе подсистемы "COMExchange" для работы с регистрами, подчинёнными регистратору («обнуление» регистров, ввод начальных итогов (сведений), корректировка итогов).

31.03.2013    20222    yuraos    7