Варианты мониторинга 1С

03.03.26

Администрирование - Мониторинг

Рассмотрим разнообразные подходы к мониторингу 1С. Организация мониторинга публикаций на IIS при помощи ELK. Мониторинг состояния базы при помощи zabbix и rac. Прямые запросы при помощи самописных скриптов из zabbix.

Мониторинг веб-сервисов

Для контроля работы веб-сервисов используется анализ логов IIS, используем ELK и zabbix.

1. Натравливаем filebeat на логи IIS. Отправляем данные о работе публикаций в индекс Elasticsearch. 

Пример filebeat.yml для логов IIS

###################### Filebeat Configuration #########################

# ============================== Filebeat modules ==============================

filebeat.modules:
  - module: iis
    access:
      enabled: true
      var.paths:
        - C:/inetpub/logs/LogFiles/W3SVC*/u_ex*.log
    error:
      enabled: true
      var.paths:
        - C:/inetpub/logs/LogFiles/W3SVC*/u_ex*.log

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false


# =============================== Template =====================================

setup.template.settings:
  index.number_of_shards: 1


# =============================== Output: Logstash ==============================

output.logstash:
  hosts: ["host-elk:port"]
  ssl:
    enabled: false


# =============================== Processors ===================================

processors:
  - add_host_metadata: {}
  - add_cloud_metadata: {}
  - add_fields:
      target: ""
      fields:
        logsource: "iis"


# =============================== Logging =======================================

logging.level: info
logging.to_files: true
logging.files:
  path: C:/ProgramData/filebeat/logs
  name: filebeat
  keepfiles: 7
  permissions: 0644

2. Внешним скриптом на python проверяем из zabbix данные и настраиваем триггер.

Пример скрипта
 

from elasticsearch import Elasticsearch
import time
import json
import pandas as pd
import datetime
import urllib3
import config
from sqlalchemy import create_engine, inspect, text
from datetime import timezone
import sys
sys.stdout.reconfigure(encoding='utf8')
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

es_str = 'https://usr:passG@elk-server:9200/'

index_pattern = '*log-iis*'
delta_time = "now-20m"


def connect_elasticsearch():
    _es = Elasticsearch(
        [es_str],
        use_ssl=True,
        verify_certs=False,
        ssl_show_warn=False
    )
    return _es


def search(es_object, index_name, search):
    res = es_object.search(index=index_name, body=search, size=10000)
    return res


if __name__ == '__main__':
    try:
        start = datetime.datetime.now()
        logger.info(f'{start} - {index_pattern} start')

        es = connect_elasticsearch()

        search_object = {
            "query": {
                "bool": {
                    "filter": [
                        {
                            "range": {
                                "@timestamp": {
                                    "gte": delta_time,
                                    "lte": "now"
                                }
                            }
                        },
                    ]
                }
            }
        }

        esss = search(es, index_pattern, json.dumps(search_object))
        df = pd.DataFrame.from_dict(pd.json_normalize(esss['hits']['hits']), orient='columns')
        df = df[df['_source.url.path'] == '/DB/ws/service']
        df = df.drop_duplicates(subset=['_source.event.original'], keep='first')

        if df.shape[0] > 0 and df['_source.time_taken'].mean() > 2000:

            print('Среднее время обращения к сервису service за последние 20 минут больше 2 секунд')
        else:
           print(1)

    except Exception as err:
        print(err)

3. При срабатывании триггера отправляем аларм в telegram из zabbix





Мониторинг состояния базы при помощи rac

1. В zabbix внешним скриптом проверяем параметры базы в кластере 1С. Пример скрипта
 

import subprocess

