第3章 クライアント側のツールのインストール
オーバークラウドをデプロイする前には、各クライアントに適用する構成の設定を決定する必要があります。director の Heat テンプレートコレクションからサンプルの環境ファイルをコピーし、ご使用の環境に応じて変更します。
3.1. 集中ロギングのパラメーターの設定
Fluentd の構成設定には、/usr/share/openstack-tripleo-heat-templates/environments/logging-environment.yaml をコピーし、ご使用の環境に応じて変更します。 以下に例を示します。
簡易設定
resource_registry:
OS::TripleO::Services::Fluentd: ../docker/services/fluentd.yaml
parameter_defaults:
LoggingServers:
- host: log0.example.com
port: 24224
- host: log1.example.com
port: 24224
SSL の設定例
## (note the use of port 24284 for ssl connections)
resource_registry:
OS::TripleO::Services::Fluentd: ../docker/services/fluentd.yaml
parameter_defaults:
LoggingServers:
- host: 192.0.2.11
port: 24284
LoggingUsesSSL: true
LoggingSharedKey: secret
LoggingSSLCertificate: |
-----BEGIN CERTIFICATE-----
...certificate data here...
-----END CERTIFICATE-----
-
LoggingServers: Fluentd ログメッセージの受信先のシステム -
LoggingUsesSSL: ログメッセージの送信時にsecure_forwardを使用するかどうかを決定する設定 -
LoggingSharedKey:secure_forwardが使用する共有シークレット -
LoggingSSLCertificate: PEM エンコードされた SSL CA 証明書の内容
3.2. 可用性監視クライアントのパラメーターの設定
Sensu クライアントの構成設定には、/usr/share/openstack-tripleo-heat-templates/environments/monitoring-environment.yaml をコピーし、ご使用の環境に応じて変更します。以下に例を示します。
resource_registry:
OS::TripleO::Services::SensuClient: ../docker/services/sensu-client.yaml
parameter_defaults:
MonitoringRabbitHost: 10.10.10.10
MonitoringRabbitPort: 5672
MonitoringRabbitUserName: sensu
MonitoringRabbitPassword: sensu
MonitoringRabbitUseSSL: true
MonitoringRabbitVhost: "/sensu"
SensuClientCustomConfig:
api:
warning: 10
critical: 20-
MonitoringRabbit: これらのパラメーターは、監視サーバーで実行する RabbitMQ インスタンスに Sensu クライアントサービスを接続します。 -
MonitoringRabbitUseSSL: RabbitMQ クライアント向けに SSL を有効化します。以下のパラメーターで秘密鍵または証明書チェーンが指定されていない場合には、SSL トランスポートを使用します。 -
MonitoringRabbitSSLPrivateKey: 秘密鍵ファイルへのパスを定義します。または、そのファイルのコンテンツを含めることができます。 -
MonitoringRabbitSSLCertChain: 使用するプライベート SSL 証明書チェーンを定義します。 -
SensuClientCustomConfig: Sensu クライアントの追加の設定を指定します。ユーザー名/パスワード、auth_url、テナント、リージョンを含む OpenStack の認証情報を定義します。
3.3. オーバークラウドノードへの運用ツールのインストール
openstack overcloud deploy コマンドで変更した YAML ファイルを指定して、Sensu クライアントと Fluentd ツールを全オーバークラウドノードにインストールします。以下に例を示します。
$ openstack overcloud deploy --templates -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e network-environment.yaml -e ~/templates/monitoring-environment.yaml -e ~/templates/logging-environment.yaml --control-scale 3 --compute-scale 1 --ntp-server 192.168.122.10
3.4. ロギングデータのフィルタリングと変換
環境ファイルで LoggingDefaultFilters パラメーターを設定することにより、Fluentd に送信されるイベントをフィルタリングして変換することができます。たとえば、record_transformer の種別を指定すると、受信イベントを変更することができます。
parameter_defaults:
LoggingDefaultFilters:
- tag_pattern: '**'
type: record_transformer
enable_ruby: true
record:
openstack: '{"hostname": "${hostname}","tag": "${tag}","region": "regionOne","inputname":"fluent-plugin-in_tail","name":"fluentd openstack","fluentd version":"0.12.26", "pipeline_metadata": {"collector":{"ipaddr4":"#{ begin Socket.ip_address_list.select { |a| a.ipv4? && !a.ipv4_loopback? }.map { |a| a.ip_address } end}","ipaddr6":"#{ begin Socket.ip_address_list.select { |a| a.ipv6? && !a.ipv6_loopback? }.map { |a| a.ip_address } end}"}}}'
remove_keys: host
- tag_pattern: 'openstack.**'
type: record_transformer
record:
service: '${tag_parts[1]}'
- tag_pattern: 'system.messages**'
type: record_transformer
enable_ruby: true
record:
openstack: '{"info": "${record[''message'']}", "systemd":{"t":{"PID":"${record[''pid'']}"},"u":{"SYSLOG_IDENTIFIER":"${record[''ident'']}"}}}'
remove_keys: 'ident,message,pid'その結果、Kibana が受信するデータは、設定に応じて変換されます。
{
"_index": "logstash-2017.06.29",
"_type": "fluentd",
"_id": "AVz132QmRtyd8nnlv_11",
"_score": null,
"_source": {
"pid": "22691",
"priority": "INFO",
"message": "cinder.api.openstack.wsgi [req-04bc2808-f86f-4443-86e6-bfc596969937 - - - - -] OPTIONS http://overcloud-controller-0.lab.local/",
"openstack": {
"hostname": "overcloud-controller-0",
"tag": "openstack.cinder.api",
"region": "regionOne",
"inputname": "fluent-plugin-in_tail",
"name": "fluentd openstack",
"fluentd version": "0.12.26",
"pipeline_metadata": {
"collector": {
"ipaddr4": "[\"192.168.24.14\", \"192.168.24.8\", \"10.0.0.4\", \"10.0.0.5\", \"172.16.2.8\", \"172.16.2.4\", \"172.16.2.14\", \"172.16.1.7\", \"172.16.1.9\", \"172.16.3.10\", \"172.16.3.11\", \"172.16.0.14\"]",
"ipaddr6": "[\"fe80::293:33ff:fed8:2228%eth0\", \"fe80::293:33ff:fed8:2228%br-ex\", \"fe80::b86c:79ff:fe8f:9fb8%vlan10\", \"fe80::4c78:6fff:feff:14fc%vlan20\", \"fe80::9ced:dfff:fe8c:2d62%vlan30\", \"fe80::ecde:1bff:fe5d:e362%vlan40\", \"fe80::549c:51ff:feea:dfa8%vlan50\", \"fe80::e093:8fff:fef9:69b6%vxlan_sys_4789\"]"
}
}
},
"service": "cinder",
"@timestamp": "2017-06-29T21:59:38+00:00"
},
"fields": {
"@timestamp": [
1498773578000
]
},
"sort": [
1498773578000
]
}
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.