В docker-compose.yml в секцию wildfly добавляется возможность отправки журнала работы пользователей в отдельный opensearch и новый способ работы с логами, для этого предназначены новые переменные, а так же появляется новый конфиг для fluent-bit
Необходимо изменить образ на
nexus.sdi-solution.ru/semantic/wildfly:devel
Необходимо изменить переменную версии на
VERSION=25.1.0
Добавить сервис документации
doc:
image: nexus.sdi-solution.ru/semantic/doc:dev
container_name: documentation
networks:
- semantic-network
ports:
- 80:80
Необходимо изменить секцию ports в сервисе fluent-bit на
ports:
- 24223:24223
- 24224:24224
- 24225:24225
Если отдельный источник для журнала работы пользователей не предусмотрен, то в docker-compose.yml в сервис wildfly добавить переменную USER_JOURNAL=disable, а конфигурация fluent-bit будет иметь следующий вид
fluent-bit.conf
[SERVICE]
Flush 1
Daemon off
HTTP_Server on
Log_Level info
[INPUT]
Name http
Listen 0.0.0.0
Port 24223
[INPUT]
Name forward
Listen 0.0.0.0
Port 24224
Buffer_Chunk_Size 32M
Buffer_Max_Size 64M
[INPUT]
Name tcp
Listen 0.0.0.0
Port 24225
Chunk_Size 32M
Buffer_Size 64M
Format json
Tag <project_name>
[FILTER]
Name modify
Match <project_name>
Remove mdc
Remove ndc
Rename level severityText
Rename message body
[OUTPUT]
Name opentelemetry
Match <project_name>
Host pulse.sdi-solution.ru
Port 4318
Logs_uri /v1/logs
Log_Response_Payload True
Tls Off
Если отдельный источник для журнала работы пользователей предусмотрен, то необходимо поднять новый сервис с opensearch, в docker-compose.yml в секцию wildfly добавить переменные
# === opensearch_uj === #
- USER_JOURNAL=enable/disable
- OPENSEARCH_UJ_FLUENT_URI=http://<ip_fluent_bit>:24223
- OPENSEARCH_UJ_FLUENT_TAG=<project_name>_user_journal
- OPENSEARCH_UJ_URI=http://<ip_opensearch_uj>:<port_opensearch_uj>
- OPENSEARCH_UJ_USER=admin
- OPENSEARCH_UJ_PASS=admin
- OPENSEARCH_UJ_REPLICAS=0
а конфигурация fluent-bit будет иметь следующий вид
fluent-bit.conf
[SERVICE]
Flush 1
Daemon off
HTTP_Server on
Log_Level info
[INPUT]
Name http
Listen 0.0.0.0
Port 24223
[INPUT]
Name forward
Listen 0.0.0.0
Port 24224
Buffer_Chunk_Size 32M
Buffer_Max_Size 64M
[INPUT]
Name tcp
Listen 0.0.0.0
Port 24225
Chunk_Size 32M
Buffer_Size 64M
Format json
Tag <project_name>
[FILTER]
Name modify
Match <project_name>
Remove mdc
Remove ndc
Rename level severityText
Rename message body
[OUTPUT]
Name opentelemetry
Match <project_name>
Host pulse.sdi-solution.ru
Port 4318
Logs_uri /v1/logs
Log_Response_Payload True
Tls Off
[OUTPUT]
Name opensearch
Match <project_name>_user_journal
Host <ip_opensearch_user_journal>
Port <port_opensearch_user_journal>
HTTP_User admin
HTTP_Passwd admin
Index user_journal
Generate_ID On
Suppress_Type_Name On
Logstash_Format Off
Для логгирования появляется секция, если выключено, достаточно указать FLUENT_LOGGER=disable, если включен, заполнить все переменные ниже
# === logs === #
- FLUENT_LOGGER=enable/disable
- FLUENT_LOGGER_HOST=<ip_fluent_bit>
- FLUENT_LOGGER_PORT=<fluent_bit_port>
- FLUENT_LOGGER_TAG=<project_name>
Для конфигурации nginx добавляются следующие location в /
location /guides/ {
proxy_pass http://<HOST>/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /guides/user/ {
proxy_pass http://<HOST>/guides/user/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /guides/developer/ {
proxy_pass http://<HOST>/guides/developer/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /guides/administrator/ {
proxy_pass http://<HOST>/guides/administrator/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}