Изменить формат сообщения с шаблоном для не назначения файла - PullRequest
0 голосов
/ 04 января 2019

С конфигурацией syslog-ng (v3.3), как мне изменить формат сообщения с помощью шаблонов для не назначения файла. Я хочу иметь возможность сделать что-то вроде этого:

destination d_syslog_to_agent {
    syslog( host.name.company.com transport("udp") port(12345) template("${ISODATE} ${TAGS} ${HOST} ${MESSAGE}\n"));
};

Причина, по которой я хочу включить шаблоны здесь, заключается в том, что я хочу пометить свои сообщения с помощью макроса $ {TAGS}. Если есть другие способы пометки, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 09 января 2019

Конфигурация, которую вы написали, должна выполнить эту работу.

Если вы хотите добавить теги в сообщение журнала, вы можете использовать правило перезаписи set-tag().

Например:

source s_net8888
{
    network(
        ip("localhost")
        port(8888));
};

destination d_syslog_to_agent
{
    syslog(
        "localhost"
        transport("tcp")
        port(12345) 
        template("${ISODATE} ${TAGS} ${HOST} ${MESSAGE}\n"));
};

log
{
    source(s_net8888);
    rewrite 
    {
        set-tag(".mytags.test-TAG");
    };
    destination(d_syslog_to_agent);
};

При отправке сообщения журнала на локальный хост: 8888 сгенерирует следующий вывод на локальном хосте: 12345:

338 <38>1 2019-01-09T13:16:13+01:00 localhost prg00000 1234 - - 2019-01-09T13:16:13+01:00 .mytags.test-TAG,.source.s_net8888 localhost seq: 0000000000, thread: 0000, runid: 1547036173, stamp: 2019-01-09T13:16:13 PADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADD
...