Обновление до версии 25.1

В 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;
    }