2015-11-27 2 views
1

У меня есть приложение WPF, которое работает в интрасети, а все коммуникации с БД выполняются через веб-службы REST. Поскольку для целей аудита мне необходимо хранить действия пользователей (журналы из Information to Fatal logs) в экземпляр NoDb (Seq или RavenDB). Я видел this thread и, похоже, выполняет часть задания. Как отправить эту информацию в Seq/RavenDB? они выставляют API?Запись журнала журнала клиента a NoDB с использованием WebService

Еще один вопрос о надежности, какой лучший подход, на ваш взгляд, иметь повторный/сбалансированный аудит webservice? Лучше всего иметь конфигурацию, которая не требует слишком много усилий

Благодаря

ответ

0

1) Если вам нужно использовать веб-службы, веб-служба может отправлять события в послед через HTTP/S - API Docs находятся : http://docs.getseq.net/docs/posting-raw-events (в этом случае рекомендуется проводить периодические мероприятия).

2) Если вы можете избежать буквальной интерпретации «веб-службы» и вместо этого просто встать на другую конечную точку HTTP на сервере, который предоставляет веб-службы, вы можете установить Seq для прослушивания с префиксом URL, например https://my-server/seq, что позволяет другие услуги для прослушивания на других конечных точек, как https://my-server/ ... Документация по их настройке здесь: http://docs.getseq.net/docs/storage-paths-and-urls#section-the-listen-uri

3) Опять же в случае послед, если вы отправляете события через Serilog вы можете настроить два сервера Seq и из них:

.WriteTo.Seq("https://primary-seq") 
.WriteTo.Seq("https://backup-seq") 

В этом c все ваши поисковые запросы и т. д. должны будут иметь место в основном экземпляре, поскольку данные конфигурации (разрешения и так далее) не будут реплицироваться между ними.

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

Если ваши требования к аудиту носят транзакционный характер (то есть законность/соблюдение), вам, вероятно, следует рассмотреть возможность записи этих внутренних регулярных транзакций в вашу базу данных SQL, если таковая имеется.

Смежные вопросы