rac_path = "C:\\Program Files\\1cv8\\8.3.XX.XXXX\\bin\\rac.exe"
sessions_info = subprocess.Popen(
                        f'"{rac_path}" infobase info --infobase=base_guid --infobase-user=user --infobase-pwd=pass --cluster=cluster_guid server_ras:1545',
                        stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
(output, err) = sessions_info.communicate()
if err:
    print(err)
else:
    text = output.decode(encoding='cp866')
    if 'scheduled-jobs-deny                                                : off' in text:
        print(1)
    else:
        print("В настройках базы выключены регламентные задания")

2. Настраиваем триггер, при его срабатывании получаем сообщение в telegram

 

 

Прямые запросы в БД

1. Настраиваем элемент данных прям в zabbix

В качестве ключа указываем такие данные
 

db.odbc.select[item_key,,"Driver=MSSQL;Server=server_db;Port=1433"]

Выполняем нужный нам запрос, например
SELECT count([session_id])
  FROM [Indicator].[dbo].[clst1c_session]
  WHERE [duration_current] > 20000
  AND [_eventdate] > dateadd(mi, datediff(mi, 0, getdate()) - 1, 0)
  AND [app_id] = '1CV8C' 
 [user_name] NOT LIKE '%Формирование%' 
  AND [infobase] = 'base_guid'

2. Настраиваем триггер и, при его срабатывании, получаем сообщение в telegram



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

Здесь надо учитывать, что в базе, к которой мы делаем запрос, уже аккуратно лежат данные, ежеминутно получаемые запросами rac.

Вступайте в нашу телеграмм-группу Инфостарт

Мониторинг Zabbix RAS ELK

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    90231    69    44    

76

Инструменты администратора БД Корректировка данных Мониторинг Учет документов 1С 8.3 1С:Управление торговлей 10 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

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

6100 руб.

11.06.2026    754    2    0    

4

HighLoad оптимизация Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Код не меняли год, а операция, которая раньше шла секунду, стала идти минуту. Виноват в таком обычно не код, а то, что данные перешли порог: у квадратичного алгоритма удвоение объёма стоит четырёхкратного роста работы, поэтому поломка не подкрадывается постепенно, а наступает сразу. В разборе - случай коллеги, где сервис деградировал месяц. Три объяснения закрыли замером, а развязку дал профиль на 16 642 снимках: 80,0 % процессорного времени в одной функции, которую при этом нельзя было чинить. Разогнали её 20 копий одного документа по 443 581 байту, наплодил их собственный экспортёр сервиса. Дальше - как отличить квадратичный рост от линейного двумя замерами, где такие места прячутся в коде 1С и что делать, если урезать боевую базу вдвое нельзя.

27.08.2026    929    nedomolkov.ivan    2    

0

DevOps и автоматизация разработки Мониторинг Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    20169    mrXoxot    53    

81

Технологический журнал Мониторинг Мессенджеры и боты Системный администратор Программист 1С 8.3 1С 8.5 Россия Абонемент ($m)

Лёгкое расширение для 1С, которое ловит ошибки — включая упавшие внутри транзакции проведения и не замеченные типовыми средствами — и сразу шлёт алерты в Telegram и на почту. Не заимствует ни одного объекта конфигурации, ставится на любую базу (типовую или самописную, с БСП или без) за 5 минут. Дедуплицирует повторы, не спамит при шторме ошибок, маскирует персональные данные перед отправкой наружу. Работает даже при отключённом администратором штатном Журнале регистрации — у расширения есть собственный независимый журнал самодиагностики.

3 стартмани

25.08.2026    362    1    KonMa    0    

2

Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Почему счётчики кластера не отвечают на вопрос и как спросить по-человечески. Подход вопрос вместо метрики, семь вопросов о нагрузке, и техника, без которой это не работает: зерно снимка агрегат, сетевой каталог для многоузлового кластера, определение своей базы по сеансу, версия RAS под сервер.

25.08.2026    860    nedomolkov.ivan    0    

0

Мониторинг Системный администратор Программист 1С 8.3 Абонемент ($m)

Мониторинг нагрузки кластера, который отвечает на человеческие вопросы: кто блокировал базу, кто грузил сервер, что было ночью. Диаграмма с именами людей вместо столбцов счётчиков. Штатный АдминистрированиеСервера, без rac.exe и COM, к СУБД не обращается. С регламентным сбором истории.

10 стартмани

25.08.2026    611    5    nedomolkov.ivan    2    

1

Файловый обмен (TXT, XML, DBF), FTP Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Три пакетных файла проверили на то, что они на самом деле возвращают. Один сообщал об ошибке при успешном завершении, два возвращали ноль после провала. Мониторинг по кодам возврата на этой цепочке горел бы красным там, где всё хорошо, и молчал бы там, где работа не делалась тридцать пять дней. Началось всё со скучной сверки расписания с журналом, а кончилось матрицей, в которой два шага из пяти стоят с нулём при шести прогонах из шести у соседей. Шаг, отработавший шесть раз, всё это время строил результат по срезу от десятого июня: сорок один день одних и тех же данных. Разбираю три механизма, каждый из которых превращал провал в зелёную строку отчёта, и почему единственная метрика, которая поймала бы всё сразу, - возраст данных внутри результата. Плюс честные границы: что после починки не замерили и какой вывод статьи на площадке так и не внедрили.

25.08.2026    842    nedomolkov.ivan    0    

1
Для отправки сообщения требуется регистрация/авторизация