ドメインのモニターとログの公開
Oracle SOA Suiteドメインを設定した後、次のことができます:
PrometheusおよびGrafanaを使用したOracle SOA Suiteインスタンスのモニター
WebLogicモニタリング・エクスポータを使用すると、実行中のOracle SOA Suiteインスタンスからランタイム情報をスクレイピングし、PrometheusおよびGrafanaを使用してモニターできます。
モニタリングを設定します。このステップに従って、Oracle SOA Suiteインスタンスのモニタリングを設定します。WebLogic Monitoring Exporterの詳細は、ここを参照してください。
ElasticsearchへのWebLogic Serverログの公開
WebLogic Serverログは、Fluentdを使用してElasticsearchに公開できます。Fluentd構成ステップを参照してください。
ElasticsearchへのSOAサーバー診断ログの公開
この項では、診断ログをElasticsearchに公開し、Kibanaで表示する方法を示します。オペレータ・ログの公開については、このサンプルを参照してください。
ログ収集用にElasticsearchおよびKibanaをまだ設定していない場合は、このドキュメントを参照して設定を完了してください。
診断またはその他のログは、logstashポッドを使用してElasticsearchサーバーにプッシュできます。logstashポッドは、共有ドメイン・ホームまたはログの場所にアクセスできる必要があります。Oracle SOA Suiteドメインの場合、ドメイン・ホームの永続ボリュームをlogstashポッドで使用できます。logstashポッドを作成するには、次のステップを実行します:
- Oracle SOA Suiteドメインのドメイン・ホームのドメイン・ホーム永続ボリューム要求の詳細を取得します。次のコマンドは、ネームスペース(
soans
)の永続ボリューム要求の詳細をリストします。次の例では、永続ボリューム要求はsoainfra-domain-pvc
です:kubectl get pvc -n soans
サンプル出力:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE soainfra-domain-pvc Bound soainfra-domain-pv 10Gi RWX soainfra-domain-storage-class xxd
- logstash構成ファイル(
logstash.conf
)を作成します。次に、DOMAIN_HOME/servers/<server_name>/logs/-diagnostic.logで使用可能なすべてのサーバーの診断ログをプッシュするlogstash構成のサンプルを示します:input { file { path => "/u01/oracle/user_projects/domains/soainfra/servers/**/logs/*-diagnostic.log" start_position => beginning } } filter { grok { match => [ "message", "<%{DATA:log_timestamp}> <%{WORD:log_level}> <%{WORD:thread}> <%{HOSTNAME:hostname}> <%{HOSTNAME:servername}> <%{DATA:timer}> <<%{DATA:kernel}>> <> <%{DATA:uuid}> <%{NUMBER:timestamp}> <%{DATA:misc}> <%{DATA:log_number}> <%{DATA:log_message}>" ] } } output { elasticsearch { hosts => ["elasticsearch.default.svc.cluster.local:9200"] } }
- 管理サーバーのポッド(ネームスペース
soans
のsoainfra-adminserver
ポッドなど)を使用して、logstashデプロイメントに使用できるように、logstash.conf
を/u01/oracle/user_projects/domains
にコピーします:kubectl cp logstash.conf soans/soainfra-adminserver:/u01/oracle/user_projects/domains --namespace soans
- ドメイン・ホームの永続ボリューム要求を使用して、logstashポッドのデプロイメントYAML (
logstash.yaml
)を作成します。logstash構成ファイルが正しい場所を指していること(たとえば、logstash.confを/u01/oracle/user_projects/domains/logstash.confにコピーします)、および正しいドメイン・ホーム永続ボリューム要求を指していることを確認します。次に、サンプルlogstashデプロイメントYAMLを示します:apiVersion: apps/v1 kind: Deployment metadata: name: logstash-soa namespace: soans spec: selector: matchLabels: app: logstash-soa template: # create pods using pod definition in this template metadata: labels: app: logstash-soa spec: volumes: - name: soainfra-domain-storage-volume persistentVolumeClaim: claimName: soainfra-domain-pvc - name: shared-logs emptyDir: {} containers: - name: logstash image: logstash:6.6.0 command: ["/bin/sh"] args: ["/usr/share/logstash/bin/logstash", "-f", "/u01/oracle/user_projects/domains/logstash.conf"] imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /u01/oracle/user_projects name: soainfra-domain-storage-volume - name: shared-logs mountPath: /shared-logs ports: - containerPort: 5044 name: logstash
- logstashをデプロイして、Elasticsearchへのログの公開を開始します:
kubectl create -f logstash.yaml
- これで、Kibanaと索引パターン"logstash-*"を使用して診断ログを表示できます。