Oracle Database ApplianceのMicronaut
Oracle Database ApplianceのMicronautに関するFAQ。
DropwizardとMicronautの置き換えのために、Oracle Database Applianceリリース19.16でユーザーに表示される変更はありますか。
はい。既存のDropwizardベースのDCS構成JSONファイルは、MicronautベースのDCS構成YMLファイルおよびログ・バックXMLファイルに置き換えられます。ps
コマンドを実行してDCSプロセスをリストすると、MicronautベースのDCSアプリケーションの起動に使用されるjavaコマンドが異なるため、異なるJVMパラメータが表示されます。
java -Doracle.security.jps.config=/opt/oracle/dcs/agent/jps-config.xml -jar /opt/oracle/dcs/bin/dcs-agent*.jar server /opt/oracle/dcs/conf/dcs-agent.json
java -Doracle.security.jps.config=/opt/oracle/dcs/agent/jps-config.xml -Dlogback.configurationFile=/opt/oracle/dcs/conf/dcs-agent-logback.xml -Dmicronaut.config.files=/opt/oracle/dcs/conf/dcs-agent.yml -Dold.config.files=/opt/oracle/dcs/conf/dcs-agent.json -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -jar /opt/oracle/dcs/bin/dcs-agent*.jar
DCSアプリケーションがOracle Database ApplianceでMicronautで実行されているかどうかを確認するには、どうすればいいですか。
---------------
2022-01-29 14:14:20,886 INFO [main] [] i.m.r.Micronaut: Startup completed in 1226ms. Server Running: https://<host>:<port>
---------------
Note: i.m.r.Micronaut means io.micronaut.runtime.Micronaut
上のログ・メッセージから、DCSアプリケーションがDropwizardではなくMicronaut上で実行されていることは明らかです。
---------------
2022-01-27 03:08:49,398 INFO [main] [] o.e.j.s.AbstractConnector: Started application@67be1284{SSL, (ssl, http/1.1)}{0.0.0.0:<port>}
---------------
Note : Here, o.e.j.s.AbstractConnector means org.eclipse.jetty.server.AbstractConnector
Micronautに移行した後、ログ・メッセージの書式に変更はありますか。
いいえ。既存のログ・メッセージ書式は、Micronautに転送されます。
Oracle Database Applianceリリース19.16と以前のリリース間でロギング機能が異なりますか。
はい。 ロギング構成ファイルが変更されました。 以前のロギング構成ファイルの変更は、アプリケーション固有のJSON構成ファイル(DCSエージェントの場合はdcs-agent.json
、DCS管理者の場合はdcs-admin.json
、DCSコントローラの場合はdcs-controller.yml
など)の一部でした。
Oracle Database Applianceリリース19.16以降では、ロギング構成の変更は、個別のアプリケーション固有のログ・バックXML構成ファイル(DCSエージェントの場合はdcs-agent-logback.xml
、DCS管理の場合はdcs-admin-logback.xml
、DCSコントローラの場合はdcs-controller-logback.xml
など)にあります。 ログ・メッセージ・パターンおよびログ・ファイル名は変更されないことに注意してください。
Oracle Database Applianceリリース19.16以降では、ログ構成の動的再ロードもサポートされています。 ログ・レベルをINFOからDEBUGに変更する場合など、DCSアプリケーション固有のログ・バックXMLファイルが変更されるたびに、新しい変更が自動的に検出されます。 新しいロギング構成の変更は、DCSアプリケーションの再起動を必要とせずに自動的に適用されます。 この機能は、MicronautベースのOracle Database Applianceリリース19.16 DCSアプリケーションで導入され、Oracle Database Applianceリリース19.15以前のDropWizardベースのDCSアプリケーションでは使用できません。
MicronautベースのDCSアプリケーションで設定されている構成パラメータはどこですか。
構成ファイルのロケーションは同じままですが、ファイル名はOracle Database Applianceリリース19.16以降で変更されます。
- サーバー・ポート、HTTPまたはHTTPS、MTLSが有効かどうか、トラスト・ストアおよびキーストア証明書の詳細などのサーバー構成パラメータ。
- ノードID、ノード・リスト、エミュレーション・モードなどのカスタム構成パラメータ。
- ログ・ファイル名、ログ・ローテーション詳細、ログ・メッセージの書式、ログ・レベルなどのログ構成パラメータ。
- YML構成ファイルには2つのセクションがあります: サーバー・ポート、HTTPまたはHTTPS、MTLSが有効かどうか、トラスト・ストアおよびキーストア証明書の詳細などのサーバー構成パラメータ。 ノードID、ノード・リスト、エミュレーション・モードなどのカスタム構成パラメータ。
- Logback XML構成には、特定の構成変更のロギングのみが含まれます: ログ・ファイル名、ログ・ローテーション詳細、ログ・メッセージの書式、ログ・レベルなどのログ構成パラメータ。
表1-3
DCSアプリケーション | DCSアプリケーション固有の構成ファイル(サーバー構成パラメータ+ログ構成パラメータ+カスタム構成パラメータ) 19.14より前のリリースではJSONを使用しますが、19.14以降ではDCSコントローラにYMLを使用 | DCSアプリケーション固有の構成ファイル(サーバー構成パラメータ+カスタム構成パラメータ)。 リリース19.16以降ではYMLを使用することに注意してください | DCSアプリケーション固有のロギング構成ファイル(ログ構成パラメータ)。 リリース19.16以降では、アプリケーション固有のlogback.xmlが使用されることに注意してください |
---|---|---|---|
DCSエージェント | dcs-agent.json |
dcs-agent.yml |
dcs-agent-logback.xml |
DCS管理 | dcs-admin.json
|
dcs-admin.yml
|
dcs-admin-logback.xml
|
DCSコントローラ | dcs-controller.json (リリース19.13以前)
|
dcs-controller.yml |
dcs-controller-logback.xml |
Oracle Database Applianceリリース19.16以降のロギング構成ファイル構造はどのようになっていますか。
dcs-agent-logback.xml
):<configuration scan="true" scanPeriod="60 seconds">
<property name="DCS_LOG_DIR" value="/opt/oracle/dcs/log" />
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DCS_LOG_DIR}/dcs-agent.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DCS_LOG_DIR}/dcs-agent-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- each file should be at most 100MB, keep 10 days worth of history -->
<maxFileSize>100MB</maxFileSize>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{"yyyy-MM-dd HH:mm:ss,SSS"} %level [%thread] [%mdc] %logger{15}: %m%n%rEx</pattern>
</encoder>
</appender>
<appender name="httpAccessLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DCS_LOG_DIR}/dcs-agent-requests.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DCS_LOG_DIR}/dcs-agent-requests-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="ROLLING" />
</root>
<logger name="HTTP_ACCESS_LOGGER" additivity="false" level="info">
<appender-ref ref="httpAccessLogAppender" />
</logger>
<logger name="io.micronaut" level="INFO"/>
<logger name="com.oracle.dcs.agent" level="DEBUG"/>
</configuration>
dcs-admin-logback.xml
):<configuration scan="true" scanPeriod="60 seconds">
<property name="DCS_LOG_DIR" value="/opt/oracle/dcs/log" />
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DCS_LOG_DIR}/dcs-admin.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DCS_LOG_DIR}/dcs-admin-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- each file should be at most 100MB, keep 10 days worth of history -->
<maxFileSize>100MB</maxFileSize>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{"yyyy-MM-dd HH:mm:ss,SSS"} %level [%thread] [%mdc] %logger{15}: %m%n%rEx</pattern>
</encoder>
</appender>
<appender name="httpAccessLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DCS_LOG_DIR}/dcs-admin-requests.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DCS_LOG_DIR}/dcs-admin-requests-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="ROLLING" />
</root>
<logger name="HTTP_ACCESS_LOGGER" additivity="false" level="info">
<appender-ref ref="httpAccessLogAppender" />
</logger>
<logger name="io.micronaut" level="INFO"/>
<logger name="com.oracle.dcs.admin" level="DEBUG"/>
</configuration>
dcs-controller-logback.xml
):<configuration scan="true" scanPeriod="60 seconds">
<property name="DCS_LOG_DIR" value="/opt/oracle/dcs/log" />
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DCS_LOG_DIR}/dcs-controller.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DCS_LOG_DIR}/dcs-controller-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- each file should be at most 100MB, keep 10 days worth of history -->
<maxFileSize>100MB</maxFileSize>
<maxHistory>10</maxHistory>
</rollingPolicy>
<filter class="com.oracle.oda.controller.CORSLogFilter" />
<encoder>
<pattern>%date{"yyyy-MM-dd HH:mm:ss,SSS"} %level [%thread] [%mdc] %logger{15}: %m%n%rEx</pattern>
</encoder>
</appender>
<appender name="httpAccessLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DCS_LOG_DIR}/dcs-controller-requests.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DCS_LOG_DIR}/dcs-controller-requests-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="ROLLING" />
</root>
<logger name="HTTP_ACCESS_LOGGER" additivity="false" level="info">
<appender-ref ref="httpAccessLogAppender" />
</logger>
<logger name="io.micronaut" level="INFO"/>
<logger name="com.oracle.oda.controller" level="DEBUG"/>
</configuration>