Настройка узла «Ретранслятора» с ПО FluentdДля централизованного сбора событий в «Хранилище журналов» необходимо настроить отдельный узел с установленным ПО Fluentd и СУБД PostgreSQL, выступающей в качестве «Хранилища журналов» (в общем случае данные компоненты могут устанавливаться на отдельный узел, но в рамках настоящей процедуры этот вариант не рассматривается). Для этого на узле «Ретранслятора» нужно создать и настроить БД «Хранилища журналов»: |
postgres:sudo su postgres |
psql |
Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки |
fluentd_logs_db (символ ; в конце строки при работе с интерактивным интерфейсом обязателен):postgres=# CREATE DATABASE fluentd_logs_db; |
fluentd с паролем tufotukur для дальнейшего подключения к БД:postgres=# CREATE USER fluentd WITH PASSWORD 'tufotukur'; |
В приведенной команде имя пользователя и пароль используются в качестве примера. Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы $!@%^&#_-=+~`;:.,?()*{}[]\|/. |
fluentd_logs_db созданному пользователю fluentd:postgres=# GRANT ALL PRIVILEGES ON DATABASE fluentd_logs_db TO fluentd; |
fluentd_logs_db:postgres=# \c fluentd_logs_db |
logs:При использовании СУБД PostgreSQL версии выше 11 могут понадобиться дополнительные права для схемы
|
fluentd_logs_db=# CREATE TABLE logs (
id SERIAL PRIMARY KEY,
time timestamp with time zone NOT NULL,
source VARCHAR(255) NOT NULL,
"sourceType" VARCHAR(255) NOT NULL,
loglevel VARCHAR(255) NOT NULL,
module VARCHAR(255) NOT NULL,
message TEXT NOT NULL
); |
fluentd:fluentd_logs_db=# GRANT ALL PRIVILEGES ON TABLE logs TO fluentd; |
выйти из интерактивного интерфейса терминального клиента СУБД:
postgres=# \q |
postgres:exit |
После создания БД нужно создать и настроить «Ретранслятор»:
https://github.com/fluent/fluent-plugin-sql
;/etc/fluent/fluentd.conf:Здесь и далее примеры IP-адресов приведены в соответствии с RFC 5737. Указанные IP-адреса должны быть заменены на актуальные, используемые согласно схеме адресации, принятой в инфраструктуре организации. |
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<system>
log_level debug
</system>
<match termidesk.*>
@type sql
host 192.0.2.33
port 5433
database fluentd_logs_db
adapter postgresql
username fluentd
password tufotukur
<table>
table logs
column_mapping "time:time,source:source,sourceType:sourceType,loglevel:loglevel,module:module,message:message"
</table>
</match> |
Перечень параметров, задающихся через файл, приведен в таблице.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||