akpaevj / OneSTools.EventLog

Библиотеки и готовые инструменты для чтения и экспорта журнала регистрации 1С в ClickHouse и ElasticSearch
MIT License
126 stars 45 forks source link

Перестает работать процесс выгрузки на определенных базах #35

Closed hawkxtreme closed 2 years ago

hawkxtreme commented 2 years ago

Ситуация следующая. Есть сервер Win Server 2019 обслуживающий сервисы 1с. На данном сервере установлен последний релиз экспортера. Также установлена последняя версия .NET Runtime 5.0.16.31121 (с 5.0.12 ошибка также остается). Также установлен докер с clickhouse. Образ от яндекса. Сам экспортер установлен как служба с сервисной доменной учеткой на доступ к шарам. Есть шары с рабочих серверов на корневые папки с журналами регистрации. Последовательный формат. Разбивка по суткам.

В произвольные моменты по какой- то причине перестает работать выгрузка с следующей ошибкой лога:

2022-04-25 09:54:18.962 | Error | OneSTools.EventLog.Exporter.Core.ClickHouse.ClickHouseStorage[0]
    Failed to write data to meat_vs_prod

В журнале windows следующая ошибка.

Не удается найти описание для идентификатора события 0 из источника Application. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.
Если событие возникло на другом компьютере, возможно, потребуется сохранить отображаемые сведения вместе с событием.
Unable to log .NET application events. The source was not found, but some or all event logs could not be searched.  To create the source, you need permission to read all event logs to make sure that the new source name is unique.  Inaccessible logs: Security, State.
Ресурс сообщения существует, но сообщение не найдено в таблице сообщений

EventLogExporter.zip mstsc_LkSWGL99iD j2IAiowH8Q

hawkxtreme commented 2 years ago

Оказывается clickhouse не хватала оперативной памяти в докер контейнере

fail: OneSTools.EventLog.Exporter.Core.ClickHouse.ClickHouseStorage[0]
      Failed to write data to uvs20_product
      System.Net.Http.HttpRequestException: An error occurred while sending the request.
       ---> System.IO.IOException: Unable to read data from the transport connection: Удаленный хост принудительно разорвал существующее подключение..
       ---> System.Net.Sockets.SocketException (10054): Удаленный хост принудительно разорвал существующее подключение.
         --- End of inner exception stack trace ---
         at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
         at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
         at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
         at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
         at ClickHouse.Client.ADO.ClickHouseConnection.PostSqlQueryAsync(String sqlQuery, CancellationToken token, ClickHouseParameterCollection parameters)
         at ClickHouse.Client.ADO.ClickHouseCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at ClickHouse.Client.Utility.ConnectionExtensions.ExecuteReaderAsync(DbConnection connection, String sql)
         at ClickHouse.Client.Copy.ClickHouseBulkCopy.WriteToServerAsync(IEnumerable`1 rows, IReadOnlyCollection`1 columns, CancellationToken token)
         at OneSTools.EventLog.Exporter.Core.ClickHouse.ClickHouseStorage.WriteEventLogDataAsync(List`1 entities, CancellationToken cancellationToken)
akpaevj commented 2 years ago

Не успел ответить, но рад, что все разрешилось 😄