機械翻訳について

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パラメータが表示されます。
たとえば、Dropwizardベースの出力は次のようになります:
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
Micronautベースの出力は次のとおりです:
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で実行されているかどうかを確認するには、どうすればいいですか。

DCSアプリケーション・ログをチェックして、アプリケーションがMicronautとDropwizardのどちらを使用しているかを確認します。 DCSアプリケーションの起動が完了すると、DCSアプリケーションのログ・ファイルに次の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上で実行されていることは明らかです。

DropwizardベースのDCSアプリケーションの場合、ログ・メッセージは次のとおりです:
---------------
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以降で変更されます。

Oracle Database Applianceリリース19.15以前では、DCSアプリケーション固有のJSON構成ファイルには次の3つのセクションがあります:
  • サーバー・ポート、HTTPまたはHTTPS、MTLSが有効かどうか、トラスト・ストアおよびキーストア証明書の詳細などのサーバー構成パラメータ。
  • ノードID、ノード・リスト、エミュレーション・モードなどのカスタム構成パラメータ。
  • ログ・ファイル名、ログ・ローテーション詳細、ログ・メッセージの書式、ログ・レベルなどのログ構成パラメータ。
Oracle Database Applianceリリースの19.16以降のDCSアプリケーションでは、構成ファイルは2つのファイルに分割されます:
  • YML構成ファイルには2つのセクションがあります: サーバー・ポート、HTTPまたはHTTPS、MTLSが有効かどうか、トラスト・ストアおよびキーストア証明書の詳細などのサーバー構成パラメータ。 ノードID、ノード・リスト、エミュレーション・モードなどのカスタム構成パラメータ。
  • Logback XML構成には、特定の構成変更のロギングのみが含まれます: ログ・ファイル名、ログ・ローテーション詳細、ログ・メッセージの書式、ログ・レベルなどのログ構成パラメータ。
DCSアプリケーションにパッチを適用すると、JSONファイルのカスタム設定は、それに応じてYMLおよびログ・バック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 (リリース19.14以上)

dcs-controller.yml dcs-controller-logback.xml

Oracle Database Applianceリリース19.16以降のロギング構成ファイル構造はどのようになっていますか。

DCSエージェント・ロギング構成ファイル (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管理ロギング構成ファイル (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コントローラ・ロギング構成ファイル (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>