LazarenkoA / prometheus_1C_exporter

Мониторинг кластера 1С, отправка данных в prometheus
Mozilla Public License 2.0
130 stars 35 forks source link

Без рута таймаут ожидания результатов от rac #32

Closed phant closed 1 year ago

phant commented 1 year ago

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

[Service]
Type=simple
User=usr1cv8
Group=grp1cv8

С версией 8.3.20.1838 всё работало более менее, изредка возникали таймауты. С версией 8.3.23.1688 получил что около 90% запусков rac завершаются по таймауту. Настройки "частоты" как в примере

При запуске службы экспортера от рута таймауты отсутствуют. Предположу, что это может быть связано с какими-нибудь ограничениями для простых пользвателей (может быть на частый запуск процессов или чем-нибудь похожим). OS Debian 11.7.

{"error":"Произошла ошибка выполнения при попытки получить идентификатор кластера: \n\tВыполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 cluster list]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:05+05:
00"}
{"error":"Не удалось получить идентификатор кластера","level":"error","msg":"","time":"2023-06-29T10:24:05+05:00"}
{"Name":"Connect","error":"Выполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 connection list --cluster=]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:20+05:00"}
{"Name":"Session","error":"Выполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 session list --cluster=]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:20+05:00"}
{"Name":"SessionsData","error":"Выполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 session list --cluster=]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:20+05:00"}
{"error":"Произошла ошибка выполнения при попытки получить идентификатор кластера: \n\tВыполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 cluster list]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"error":"Не удалось получить идентификатор кластера","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"error":"Произошла ошибка выполнения при попытки получить идентификатор кластера: \n\tВыполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 cluster list]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"error":"Не удалось получить идентификатор кластера","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"Name":"AvailablePerformance","error":"Выполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"Name":"AvailablePerformance","error":"Выполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f]\n\t","level":"error","msg":"Произошла ошибка","time":"2023-06-29T10:24:35+05:00"}
{"Name":"ClientLic","error":"Выполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 session list --licenses --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"error":"Произошла ошибка выполнения при попытки получить идентификатор кластера: \n\tВыполнение команды прервано по таймауту\n\tПараметры: [/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 cluster list]\n\t","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
{"error":"Не удалось получить идентификатор кластера","level":"error","msg":"","time":"2023-06-29T10:24:35+05:00"}
LazarenkoA commented 1 year ago

а если в терминале под usr1cv8 попробовать запустить команду /opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7 она выполняется?

phant commented 1 year ago

От usr1cv8 запускается. По замерам команды time rac от usr1cv8 отрабатывает 12 секунд

sudo -u usr1cv8 time -v /opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f

<ответ rac>

        Command being timed: "/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f"
        User time (seconds): 7.82
        System time (seconds): 3.85
        Percent of CPU this job got: 97%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:12.04
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 44140
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 2259
        Voluntary context switches: 73
        Involuntary context switches: 1371
        Swaps: 0
        File system inputs: 0
        File system outputs: 32
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

от рута 0.33 секунды

# time -v /opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f

<ответ rac>

        Command being timed: "/opt/1cv8/x86_64/8.3.23.1688/rac localhost:1545 process list --cluster=2029820c-f1fe-4920-853b-a35579bd2a7f"
        User time (seconds): 0.03
        System time (seconds): 0.02
        Percent of CPU this job got: 19%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.33
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 40932
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 2020
        Voluntary context switches: 38
        Involuntary context switches: 16
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

От пользователя usr1cv8 почему-то в 100 раз больше переключение контекста🤔🤔🤔

LazarenkoA commented 1 year ago

хм, странно, но это объясняет почему таймаут получаем. Не думаю что увеличение таймаута будет правильным решением, если по 10 секунд будет уходить на выполнение одной команды, это же дно. По проблеме лучше написать на v8@1c

slothfk commented 1 year ago

А selinux какой-нибудь не включен ли?

phant commented 1 year ago

Нет, он не установлен и не включен. Дебиан по дефолту без selinux.

apt list --installed selinux нечего не находит check-selinux-installation нет такой команды

LazarenkoA commented 1 year ago

я могу закрыть это ишью?

phant commented 1 year ago

что делать не придумал, кроме как запускать от рута... поэтому закрывать или нет, решайте сами