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 oamns
configmap/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.yaml
configmap/oam-logstash-configmap created