Найти в Дзене
Ленбаланс

Мониторинг ККМ или средний чек в zabbix

Задача была чисто техническая, отслеживать состояние касс. Затем захотелось видеть и некоторые не совсем технические моменты, например количество не отправленных чеков в ОФД, сроки замены лицензий и фискальных накопителей. А закончилось средним чеком за день и размером скидок по каждой кассе. Пока закончилось. Выбор программы для сбора, хранения и представления данных пал на zabbiz. Тут все просто. Кассы в разных магазинах, могут меняться и перемещаться, фиксированных адресов нет. А значит касса сама должна отправлять данные на сервер. Такие проверки называются активными. Вот что сказала Алиса: «Проверка, при которой агент (Zabbix-агент) сам отправляет данные на сервер Zabbix.В отличие от пассивной проверки, при которой сервер запрашивает данные, а агент отправляет результат обратно, активные проверки требуют более сложной обработки.» В отличии например от prometheus в zabbix с активными проверками попроще, поэтому и выбрал. Пробовал и Prometheus, но мне там за красивостями проблем не
Оглавление

Задача была чисто техническая, отслеживать состояние касс. Затем захотелось видеть и некоторые не совсем технические моменты, например количество не отправленных чеков в ОФД, сроки замены лицензий и фискальных накопителей. А закончилось средним чеком за день и размером скидок по каждой кассе. Пока закончилось.

Техническая часть

Выбор программы для сбора, хранения и представления данных пал на zabbiz. Тут все просто. Кассы в разных магазинах, могут меняться и перемещаться, фиксированных адресов нет. А значит касса сама должна отправлять данные на сервер. Такие проверки называются активными.

Вот что сказала Алиса: «Проверка, при которой агент (Zabbix-агент) сам отправляет данные на сервер Zabbix.В отличие от пассивной проверки, при которой сервер запрашивает данные, а агент отправляет результат обратно, активные проверки требуют более сложной обработки.»

В отличии например от prometheus в zabbix с активными проверками попроще, поэтому и выбрал. Пробовал и Prometheus, но мне там за красивостями проблем не видно, а тут все лаконично.

Нет возможности в точности перенести настройки. Режима работы «Онлайн-проверка в разрешительном режиме», чтобы настроить профиль, у FM нет.

Наши настройки:

Настройки
Настройки

У настроек FM, только «Строгий контроль» или «Не используется».

Строгий контроль
Строгий контроль

Строгий контроль нам не подойдет, а если ставить «Не используется», то Mark Unit ничего проверять не будет. Я это так понял. Ведется переписка с разработчиками, ждем что ответят.

Что смотрим по технике:

  1. Загрузку процессора
    Если заведется вирус загрузка может скакнуть до 100%. Наблюдать полезно.
  2. Размер базы.
    При разрастании базы более 4Гб загрузка происходит медленно, по отзывам продавцов и сама касса не торопится.
  3. Остаток свободного места на диске.
    Растут логи, обновления занимают все больше места. В конечном итоге база не архивируется, что весьма критично.
  4. Время работы без перезагрузки.
    Просили включить. Есть мнение, что при долгой работе без перезагрузки начинаются проблемы с отправкой ОФД и тп.
  5. Количество «грязных» перезагрузок.
    Продавцы, бывает, ленятся нажимать на экран и отрубают питание планшета для перезагрузки. После чего жалуются на «синий экран». «А ничего не работает...»
  6. Версии ПО.
    Надо отслеживать, особенно при обновлении что бы понимать что сделано где проблема и что осталось.
  7. Номер AnyDesk.
    Удаленное соединение с кассой производится по AnyDesk и он, как показала практика, может внезапно поменять номер ID, пару раз прецеденты были.
  8. IP адрес рабочего места.
    Это под вопросом. Бывает надо понять какой интернет в магазине. По адресу можно хоть как-то прикинуть, проводной или мобильный.
  9. Широта и долгота.
    Сделано для отображения касс на карте. Просто красиво, практического смысла не много.
Карта расположения ккт
Карта расположения ккт

Такие вот красивые картинки.

Данные по колонкам собираются с разным интервалом, поэтому после «подключения», кассы и отметки на карте,появляются не сразу. Интервалы в таблице ниже.

Временные интервалы
Временные интервалы

Что смотрим по программам

  1. Не переданные ОФД.
    Касс более 200 и касиры не всегда вовремя предупреждают что ОФД «горит». Доходило до 30 дней и блокировка как следствие. Процесс «проталкивания» прост, заходим в драйвкр ККМ и делаем тест связи. Если тариф не закончился, ОФД начинают отправляться.
  2. Статус отправки ОФД. Надо знать, что бы обратить внимание и вовремя «пнуть».
  3. Статус синхронизации с локальной базой ЧЗ.
    Касса, хотя бы некоторое время, должна работать без интернета и хоты бы за наличку иметь возможность всё продать.
    Статус «0» - Всё хорошо.
    Статус «2» - Всё плохо.
    Статус «5» при отправке и выключенной кассе. Бывает так, что отправляется последний чек и касса закрывается. Чеков нет, статус не обновляется. Но это не кпитично
    Статус «3» «1» - Идет процесс отправки. Но это не точно. Бывают редко.
    Статус «2» видел 1 раз. Больше ничего сказать не могу.
  4. Срок годности лицензии ПО.
    Это пока в планах.
  5. Срок годности фискального накопителя
    Можно получить и из другого места, но пусть и он будет, посмотреть не сложно.
  6. Дата прайс листа
    Бывает глючит связь и свежий прайс лист до кассы не доходит, а здесь можем видеть до кого не дошло.

Что смотрим по деньгам

  1. Количество чеков.
  2. Сумму по чекам с начала дня.
  3. Сумму скидок по всем позициям чека.
  4. Средний чек за период, как результат деления суммы на количество.

Здесь необходимо сделать пояснение. Мы суммируем все чеки проходящие на кассу. Но чек могут например отменить илисделать возврат, ситуация у нас редкая но не невозможная. И тогда итоговая сумма не будет соответствовать продажам. Для устранения коллизий все параметры (пока кроме скидки, там требуетсяотдельное решение) считаются дважды по разным данным.

В течении дня мы суммируем все чеки и все суммы, а в конце дня проверяемся по итогам. Итоги прошлого дня по сумме и количеству чеков, для наглядности, выводим в отдельную колонку.

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

Суммы скидок
Суммы скидок
Продолжение таблицы
Продолжение таблицы

Не на все кассы заведены данные, поэтому пока есть пробелы.

Что приятно, по каждому числовому параметру, в том числе и по сумме, можно посмотреть график. Аналитикам, планировщикам, менеджерам должно понравится.

Неприятные моменты:

Powershell на кассе (на компе то как надо), не желает нормально воспринимать переменные
Пробовал
$env:USERPROFILE, $env:LOCALAPPDATA , $env:APPDATA (он по логике мне и нужен) – кидает куда не надо.
Поэтому приходится на каждой кассе проверять путь и при необходимости править. Что добавляет лишние действия при установке. Найти приемлемое решение пока нет времени.

Есть риски совершить ошибку с настройками. Тогда скрипты могут запускаться без перерыва и завесить кассовый компьютер.

Автор статьи: Валерий Казаков, технический специалист компании "Ленбаланс"

«1С:Бухобслуживание.Ленбаланс» - Санкт-Петербург: 8 (800) 222-21-75

Узнайте, как аутсорсинг бухобслуживания помогает предпринимателям вашего уровня сохранять фокус на главном — переходите по ссылке.