Настройка узла «Ретранслятора» с ПО 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 могут понадобиться дополнительные права для схемы
Если таблица была ранее создана для Termidesk версии младше 6.0, то ее следует изменить:
|
fluentd_logs_db=# CREATE TABLE logs (
id SERIAL PRIMARY KEY,
time timestamp with time zone NOT NULL,
source VARCHAR(255) NOT NULL,
fqdn VARCHAR(255),
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,fqdn:fqdn,sourceType:sourceType,loglevel:loglevel,module:module,message:message"
</table>
</match> |
Перечень параметров, задающихся через файл, приведен в таблице.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||