Регистрация в облаке AWS с помощью Spring Boot - PullRequest
0 голосов
/ 06 сентября 2018

Каким должен быть подход для хранения журналов нескольких приложений весенней загрузки в облачном наблюдении?

Пример весенней загрузки - файл конфигурации logback-spring.xml находится ниже.

<?xml version="1.0" encoding="UTF-8"?>

<property name="LOGS" value="/logs/abc/" />

<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern> %black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable </Pattern>
    </layout>
</appender>

<appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOGS}/abc-log.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
    <Pattern>%d %p %C{1.} [%t] %m%n</Pattern> </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily and when the file reaches 10 MegaBytes -->
        <fileNamePattern>${LOGS}/archived/abc-log-%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>5MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <maxHistory>2</maxHistory>
        <totalSizeCap>10MB</totalSizeCap>
    </rollingPolicy>
</appender>

<!-- LOG everything at INFO level -->
<root level="info">
    <appender-ref ref="RollingFile" />
    <appender-ref ref="Console" />
</root>

<logger name="com.abc" level="trace" additivity="false">
    <appender-ref ref="RollingFile" />
    <appender-ref ref="Console" />
</logger>

1 Ответ

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

Мне удалось добиться того же, используя агент журнала Cloudwatch.

Шаг 1 - Создайте файл awslogs.conf, чтобы указать местоположение журнала.

[/logs/abcd/8080-abcd.log]
datetime_format = %Y-%m-%d %H:%M:%S
file = /logs/abcd/8080-abcd.log
buffer_duration = 5000
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = ABCD Group Name

[/logs/defg/8081-defg.log]
datetime_format = %Y-%m-%d %H:%M:%S
file = /logs/abcd/8081-defg.log
buffer_duration = 5000
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = DEFG Group Name

Шаг 2 - Установите агент журнала наблюдения за облаком как часть сценария UserData / Bootstrap для ec2.

yum install wget -y
wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py
python ./awslogs-agent-setup.py --region $aws_region --non-interactive --configfile=/configlocation/awslogs.conf

Шаг 3. Нужна роль компьютера ec2 для создания журналов в CloudWatch.

...