Stackdriver Logging - уровни важности журнала не сообщаются / не принимаются при отправке через системный журнал

Похоже, что серьезность журнала не передается на платформу Google Cloud Logging через fluentd agent, для воспроизведения вы можете попробовать:

Bash:

logger -p user.crit "My log"

или PHP:

php -r "syslog(LOG_CRIT,'My log');"

или Python:

import syslog

syslog.syslog(syslog.LOG_ERR, 'My log')

данные передаются в средство просмотра журналов Google, как показано ниже:

введите здесь описание изображения

но серьезность не передается, какие-либо идеи, почему это должно быть?




Ответы (1)


Хорошо, удалось найти решение, вот и все:

  1. обновите формат вывода системного журнала в /etc/rsyslog.conf до следующего:

    $template googlelogger,"%syslogseverity-text% %timegenerated% %HOSTNAME% %syslogtag% %msg%\n"
    $ActionFileDefaultTemplate googlelogger
    
  2. затем обновите /etc/google-fluentd/config.d/syslog.conf формат шаблона:

    format /^(?<severity>[a-zA-Z]*) (?<time>[^ ]*\s*[^ ]* [^ ]*) (?<host>[^ ]*) (?<service>[a-zA-Z0-9_\/\.\-]*): *(?<message>.*)$/
    time_format %b %d %H:%M:%S
    

не забудьте перезапустить и rsyslog, и google-fluentd после того, как серьезность будет отправлена ​​в Google Cloud Logging

person Marcin    schedule 21.05.2017