Я хочу настроить экспорт журналов, созданных в ОС, оптимизированной для контейнеров, используя Stackdriver Exports.
В случае экземпляра виртуальной машины Linux я знаю, что logName берется из файла, например /etc/google-fluentd/config.d/[APPLICATION_NAME].conf
. Например:
Ниже показано, как /etc/google-fluentd/config.d/syslog.conf
выглядит на виртуальной машине Linux:
<source>
@type tail
# Parse the timestamp, but still collect the entire line as 'message'
format syslog
path /var/log/syslog
pos_file /var/lib/google-fluentd/pos/syslog.pos
read_from_head true
tag some-log-name
</source>
В соответствии с приведенным выше файлом conf имя журнала в журналах StackDriver будет иметь вид "projects / [PROJECT-NAME] / logs / some-log-name". Вот ресурс, который объясняет конфигурацию агента ведения журнала в случае, если агент устанавливается вручную.
Теперь, в случае ОС, ОПТИМИЗИРОВАННОЙ КОНТЕЙНЕРОМ, нет папки с именем /etc/google-fluentd
, и я не могу найти файл conf, в котором я изменяю имя журнала, чтобы отразить его в StackDriver Log Viewer. На данный момент вот пример журнала, созданного этой виртуальной машиной:
{
insertId: "some-random-id"
jsonPayload: {…}
logName: "projects/[PROJECT-NAME]/logs/gcplogs-docker-driver"
receiveTimestamp: "2019-03-28T13:10:31.609437487Z"
resource: {…}
timestamp: "2019-03-28T13:10:30.588317266Z"
}
В приведенном выше журнале я не знаю, откуда берется gcplogs-docker-driver в logName. Я ищу способ изменить это.
(PS Изменение имени журнала важно для меня, потому что приемники, созданные для экспорта журналов в Google Cloud Bucket создает каталог, имя которого идентично тегу logName (для logName: "projects/[PROJECT-NAME]/logs/gcplogs-docker-driver
будет создан каталог с именем gcplogs-docker-driver
).