Ключевые вопросы API Seq
В настоящее время мы внедряем Serilog & Seq - кстати, замечательные продукты - и возникли следующие ключевые вопросы, связанные с API (я думаю, что они довольно тесно связаны и лаконичны, поэтому я бы лучше опубликовал их вместе):
Есть ли какое-либо свойство, автоматически сохраненное в событии, идентифицирующее ключ API?
Наш первый подход заключается в добавлении свойства к каждому ключу API. В частности, мы добавляем свойство "App", содержащее свойство применения заголовка ключа API, вставленного при копировании.
Являются ли типы событий глобальными или локальными для каждого ключа API?
Из документации я понимаю, что один и тот же шаблон, зарегистрированный с разными ключами API, будет иметь один и тот же тип события - поэтому он является "глобальным":
Однако работа с шаблонами сообщений является многословной, поэтому Seq создает 32-битный хэш шаблона сообщения и делает его доступным во встроенном свойстве @EventType. (Источник: официальные документы)
Можно ли указывать ключ API-ключа вместо автоматического создания?
Мотивация избегает необходимости обновлять код / конфиги после установки нового экземпляра Seq. Более того, когда мы понимаем, что резервное копирование не поддерживается при обновлении версии сервера:
Версия должна быть идентична той, которая использовалась при создании резервной копии. (Источник: официальные документы)
2 ответа
- Есть ли какое-либо свойство, автоматически сохраняемое в событии, идентифицирующее ключ API?
Нет, применяемые свойства должны быть использованы.
- Являются ли типы событий глобальными или локальными для каждого ключа API?
Они глобальные. Действительно, это полезно, если у вас есть один и тот же шаблон события (т. Е. Тип события) в разных приложениях (т. Е. Ключи API), чтобы можно было фильтровать по типу события и приложению (используя свойство на каждый ключ API, например "Приложение").,
- Можно ли указывать ключ API-ключа вместо автоматического создания?
Я думаю, что вы путаете ключ API и мастер-ключ, которые не являются концепциями регистрации.
Ключ API - это то, что вы используете на стороне клиента для аутентификации с помощью Seq, так что он позволяет вставлять в него логи.
Главный ключ - это ключ шифрования, используемый на стороне сервера для шифрования данных.
Итак, чтобы ответить на ваши вопросы:
- Есть ли какое-либо свойство, автоматически сохраненное в событии, идентифицирующее ключ API?
A: Нет... И это было бы огромной проблемой безопасности, если бы в сообщении журнала пропускался ключ API
- Являются ли типы событий глобальными или локальными для каждого ключа API?
A: Типы событий не имеют никакого отношения к API-ключу, поэтому, чтобы выразить это как "глобальный"
- Можно ли указывать ключ API-ключа вместо автоматического создания?
A: Да. Вы можете генерировать ключи API для каждого из ваших приложений, и они будут оставаться неизменными при всех обновлениях