14.2.4 ConfigMapの作成
次のステップを実行して、ELKのKubernetes ConfigMapを作成します:
elk.crtファイルを$WORKDIR/kubernetes/elasticsearch-and-kibanaディレクトリにコピーします。$WORKDIR/kubernetes/elasticsearch-and-kibanaディレクトリに移動し、次を実行します:
例:kubectl create configmap elk-cert --from-file=elk.crt -n <namespace>
出力は次のようになります:kubectl create configmap elk-cert --from-file=elk.crt -n oamnsconfigmap/elk-cert created- 次のように、
logstash_cm.yamlファイルを$WORKDIR/kubernetes/elasticsearch-and-kibanaディレクトリに作成します:
前述のファイルの値を次のように変更します:apiVersion: v1 kind: ConfigMap metadata: name: oam-logstash-configmap namespace: <ELKNS> data: logstash.yml: | #http.host: "0.0.0.0" logstash-config.conf: | input { file { path => "<Log Home>/**/logs/AdminServer*.log" tags => "Adminserver_log" start_position => beginning } file { path => "<Log Home>/**/logs/oam_policy_mgr*.log" tags => "Policymanager_log" start_position => beginning } file { path => "<Log Home>/**/logs/oam_server*.log" tags => "Oamserver_log" start_position => beginning } file { path => "<Domain Home>/servers/AdminServer/logs/AdminServer-diagnostic.log" tags => "Adminserver_diagnostic" start_position => beginning } file { path => "<Domain Home>/servers/**/logs/oam_policy_mgr*-diagnostic.log" tags => "Policy_diagnostic" start_position => beginning } file { path => "<Domain Home>/servers/AdminServer/logs/auditlogs/OAM/audit.log" tags => "Audit_logs" 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}>" ] } if "_grokparsefailure" in [tags] { mutate { remove_tag => [ "_grokparsefailure" ] } } } output { elasticsearch { hosts => ["<ELK_HOSTS>"] cacert => '/usr/share/logstash/config/certs/elk.crt' index => "oamlogs-000001" ssl => true ssl_certificate_verification => false user => "<ELK_USER>" password => "${ELASTICSEARCH_PASSWORD}" api_key => "${ELASTICSEARCH_PASSWORD}" } }<ELKNS>、<ELK_HOSTS>、<ELK_SSL>および<ELK_USER>を、「この項で使用する変数」の値と一致するように変更します。<Log Home>および<Domain Home>を、「必要なドメイン詳細の検索」で返されたLog HomeおよびDomain Homeと一致するように変更します。- ELK認証にAPI KEYを使用する場合は、
user行とpassword行を削除します。 - ELK認証にパスワードを使用する場合は、
api_key行を削除します。 - ELKに認証を使用しない場合は、
user行、password行およびapi_key行を削除します。
apiVersion: v1 kind: ConfigMap metadata: name: oam-logstash-configmap namespace: oamns data: logstash.yml: | #http.host: "0.0.0.0" logstash-config.conf: | input { file { path => "/u01/oracle/user_projects/domains/logs/accessdomain/**/logs/AdminServer*.log" tags => "Adminserver_log" start_position => beginning } file { path => "/u01/oracle/user_projects/domains/logs/accessdomain/**/logs/oam_policy_mgr*.log" tags => "Policymanager_log" start_position => beginning } file { path => "/u01/oracle/user_projects/domains/logs/accessdomain/**/logs/oam_server*.log" tags => "Oamserver_log" start_position => beginning } file { path => "/u01/oracle/user_projects/domains/accessdomain/servers/AdminServer/logs/AdminServer-diagnostic.log" tags => "Adminserver_diagnostic" start_position => beginning } file { path => "/u01/oracle/user_projects/domains/accessdomain/servers/**/logs/oam_policy_mgr*-diagnostic.log" tags => "Policy_diagnostic" start_position => beginning } file { path => "/u01/oracle/user_projects/domains/accessdomain/servers/AdminServer/logs/auditlogs/OAM/audit.log" tags => "Audit_logs" 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}>" ] } if "_grokparsefailure" in [tags] { mutate { remove_tag => [ "_grokparsefailure" ] } } } output { elasticsearch { hosts => ["https://elasticsearch.example.com:9200"] cacert => '/usr/share/logstash/config/certs/elk.crt' index => "oamlogs-000001" ssl => true ssl_certificate_verification => false user => "logstash_internal" password => "${ELASTICSEARCH_PASSWORD}" } } - 次のコマンドを実行して、ConfigMapを作成します:
出力は次のようになります:kubectl apply -f logstash_cm.yamlconfigmap/oam-logstash-configmap created