
Я хочу собрать некоторые журналы из разных приложений с разными IP-адресами и отправить их с централизованного сервера на сервер syslog. Теперь вопрос: как я могу отправлять сообщения с централизованного сервера на сервер syslog с оригинальными IP-адресами?
решение1
Поскольку вы не указываете никаких реальных инструментов и конфигураций, вы получите только ответ общего уровня.
Поскольку упоминается Syslog, я предполагаю, что вы используетеПротокол Syslog(RFC 5424).Формат сообщения системного журналаимеет HOSTNAME
поле для исходного имени хоста. Если ваша реализация основана на протоколе, должно быть имя хоста (или IP, если FQDN недоступно) исходного сервера вместо любого промежуточного сервера регистрации.
Поле HOSTNAME идентифицирует машину, которая изначально отправила сообщение syslog.
На практике не все приложения syslog способны предоставить FQDN. Таким образом, в HOSTNAME МОГУТ также присутствовать другие значения. В этом документе оговаривается использование других значений в таких ситуациях. Приложение syslog ДОЛЖНО сначала предоставить наиболее конкретное доступное значение.
Порядок предпочтения для содержимого поля HOSTNAME следующий
:
Полное доменное имя
Статический IP-адрес
имя хоста
Динамический IP-адрес
НУЛЕВОЕ ЗНАЧЕНИЕ
Если вы используетеAPI журнала событий Windows, вместо этого есть также элемент для аналогичной информации:
Компьютер (SystemPropertiesType)
Элемент Имя компьютера, на котором произошло событие.
<xs:element name="Computer" type="string" />
Итак, если вы используете стандартные инструменты, ваша система регистрации будет соответствовать этим требованиям по умолчанию. Если вы не используете ни один из них, в вашем вопросе недостаточно информации, чтобы сказать это. Честно говоря, было бы гораздо проще использовать эти стандартизированные централизованные методы регистрации.