У меня есть два URL-адреса one.example.com и two.example.com, есть ли способ в системном журнале захвата, какой URL-адрес был использован для попадания на сервер?
Мне нужно изменить базу данных, основанную на этой информации.
Обновить
У меня есть устройство, на котором установлены busybox и syslogd. Я могу установить адрес на устройстве для системного журнала, например, 1.1.1.1:514. Но я не могу больше делать на устройстве, кроме этого.
У меня есть, например, 100 устройств, 50 типа A и 50 типа B. Проблема в том, что при использовании 1.1.1.1:514 на каждом устройстве в качестве адреса сервера системного журнала, при получении информации об устройстве на удаленном сервере системного журнала, я не могу чтобы определить, относится ли устройство к типу А или типу В.
Я имею в виду следующее решение, хотя может быть и другой способ добиться этого. Если я создаю два субдомена и указываю на них один и тот же адрес, т.е. typea.example.com и typeb.example.com, то теоретически в устройствах с типом AI для удаленного системного журнала будет задан тип typea.example.com:514 и для типа B введите b.example.com:514. Оба эти поддомена будут указывать на 1.1.1.1, поэтому информация системного журнала теперь принимается устройствами типа A и устройствами типа B.
Теперь мне нужно выяснить, как в файле syslog.conf на удаленном сервере выяснить, была ли информация получена устройством с использованием typea.example.com или typeb.example.com.
На сервере не установлен apache и т.д., Однако в PHP, например, мы можем использовать $_SERVER
и обычно я могу получить эту информацию из $_SERVER['HTTP_HOST']
. Есть ли способ сделать это в syslog.conf на удаленном сервере syslog.
Как уже упоминалось, это единственное решение, которое я имею в виду, и оно может быть не единственным. Системный журнал является новым для меня, и я сейчас обдумываю это. Из того, что я понимаю, а не переменная или параметры, системный журнал использует макросы. Кажется, ни один из предоставленных макросов не дает мне нужную информацию.
Я знаю, что могу также установить системный журнал, выполнив, скажем,
syslogd -R 1.1.1.1:514
Есть ли здесь я могу включить дополнительную информацию, например:
syslogd -R 1.1.1.1:514 type=a
Тогда я мог бы сказать, использовать $TYPE
для получения значения или альтернативно добавить пользовательский заголовок с системным журналом.
Как вы, вероятно, можете сказать, я ломаю голову над решениями и бью кирпичные стены. Любое решение или документы, которые могут указать мне в правильном направлении, будет принята с благодарностью.
В заключение я хотел бы упомянуть, что я также смотрю на перенаправление информации системного журнала на PHP-скрипт или C (я скажу скрипт, но я знаю, что ошибаюсь), чтобы проверить информацию там и затем вставить в БД.
Проще говоря, мне нужен способ дифференциации по типу А или типу В. Надеюсь, это проясняет ситуацию, и это не просто бред сумасшедшего.