slothfk / 1c_zabbix_template_ce

Шаблон Zabbix для мониторинга кластера серверов 1С Предприятия 8.3
MIT License
155 stars 54 forks source link

1c_ws: fatal: division by zero attempted #54

Open bofh2010 opened 3 years ago

bofh2010 commented 3 years ago

ОС Windows При построении таблиц ТОП25 иногда в начале встречается ошибка awk: cmd. line:10: (FILENAME=- FNR=22568) fatal: division by zero attempted данные после нее отображаются. Закономерности пока не выявил. Возможно цифры после FNR меняются. Посмотрю

Снимок

slothfk commented 3 years ago

Для решения этой проблемы нужен "проблемный" файл журнала

bofh2010 commented 3 years ago

Немного сузил район поисков. Пока ошибку видел только в элементе "[1С/Серверные вызовы] ТОП25 "ленивых" вызовов". Зато в нем она появляется пока каждый раз. Как определить какой именно файл? В ТЖ сыпется много разных файлов. Например в папке excps ТЖ у меня более 300 разных папок.

slothfk commented 3 years ago

нужны файлы из каталога calls по процессам rphost

slothfk commented 3 years ago

Версия платформы какая, кстати?

bofh2010 commented 3 years ago

К сожалению мне наши безопасники не дают передать файлы. Платформы у нас 2 разные. 8.3.13.1690 и 8.3.16.1502. Скорее всего данный журнал относится к более новой версии платформы.

slothfk commented 3 years ago

Скорее всего данный журнал относится к более новой версии платформы.

Скорее наоборот! Посмотрите по серверу с 13-ой платформой есть ли данные в топ-е по ЦПУ? В файлах журналов в каталоге calls у процессов rphost есть ли свойство CpuTime?

bofh2010 commented 3 years ago

00:44.144017-15016,CALL,2,p:processName=scales,Context=ОбщийМодуль.Вызов : ОбщийМодуль.СоединенияИБВызовСервера.Модуль.ПараметрыБлокировкиСеансов,Method=0,MemoryPeak=926860,InBytes=0,OutBytes=0,CpuTime=15625

Вот например одна строка из лога rphost.

bofh2010 commented 3 years ago

У меня в одном из каталогов rphost 2 файла логов по 3 байта каждый. По сути пустые. Я понимаю, что скорее всего данный рабочий процесс просто не нагружен. Возможно в этом причина?

slothfk commented 3 years ago

Возможно в этом причина?

Возможно, но тогда это ошибка работы скрипта! Попробую воспроизвести и проверить ...

slothfk commented 3 years ago

О проблеме известно от разных людей (возникает на Windows) но никто пока не может предоставить ТЖ, на котором данная проблема возникает! Если кто-то сможет предоставить файлы ТЖ, приводящие к данной проблеме, это заметно помогло бы в ее решении!

AntonShtefo commented 2 years ago

@slothfk Методом проб и ошибок стало понятно, что данная проблема возникает если в технологическом журнале CpuTime равен "0" также стоит в коде переместить сортировку вывода "sort -rn" в конец, потому как для режима lazy оно не применимо вначале, и сортировка по первому столбцу не выполняется.

AntonShtefo commented 2 years ago

Вообще я так понял если в формулу с делением попадает значение "0", то выпадает эта ошибка, и в последствии скрипт останавливается и выводятся не все значения в конечную таблицу.

slothfk commented 2 years ago

технологическом журнале CpuTime равен "0"

Скорее отсутствует? Какая версия платформы? Хотя, надо подумать как это обрабатывать корректно ...

AntonShtefo commented 2 years ago

технологическом журнале CpuTime равен "0"

Скорее отсутствует? Какая версия платформы? Хотя, надо подумать как это обрабатывать корректно ...

Без разницы какая версия, и на 8.3.15 и на 8.3.20 такая проблема возникает периодически. Сам параметр присутствует но отдает значение 0 Например если будет такая строка: 41:32.948002-5608991,CALL,1,p:processName=BP_EK,Module=ПолнотекстовыйПоискСервер,Method=ОбновлениеИндексаППДПоРасписанию,MemoryPeak=266513056,InBytes=25786038,OutBytes=35259501,CpuTime=0 Вообще если будет какое-либо значение равно 0 то формула не отработает, о чем и говорит ошибка.

slothfk commented 2 years ago

Спасибо за пример ТЖ!