Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
FUJITSU SoftwareServerViewCloud Monitoring Manager V1.1
管理者ガイド
J2UL-2186-01Z0(00)2016年10月
本書について
本書は、CMM管理者がFUJITSU ServerView Cloud Monitoring Manager(以下Cloud Monitoring Manager[CMM])をインストール、操
作、保守、モニタリングする方法を説明します。
本書の構成は以下のとおりです。
章 説明
第1章 導入 CMMとそのアーキテクチャーとユーザーについて紹介します。
第2章 インストール CMMのインストールおよび設定方法を説明します。
第3章 運用と保守 CMMの主な操作や保守作業について説明します。
第4章 サービスおよびサーバのモニタリング サービスおよびサーバのモニタリングに含まれる基本的なタスクを説明しま
す。
第5章 ログデータの管理 サービスおよびサーバのログデータの管理に含まれる基本的なタスクを説明
します。
付録A 構成設定 CMMメトリックエージェントおよびCMMログエージェントの構成設定につい
て説明します。
付録B 対応メトリック CMMがサポートするメトリックについて説明します。
付録C 用語集 CMMに関連する重要な用語を定義します。
本書の読者
本書は、CMMの操作(インストール、運用・保守、ホストのモニタリング)を行うCMM管理者向けに書かれています。
本書は、OpenStackおよびCMM、特に、CMMを構成する各サービスについて深い知識を持っていることを前提としています。CMMコ
ンポーネントをインストールするためには、LINUXシステムの管理および運用に精通している必要があります。
本書の表記本書中の表記方法は以下のとおりです。
[Add] フィールドなどのGUI要素の名前は角括弧で括ります。
init コマンド名やキーボード入力する文字列などのシステム名は、フォントをCourierとします。
<variable> 値の入力が必要な変数は山括弧で括ります。
[option] 任意のコマンドパラメーターなどのオプション項目は、角括弧で括ります。
one | two 選択性の入力項目は縦線で区切ります。
{one | two} 選択性の必須入力項目は中括弧で括ります。
略称本書では、以下のような略称を使用します。
CMM Cloud Monitoring Manager
IaaS Infrastructure as a Service
ICMP インターネット制御メッセージプロトコル (Internet Control Message Protocol)
OS オペレーティングシステム (Operating System)
OSS オープンソースソフトウェア (Open Source Software)
PaaS Platform as a Service
SaaS Software as a Service
- i -
参照可能なドキュメント
CMMに関する以下の情報が参照可能です。
・ 解説書: CMMを紹介するマニュアル。CMMを利用するすべての人に向けて書かれています。
・ テナントユーザーガイド: テナントユーザー向けのマニュアルで、CMMを利用して、OpenStackのサービスと仮想マシンをモニタリ
ングする方法を説明しています。
・ OpenStack運用者ガイド: OpenStack運用者向けのマニュアルで、CMMを利用して、OpenStackサービスをモニタリングする方法、お
よびOpenStackサービスから入手可能なログデータを管理する方法を説明しています。
・ 管理者ガイド: CMM管理者向けのマニュアルで、CMMをインストール、管理、保守する方法を説明しています。
関連するWeb参照先
下記のWeb上の参照先により、CMMと統合するオープンリソースの情報を提供します。
・ OpenStack:基盤となるプラットフォーム技術であるOpenStackに関する情報。
・ OpenStack Horizon:OpenStack Horizonダッシュボードに関する情報。
・ Monasca Wiki:CMMのコアであるMonascaに関する情報。
本書で提供しているより詳細なWeb上の参照先は予告なく変更される場合があります。
商標
LINUXは、Linus Torvaldsの登録商標です。
OpenStack(R)のワードマークと OpenStack のロゴは、米国とその他の国における OpenStack Foundation の登録商標/サービスマークまたは
商標/サービスマークのどちらかであり、OpenStack Foundation の許諾の下に使用されています。富士通株式会社は、OpenStackFoundation とOpenStack コミュニティの公認や出資を受けていません。
Red Hatは、Red Hat, Inc.の米国およびその他の国における登録商標または商標です。
Java® は、Oracleおよびその関連企業の登録商標です。
PythonおよびPyConは、Pythonソフトウェア財団の商標です。
ServerViewとSystemwalkerは、富士通株式会社の登録商標です。
その他の会社名および製品名は、それぞれの会社の商標または登録商標です。
著作権
Copyright FUJITSU LIMITED 2015 - 2016
本書を無断でほかに転載しないようお願いします。富士通は、OpenStack FoundationやOpenStackコミュニティーの関連企業ではなく、また
支援や出資も受けていません。
輸出規制
本ドキュメントを輸出または第三者へ提供する場合は、お客さまが居住する国および米国輸出管理関連法規等の規制をご確認のうえ、必要
な手続きをおとりください。
- ii -
目次
第1章 導入................................................................................................................................................................................ 11.1 基本的な使用シナリオ........................................................................................................................................................................ 11.2 CMMのアーキテクチャーとコンポーネント.........................................................................................................................................21.3 ユーザー管理......................................................................................................................................................................................41.4 配布媒体............................................................................................................................................................................................. 4
第2章 インストール.....................................................................................................................................................................62.1 前提条件と準備...................................................................................................................................................................................7
2.1.1 前提条件...................................................................................................................................................................................... 72.1.2 コントロールマシン........................................................................................................................................................................82.1.3 CMMソフトウェアとセットアップユーティリティ............................................................................................................................. 92.1.4 セキュリティ................................................................................................................................................................................. 102.1.5 HTTPSサポート.......................................................................................................................................................................... 102.1.6 Pythonパッケージ....................................................................................................................................................................... 102.1.7 Bashの設定.................................................................................................................................................................................11
2.2 コントロールマシンの設定.................................................................................................................................................................112.3 オフラインリソースのインストール...................................................................................................................................................... 122.4 CMMサービスのインストール........................................................................................................................................................... 132.5 CMMメトリックエージェントのインストール........................................................................................................................................15
2.5.1 インストール................................................................................................................................................................................ 162.5.2 設定............................................................................................................................................................................................ 18
2.6 CMMログエージェントのインストール...............................................................................................................................................192.6.1 インストール................................................................................................................................................................................ 192.6.2 設定............................................................................................................................................................................................ 22
2.7 アンインストール................................................................................................................................................................................ 232.7.1 CMMエージェントのアンインストール....................................................................................................................................... 232.7.2 CMMサービスとOpenStackエクステンションのアンインストール.............................................................................................. 242.7.3 クリーンアップ............................................................................................................................................................................. 25
第3章 運用と保守.................................................................................................................................................................... 283.1 エージェントおよびサービスの起動と停止.......................................................................................................................................283.2 データのクリーンアップ..................................................................................................................................................................... 30
3.2.1 CMMメトリックエージェントのメトリックの無効化........................................................................................................................313.2.2 CMMログエージェントのログデータの無効化.......................................................................................................................... 313.2.3 メトリックデータの削除................................................................................................................................................................ 313.2.4 ログデータの削除.......................................................................................................................................................................33
3.3 ログファイルの操作............................................................................................................................................................................343.4 調査資料の採取について................................................................................................................................................................ 35
3.4.1 調査資料採取ツールのインストール......................................................................................................................................... 353.4.2 調査資料採取ツールの実行..................................................................................................................................................... 36
3.5 バックアップとリカバリ........................................................................................................................................................................ 363.5.1 データベース.............................................................................................................................................................................. 373.5.2 設定ファイル............................................................................................................................................................................... 403.5.3 ダッシュボード.............................................................................................................................................................................41
第4章 サービスおよびサーバのモニタリング............................................................................................................................. 424.1 サービスおよびサーバの概要.......................................................................................................................................................... 424.2 モニタリングデータの可視化.............................................................................................................................................................424.3 アラームの定義..................................................................................................................................................................................434.4 通知の定義........................................................................................................................................................................................44
第5章 ログデータの管理.......................................................................................................................................................... 455.1 インデックスパターンの設定............................................................................................................................................................. 455.2 ログ管理ダッシュボードの利用......................................................................................................................................................... 46
付録A 構成設定.......................................................................................................................................................................47
- iii -
A.1 CMMメトリックエージェントの構成設定........................................................................................................................................... 47A.2 CMMログエージェントの構成設定..................................................................................................................................................48
付録B 対応メトリック.................................................................................................................................................................50B.1 標準メトリック..................................................................................................................................................................................... 50B.2 追加メトリック..................................................................................................................................................................................... 50
付録C 用語集..........................................................................................................................................................................56
- iv -
第1章 導入
クラウドシステムに配備されるアプリケーションはますます増え、クラウドシステムが複雑になってきているため、クラウドインフラを管理す
ることが困難になってきています。Cloud Monitoring Manager(CMM)は、OpenStackベースのクラウドコンピューティングプラットフォーム上
で動作する高性能なMonitoring as a Serviceソリューションを提供することでこの課題を克服するのを支援します。
OpenStackのコンポーネントアーキテクチャーは高い柔軟性を提供しますが、複数のサービスを扱う必要があるため、システム運用の負荷が
高くなリます。CMMは、すべてのサービスの総合的なビューを提供し、1つのアクセスポイントに、メトリックとログデータを集約します。CMMは、OpenStackプラットフォームに対する変更をすぐに反映できるよう柔軟性と拡張性を持ちながら、マルチテナント機能、高可用性、お
よびデータセキュリティの確保に必要な手段を提供します。
CMMは、Monitoring as a Serviceソリューションのあらゆる側面をカバーしています。
・ 中規模および大規模なOpenStack配備のモニタリングデータの集中管理。
・ 耐障害性のあるモニタリングデータの保存。
・ 拡大するクラウドインフラをサポートするための拡張性。物理サーバと仮想サーバがさまざまな負荷に対して拡大縮小する場合に、そ
れに応じてモニタリングおよびログ管理ソリューションを対応させることができます。
1.1 基本的な使用シナリオ
CMMのモニタリングサービスのセットアップと使用に関する基本的な使用シナリオを以下に示します。
テナントユーザーは、OpenStack環境においてサービスプロバイダーとして位置付けられます。テナントユーザーは、エンドユーザーに
サービスを提供したり、自身の開発に必要となるサービスをホストしたりするために、仮想マシンを配備します。CMMにより、テナントユ
ーザーは、それぞれのサービス、およびサービスを提供するサーバが仕様どおりの設定で動作しているかを確認できます。
OpenStack運用者は、OpenStackプラットフォームの管理と保守を行う特別なテナントユーザーです。CMMのモニタリングおよびログ管理
サービスにより、OpenStack運用者がプラットフォームの可用性および品質を確保することができます。下記の場合に、CMMを使用します。
・ 物理および仮想サーバ、ハイパーバイザー、およびOpenStackサービスのモニタリング。
・ データベースサービスなどの、ミドルウェアコンポーネントのモニタリング。
・ OpenStackサービスおよびサーバ、ミドルウェアコンポーネントおよび運用システムのログデータの取得および分析。
CMM管理者は、テナントユーザーとOpenStack運用者にモニタリングサービスおよびログ管理サービスを提供します。これにより、テナ
ントユーザーとOpenStack運用者は操作に集中し、独自のシステムモニタリングソフトウェアのセットアップや管理に伴う大変な作業を実施
することなく、サービスの品質を確保できます。管理者は、CMMの品質を確保するために、モニタリングサービスを使用することもできま
す。
- 1 -
CMM管理者のタスク
CMM管理者は以下を行います。
・ CMMサービスのインストールおよびセットアップ。これにより、テナントユーザーにモニタリングサービスを、OpenStack運用者にモニ
タリングおよびログ管理サービスを提供します。
・ CMMメトリックエージェントおよびログエージェントのCMMホストへのインストール。このエージェントはCMMサービスのモニタリングに
必要です。
・ CMMを構成するコンポーネントおよびサービスの定期保守。
・ CMMのデータベース、設定ファイル、カスタマイズされたダッシュボードのバックアップ。
・ CMM品質を保証するためのCMMサービスのモニタリング。モニタリングには、クラウドインフラにシームレスに統合されたGUIを使用
します。OpenStack Horizonにより、ユーザーインターフェース上でクラウドリソースの健全性と状態が可視化され、すべてのモニタリ
ングおよびログ管理機能へのアクセスが可能になります。
1.2 CMMのアーキテクチャーとコンポーネント
以下に、CMMの主なコンポーネントおよび、それらの相互関係の概要を図示します。
OpenStack
CMMは、パブリックおよびプライベートのクラウドコンピューティングプラットフォームを構築する技術にOpenStackを利用しています。
OpenStackは、クラウドインフラソリューション用の多様なコンポーネントを供給し、IaaS (Infrastructure as a Service)の展開と管理を可能に
する、相互関連プロジェクトで構成されています。
CMMサービス
CMMサービスは、CMMの中心となるコンポーネントです。ユーザーへのデータの提供、モニタリングデータおよびログデータの受信、保
持、処理を行います。
CMMサービスは、オープンソースのMonitoring as a ServiceソリューションであるMonascaに依存しています。Monascaを使用して高速な
メトリックの問い合わせを実現し、MonascaのThreshold Engine(ストリーミグアラームエンジン)およびNotification Engineを統合しています。
CMMサービスは、1台のサーバーにインストールされます。構成しているコンポーネントは以下のとおりです。
・ モニタリングAPI
モニタリング用のRESTful API。主に以下の領域に焦点を当てたものです。
- メトリック:大量のメトリックのリアルタイムでの保存と問い合わせ。
- 統計:メトリックの統計の提供。
- アラーム定義:アラーム定義の作成、更新、問い合わせ、削除。
- 2 -
- アラーム:アラーム履歴の問い合わせと削除。
- 通知方法:通知方法の作成と削除、および、アラームとの関連付け。アラームが発生した場合に電子メール等で直接ユーザーに
通知できます。
・ メッセージキュー
主としてモニタリングAPIからメトリックを、Threshold Engineからアラーム状態遷移メッセージを、ログAPIからログデータを受信するコ
ンポーネント。データは、Persister、Notification Engine、Log Persisterなど他のコンポーネントが取得します。また、メッセージキューは、
システム内で他のイベントを発行し、取得するためにも使用されます。メッセージキューには、Kafkaを使用しています。Kafkaは高性能
で、分散処理に対応し、耐障害性を持ち、拡張性の高い、堅牢に作られたメッセージキューです。CMMはメッセージキューを管理す
るために、設定情報の保守、ネーミング、分散同期の提供、グループサービスの提供を実施するための集中的サービスである
ZooKeeperを使用します。
・ Persister
メッセージキューからメトリックおよびアラーム状態遷移を取得し、それらをメトリックおよびアラームデータベース(InfluxDB)に保存する
Monascaコンポーネント。
・ Notification Engine
メッセージキューからアラーム状態遷移メッセージを受け付けて、電子メールなどの、アラームの通知を送信するMonascaコンポーネ
ント。
・ Threshold Engine
メトリックのしきい値を計算し、アラームが発生した場合にメッセージキューにアラームを発行するMonascaコンポーネント。ThresholdEngineは、フリーかつオープンなリアルタイム分散処理システムであるApache Stormをベースにしています。
・ メトリックおよびアラームデータベース
メトリックおよびアラーム履歴を保存するInfluxDB。
・ 構成データベース
設定情報、アラーム定義、通知方法を保存するために使用するMariaDB。
・ ログAPI
ログ管理用RESTful API。ログAPIは、CMMログエージェントから収集したログデータをメッセージキューに転送します。
CMMログ管理は、あらゆる種類のログを受信し、処理し、発行するツールであるLogstashを使用します。Logstashは、ログの問い合わ
せや分析のための強力なパイプラインを提供します。バックエンドデータストアとしてElasticsearchを使用し、ログデータを取得し可視化
するためのフロントエンドツールとしてKibanaを使用します。
・ Log Transformer
メッセージキューからログデータを取得し、データの変換および集計処理を実行し、作成したデータをメッセージキューに再度発行する
Logstashコンポーネントです。
・ Log Persister
メッセージキューから変換および集計されたログデータを取得し、ログデータベース(Elasticsearch)に保存するLogstashコンポーネ
ント。
・ Kibanaサーバ
Elasticsearchに対するWebブラウザベースの解析、検索インターフェース。
・ ログデータベース
ログデータを保存するためのElasticsearchデータベース。
注意
CMMサービスのインストールには、必要なCMMサードパーティコンポーネントすべてのインストールが含まれています。場合によって、サ
ードパーティコンポーネントに対するバグフィックスやセキュリティパッチのインストールが必要な場合があります。CMMインストール全体の
相互運用性と保全性を保証するために、CMMサポート窓口から当該の修正パッチを入手してください。
- 3 -
CMM Horizonプラグイン
CMMには、OpenStack Horizonダッシュボード用のプラグインが同梱されています。そのプラグインは、OpenStackのメインダッシュボー
ドに、モニタリング用のビューを提供します。これにより、CMM利用者は、WebベースのGUIからモニタリング機能にアクセスできるように
なります。詳細については、OpenStack Horizon documentationを参照してください。
OpenStack Horizonにより、モニタリングデータは、下記のアプリケーションと完全に統合する快適で利用しやすいダッシュボード上で可視化
できます。
・ Grafana(メトリックデータ用)。大規模測定データを可視化するオープンソースアプリケーション。
・ Kibana(ログデータ用)。Elasticsearchを運用するために設計されたオープンソースの分析および可視化プラットフォーム。
CMMメトリックエージェント
メトリックを収集してCMMサービスに送信するためには、CMMメトリックエージェントが必要です。本エージェントは、組み込みのシステ
ムチェックとサービスチェックに加えて、さまざまなメトリックをサポートしています。モニタリングしたい仮想サーバや物理サーバごとにCMMメトリックエージェントをインストールすることができます。
本エージェント機能は、Monascaプロジェクトのソースコードベースに完全に統合されています。詳細は、Monasca Wikiを参照してくだ
さい。
CMMログエージェント
CMMログエージェントは、ログデータを収集し、その後の処理のために、CMMサービスに転送するうえで必要です。ログデータを収集し
たい仮想サーバや物理サーバごとにインストールすることができます。
本エージェント機能は、Monascaプロジェクトのソースコードベースに完全に統合されています。詳細は、Monasca Wikiを参照してくだ
さい。
1.3 ユーザー管理
CMMは、OpenStack上で共通の認証認可サービスであるKeystoneと完全に統合されています。
CMMのKeystoneへの統合により、CMM管理者を含むすべてのCMM利用者をOpenStackユーザーとして登録する必要があります。CMMにおける認証認可はすべてKeystoneを介して実施されます。例えば、モニタリングデータをユーザーが要求する場合、CMMでは、そ
のユーザーがOpenStackにおいて有効なユーザーであり、要求されたメトリックにアクセスできることを確認します。
CMM利用者は、OpenStack上で作成され管理されます。
・ 各利用者は、OpenStackにおいて、特定の操作を実行するための役割(ロール)を持っています。OpenStackのロールは権利と権限を
定義します。
・ 各利用者には、少なくとも1つのOpenStackプロジェクトが割り当てられます。プロジェクトは、割り当てられたユーザーがアクセスでき
るリソースの集合を定義する組織単位です。
CMMのテナントユーザーは、割り当てられたプロジェクトに定義されるリソースをモニタリングできます。
ユーザー管理に関する詳細は、OpenStack documentationを参照してください。
1.4 配布媒体
CMMは、CMMインストールパッケージで配布されます。CMMインストールパッケージには、CMMのインストールおよび設定のための
ソフトウェアとCMMドキュメントを含みます。
パッケージには、下記が含まれます。
・ setup.sh:CMMインストーラをセットアップするためのスクリプト。
・ Licensesサブディレクトリ:
CMMによって使用されるサードパーティ製ソフトウェアのライセンスファイルが含まれます。
・ Serviceサブディレクトリ:
- 4 -
CMMのインストールパッケージであるCMM-Service-1.1.0.tar.gz。CMMをインストールするためにCMM管理者および
OpenStack運用者によって要求されるソフトウェアとセットアップユーティリティを提供します。詳細は、2.1 前提条件と準備を参照して
ください。
FJSVsvcmm-1.1.0-1.noarch.rpm:バージョン情報の確認に必要なRPM。
・ Manualsサブディレクトリ:
CMMの概要、および、テナントユーザー向け、OpenStack運用者、CMM管理者向けの情報を提供しているPDFマニュアルが含ま
れます。
・ Toolsサブディレクトリ:
調査資料採取ツールであるCMM-Collect-info.tar.gz が含まれます。詳細は、3.4 調査資料の採取についてを参照してくだ
さい。
- 5 -
第2章 インストール
CMMのインストールは幾つかのステップで構成されています。これらのステップの一部はCMM管理者が、一部はOpenStack運用者が実行
します。
CMMのインストールは、以下のステップで構成されています。
1. インストール環境の準備(CMM管理者とOpenStack運用者が実施)。
2. コントロールマシンの設定(CMM管理者とOpenStack運用者が実施)。
3. オフラインリソースのインストール(CMM管理者が実施)。
4. CMMサービスに必要なOpenStackエクステンションのインストール(OpenStack運用者が実施)。
5. CMMサービスのインストール(CMM管理者が実施)。
CMM管理者は、CMMをモニタリングするためのエージェントのインストールおよび設定も行います。OpenStack運用者は、OpenStackプラットフォームをモニタリングするためのエージェントのインストールおよび設定を行います。また、OpenStackで仮想マシンを配備してい
るテナントユーザー向けのモニタリング環境も準備します。
CMMにはAnsibleを使用するインストーラが同梱されています。インストーラは必要なソフトウェアコンポーネントのインストールに使用し
ます。
インストール環境
デフォルトのインストール環境は以下のとおりです。
- 6 -
・ CMM管理者はオフラインリソース、CMMコンポーネント、必要なエージェントを1台のホスト(CMMホスト)にインストールします。
・ OpenStack運用者はOpenStack KeystoneサービスとOpenStack Horizonサービスに必要なエージェントとOpenStackエクステンション
をインストールします。OpenStack環境によっては、KeystoneとHorizonは同じホストあるいは2台のホストに別々にインストールできま
す。
OpenStack運用者は、OpenStackサービスの追加に応じて、モニタリング用のエージェントを追加インストールすることができます。
CMMコンポーネントのインストールは、コントロールマシンから管理します。CMMホストをインストールするためのコントロールマシンを準備
してください。OpenStack運用者は、KeystoneホストとHorizonホストにOpenStackエクステンションをインストールするためのコントロールマ
シンを準備します。
2.1 前提条件と準備
後述のセクションでは、CMMをインストールする場合の前提条件と事前に実施しておく必要のある準備作業について説明します。
2.1.1 前提条件
CMMは、以下のオペレーティングシステムが導入済みのホストマシンにインストール可能です。
・ Red Hat Enterprise Linux 7.2 (for Intel64)
基盤となるプラットフォーム技術として、以下のOpenStackプラットフォームがサポートされています。
・ Red Hat Enterprise Linux OpenStack Platform 8
推奨するハードウェアリソースは以下のとおりです。
ハードウェアタイプ 説明
モデル Fujitsu Server PRIMERGY RX300 S8
CPU Intel® Xeon® E5-2660 v2、2.20 GHz以上
メモリ 64GB DIMM (DDR3)以上
CMMは、約2GBのディスク空き容量を必要とします。ログデータとメトリックデータに必要なディスク容量は、モニタリング対象のサービ
スとサーバの数によって大きく異なります。
十分なディスク空き容量が確保されていることを確認してください。必要であれば、ログデータとメトリックデータの格納用のパーティショ
ンをマウントしてください。デフォルトのインストールは以下のディレクトリを使用します。
・ Elasticsearchのデータディレクトリは/var/data/elasticsearchにあります。
・ InfluxDBのデータディレクトリは/var/opt/influxdb/dataにあります。
・ MariaDBのデータディレクトリは/var/lib/mysqlにあります。
・ Kafkaのデータディレクトリは/var/kafkaにあります。
CMMは、以下のWebブラウザをサポートしています。
- 7 -
・ Google Chrome 52.0
・ Microsoft Internet Explorer 11.0 (互換表示を無効化した状態)
・ Mozilla Firefox ESR 45.0
2.1.2 コントロールマシン
CMMのインストールには、コントロールマシンが使用されます。コントロールマシンは、ソフトウェアコンポーネントのインストール先となる
リモートマシンの管理に利用可能な別のマシンです。
リモートマシンは、SSHプロトコルで管理します。
コントロールマシンは、下記のシステム要件を満たさなければなりません。
・ Ansible 1.9のインストールと準備を後述のとおり行う必要があります。Ansibleはアプリケーションやシステムの配備を容易にするシン
プルなIT自動化プラットフォームです。CMMの自動インストールはAnsibleプレイブックに基づいており、Ansible 1.9.6を使用してテスト
済みです。
・ Python 2.7がインストールされていること
コントロールマシンに必要なオペレーティングシステムの詳細については、Ansible documentationを参照してください。
以下を実施し、コントロールマシンにAnsibleのインストールと準備を行ってください。
1. コントロールマシンにログインします。
2. EPEL (Extra Packages for Enterprise Linux)用の以下のリポジトリを有効にします。
・ optional リポジトリ (rhel-7-server-optional-rpms)
・ extras リポジトリ (rhel-7-server-extras-rpms)
リポジトリを有効化するには、Red Hat Network Classicのオプションのサブチャンネルを有効にする必要があります。証明書ベース
のサブスクリプションに関する詳細は、Red Hat Subscription Management Guideを参照してください。
サブチャンネルを有効にするために、以下のコマンドを実行します。
subscription-manager repos --enable rhel-7-server-optional-rpms
subscription-manager repos --enable rhel-7-server-extras-rpms
3. EPELをインストールします。
Red Hat Enterprise Linux 7.2のEPELをダウンロードするために、下記のコマンドを実行します。
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
EPELをインストールするために、以下のコマンドを実行します。
sudo rpm -i epel-release-latest-7.noarch.rpm
4. Ansibleをインストールするために、以下のコマンドを実行します。
sudo yum install ansible1.9
- 8 -
2.1.3 CMMソフトウェアとセットアップユーティリティ
ソフトウェアとセットアップユーティリティはCMM DVD(本製品のインストールメディア)に収録されているCMMインストールパッケージで配布
されています。インストールパッケージをセットアップするには、DVDをマウントし、提供されているsetup.shスクリプトを実行する必要が
あります。setup.shスクリプトを実行するとCMMのインストールに必要なファイル群が配置されます。
下記のとおりに実施してください。
1. コントロールマシンにログインします。
2. DVDを任意のディレクトリにマウントします。ISO9660ファイルシステムを明示的に指定することを推奨します。
以下のコマンドを実行します。
# mount -t iso9660 -r /dev/<file_name> <mount_dir>
<file_name>をDVDデバイスのファイル名で、<mount_dir>をDVDのマウント先ディレクトリで置き換えてください。
3. setup.shスクリプトを実行するには下記のコマンドを使用します。
# <mount_dir>/setup.sh
<mount_dir>をDVDのマウント先ディレクトリで置き換えます。
インストールパッケージがコントロールマシン上の/opt/FJSVsvcmmディレクトリに展開されます。展開後、以下のファイルとディレクトリが
利用可能となります。
・ group_vars
コントロールマシンの設定に必要となるAnsibleグループ変数を含むディレクトリ。
・ host_vars
コントロールマシンの設定に必要となるAnsibleホスト変数を含むディレクトリ。
・ rolesおよびtasks
CMMインストーラによって要求されるアーティファクトを含むディレクトリ。
・ templates
サンプルのAnsible設定ファイルが格納されているディレクトリ。コントロールマシンの設定に使用できます。
・ uninstaller
CMMアンインストーラによって要求されるアーティファクトを含むディレクトリ。
・ *.ymlファイル
CMMソフトウェアコンポーネントのインストールとアンインストールに必要なAnsibleプレイブック。
・ services.sh
CMMエージェントとサービスの起動、停止、状況確認を行うためのスクリプト。
・ *.txtファイル
CMM11_PythonRequirements.txt は CMM サ ー ビ ス に 必 要 な Python ラ イ ブ ラ リ の 一 覧 で す 。
OSP8_PythonRequirements.txtはOpenStackエクステンションに必要なPyhonライブラリの一覧です。これらのライブラリ
は/usr/lib/python2.7/site-packagesディレクトリにインストールされます。
注意
CMMサービスとOpenStackエクステンションの前提条件として、特定バージョンのPythonライブラリをインストールする必要があります。
インストールしたバージョンが/usr/lib/python2.7/site-packagesディレクトリ内で上書きされていないことを確認してくだ
さい。
CMM11_RPMPackages.txtはCMMコンポーネントのインストールに必要なRPM (RedHat Repository Manager)パッケージの一覧
です。OSP8_RPMPackages.txtは、OpenStackエクステンションのインストールに必要なRPMパッケージの一覧です。
- 9 -
注意
CMMインストーラは、不足しているRPMパッケージをYumリポジトリサーバから自動的にインストールします。必要なパッケージがYumリポジトリにあることを確認する必要があります。
2.1.4 セキュリティ
デフォルトのRed Hat Enterprise Linuxインストールでは、以下が設定されています。
・ 不正ユーザーアクセスを防止するためにファイアウォールが存在しています。
・ 必須のアクセス制御メカニズムを追加するセキュリティモジュールであるSELinuxが有効になっています。
CMMコンポーネントのインストールを行う前に、ファイアウォールが有効で、SELinuxが動作中であるか確認してください。ファイアウォー
ルおよびSELinuxがコントロールマシンとリモートマシン間の通信を妨げないことを確認してください。
CMMコンポーネントのインストールに使用するAnsibleインストーラは、以下のポートを開きます。
・ ポート8888:インストールに必要なオフラインリソースに使用します。
・ ポート5607:ログAPIに使用します。
・ ポート8070:モニタリングAPIに使用します。
・ ポート5601:Kibanaサーバに使用します。
ポート8081は、ヘルスチェックやスレッドなど、モニタリングAPIによって内部で必要とします。Ansibleインストーラによって使用される
DropWizardフレームワークは、このポートに対する外部アクセスを有効にします。
CMMでは、必要なOpenStackサービスと統合するために下記のポートを使用します。
・ OpenStack Horizonサービスのポート80
・ OpenStack Keystoneサービスのポート5000と35357
ポートへのアクセスを手動で有効化する必要がある場合は以下のコマンドで設定できます。このコマンドは、アクセスの有効化が必要な
ポートごとに行ってください。
firewall-cmd --add-port=<port_number>/tcp
firewall-cmd --permanent --add-port=<port_number>/tcp
<port_number>はポート番号で置き換えてください。
2.1.5 HTTPSサポート
デフォルトでは、CMMコンポーネントではHTTPプロトコルを通信に使用します。さらにセキュアな接続のために、CMMをHTTPSプロト
コルを使用する設定にすることができます。HTTPSプロトコルの使用については、富士通のサポート窓口までお問い合わせください。
2.1.6 Pythonパッケージ
CMMでは、Pythonパッケージをインストールするためにpipを使用します。CMMソフトウェアコンポーネントをインストールする場合、pipV7.0.3は自動的にインストールされます。
注意
CMMのインストール元であるホストマシンにpipがすでにインストールされているかを確認してください。インストールされているpipのバ
ージョンがV7.0.3以外の場合は、インストールが失敗します。
- 10 -
2.1.7 Bashの設定
インストール中にbashスクリプトでsudoコマンドを実行する際に、サービスの起動に失敗する場合があります。これは、/etc/sudoersフ
ァイルにおけるttyの指定が原因の可能性があります。
エラーを回避するために、以下の手順を実施します。
1. 任意のテキストエディタを使用し、sudoersファイルを開きます。
例:
sudo visudo
2. 下記の行が行の先頭に#を加えてコメントアウトしたものであることを確認してください。
#Defaults requiretty
2.2 コントロールマシンの設定
コントロールマシンは、すべてのリモートマシンに接続されている必要があります。コントロールマシンを設定するには、以下の手順を実施
します。
1. コントロールマシンにログインします。
2. 任意のテキストエディタを使用し、Ansible設定ファイルを開きます。
例:
sudo vim /etc/ansible/ansible.cfg
3. ファイル内で、以下のSSH設定を指定します。
[defaults]
transport = ssh
[ssh_connection]
ssh_args = -o ControlMaster=auto -o BatchMode=yes -o ForwardAgent=yes
4. 任意のテキストエディタを使用し、コントロールマシンの設定ファイルを開きます。
例:
sudo vim /etc/ansible/hosts
コントロールマシンの設定の詳細は、Ansible Inventory documentationを参照してください。
5. 設定ファイルに必要なホストを設定します。CMMには、テンプレートとして使えるサンプル設定ファイルが同梱されています。
hosts-single-cmm.j2
このサンプルは/opt/FJSVsvcmm/templatesディレクトリにあります。
サンプルファイルの内容を、設定ファイルにすべてコピーしてください。
6. 定義された以下のセクションごとに変数を置き換えます。
・ Offline Host:インストールに必要なオフラインリソースのインストールに使用します。
・ Monasca Host:CMMサービスのインストールに使用します。
・ <cmm_component>:各CMMコンポーネントのインストールに使用します。
・ Monasca Agent Hosts:CMMメトリックエージェントのCMMホストへのインストールに使用します。
・ Monasca Log Agent Hosts:CMMログエージェントのCMMホストへのインストールに使用します。
- 11 -
{{ monasca_host }}は、対応する リモー トマシンのホス ト名または IP アドレスで置き換えてください。
{{ ssh_user_monasca }}はインストールを行うユーザーのユーザー名で置き換えてください。
注意
CMMコンポーネントをインストールするユーザーはパスワードなしでsudoコマンドを実行する権限を持っている必要があります。あ
らかじめsudoの設定を確認してください。
7. コントロールマシンとリモートマシン間の接続を確立するために、Ansible用のSSHキーを生成します。
以下のコマンドを実行します。
ssh-keygen -t rsa
注意
SSHキーのパスフレーズを指定していた場合は、インストールまたはアンインストールコマンドの実行にssh-agentツールを使用し
てください。
ssh-agentツールは、インストールまたはアンインストール後、必ず停止してください。
8. SSHキーをCMMホストにコピーするために、以下のコマンドを実行します。
ssh-copy-id <user_name>@<cmm_host_ip>
user_nameはホストにアクセスする際に使用するユーザー名で置き換えてください。cmm_host_ipはホスト名またはIPアドレスで
置き換えてください。
CMMホストへの接続が成功した場合の応答例:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
<user_name>@<cmm_host_ip>'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '<user_name>@<cmm_host_ip>'"
and check to make sure that only the key(s) you wanted were added.
2.3 オフラインリソースのインストール
OpenStackエクステンションとCMMサービスのインストールに必要なオフラインリソースのインストールは、以下の手順で行います。
1. コントロールマシンにログインします。
2. オフラインリソース、CMMサービス、およびOpenStack Keystoneサービスをインストールするリモートマシンを設定します。インスト
ーラは、設定目的でAnsibleのグループ変数を使用します。グループ変数は/opt/FJSVsvcmm/group_varsディレクトリにあ
ります。
任意のテキストエディタを使用し、all_groupファイルを開きます。このファイルはメインの構成設定を定義します。
例:
sudo vim /opt/FJSVsvcmm/group_vars/all_group
3. hostsセクションで運用環境のIPアドレスを指定します。
・ offline_host:オフラインリソース
・ monasca_host:CMMサービス
・ keystone_host:OpenStack Keystoneサービス
- 12 -
例:
# hosts
offline_host: 192.168.10.4
monasca_host: 192.168.10.4
keystone_host: 192.168.10.5
4. オフラインリソースのインストールには、特定の構成設定が必要です。それらの設定は、group_vars/offline_groupファイルで
指定されています。
ファイルには、デフォルトの設定が含まれています。変更は不要です。
注意
デフォルトとは異なる設定が必要な場合にのみ変更してください。
デフォルトの設定を表示したい場合は、任意のテキストエディタを使用してファイルを開くことができます。
例:
sudo vim /opt/FJSVsvcmm/group_vars/offline_group
5. オフラインリソースをインストールするために、以下のコマンドを実行します。
ansible-playbook /opt/FJSVsvcmm/offline.yml
インストールに成功した場合、以下の応答が表示されます。
例:
PLAY RECAP ********************************************************
offline-resources-host : ok=40 changed=23 unreachable=0 failed=0
注意
インストール中に行われるチェックには、エラーや警告を表示するものがあります。これらのエラーや警告の報告によってインストールが
中止されることはありません。インストールの結果は、最後に表示されるメッセージで確認してください。
インストールに失敗した場合はverboseモードで再度インストールを試みてください。デバッグ情報を収集するには、以下のコマンドを
実行してください。
ansible-playbook -vvvv /opt/FJSVsvcmm/offline.yml
オフラインリソースのインストール後、OpenStack運用者はCMM用のOpenStackプラットフォームの準備を行う必要があります。OpenStack運用者のタスクに関する詳細は、OpenStack運用者ガイドを参照してください。OpenStack運用者は、必要なOpenStackエクステンション
をインストールし、OpenStackにおいてCMMのインストールと連携に必要なユーザーとロールを作成する必要があります。
CMMサービスのインストールに進む前に、OpenStack運用者にお問い合わせのうえ、該当する準備作業を行ってください。
2.4 CMMサービスのインストール
CMMをインストールするための前提条件として、OpenStack運用者は用のOpenStackエクステンションをインストールしておく必要があり
ます。
CMMサービスのインストールは以下の手順で行います。
1. コントロールマシンにログインします。
2. CMMサービスをインストールするリモートマシンを設定します。インストーラは、設定目的でAnsibleのグループ変数を使用します。グ
ループ変数は/opt/FJSVsvcmm/group_varsディレクトリにあります。
- 13 -
任意のテキストエディタを使用し、all_groupファイルを開きます。このファイルはメインの構成設定を定義します。
例:
sudo vim /opt/FJSVsvcmm/group_vars/all_group
3. hostsセクションで運用環境のIPアドレスを確認します。これらのIPアドレスは、オフラインリソースのインストール用にすでに指定さ
れています。
・ offline_host:オフラインリソース
・ monasca_host:CMMサービス
・ keystone_host:OpenStack Keystoneサービス
例:
# hosts
offline_host: 192.168.10.4
monasca_host: 192.168.10.4
keystone_host: 192.168.10.5
4. OpenStackユーザーとして有効な認証情報をMonasca Apiセクションに定義します。この件についてOpenStack運用者にお問い合
わせください。OpenStack運用者が、必要なユーザーとロールを作成します。
入力するユーザーはCMMサービスに対するすべてのアクセス権を持っている必要があります。また、データの読み書きを許可す
るロールが割り当てられている必要があります。このロールはdefaultAuthorizedRolesで指定します(後述のステップ8を参
照)。
例:
# Monasca Api CLI - Credentials
monasca_user:
user: cmm-operator
password: "{{ keystone_cmm_operator_user_password }}"
project: cmm
5. CMMサービスのインストールに必要なパスワードを提供してください。これらのパスワードは、/opt/FJSVsvcmmディレクトリにある
credentials.ymlファイルで定義されています。
任意のテキストエディタを使用し、credentials.ymlファイルを開きます。
例:
sudo vim /opt/FJSVsvcmm/credentials.yml
6. ファイル内で以下のパスワードを指定します。
・ influxdb_mon_api_password:InfluxDBにアクセスするモニタリングAPIユーザー用。
・ influxdb_mon_persister_password:InfluxDBにアクセスするPersisterユーザー用。
・ database_notification_password:MariaDBにアクセスするNotification Engineユーザー用。
・ database_monapi_password:MariaDBにアクセスするモニタリングAPIユーザー用。
・ database_thresh_password:MariaDBにアクセスするThreshold Engineユーザー用。
・ database_logapi_password:MariaDBにアクセスするログAPIユーザー用。
・ keystone_cmm_operator_user_password:CMM管理者のKeystoneへのアクセスに使用します(前述のステップ4を
参照)。CMM管理者のユーザーアカウントはインストール時に自動的に作成されます。
・ keystone_admin_password:adminなど、既存のOpenStackユーザーアカウントのパスワードです。このユーザーアカウ
ントは、インストール時の新規ユーザーアカウントの作成に使用します。このユーザーアカウントは、OpenStack運用者のアカウ
ントです。
7. CMMコンポーネントのインストールには、特定の構成設定が必要です。それらの設定は、group_vars/monasca_groupファ
イルで指定されています。
- 14 -
このファイルにはデフォルトの設定が含まれています。個々のコンポーネントに対する変更は不要です。権限を与えられている
OpenStackロール(後述のステップ8を参照)、および、Elasticsearchデータベースのバックアップ用ファイルシステム(後述のステップ9)
だけ指定する必要があります。
注意
デフォルトとは異なる設定が必要な場合にのみ、個々のコンポーネントに対する変更を行ってください。
デフォルトの設定を表示したい場合は、任意のテキストエディタを使用してファイルを開くことができます。
例:
sudo vim /opt/FJSVsvcmm/group_vars/monasca_group
8. group_vars/monasca_groupファイルで、OpenStack運用者によって許可されているOpenStackロールを指定します。
・ defaultAuthorizedRolesはすべてのアクセス権限を与えるロールを指定します。
・ agentAuthorizedRolesはエージェントへのアクセス権限のみを与えるロールを指定します。ユーザーのアクセスは、モニ
タリングデータの送信に制限されます。
例:
defaultAuthorizedRoles: "user,domainuser,domainadmin,cmm-user"
agentAuthorizedRoles: "cmm-agent"
9. group_vars/monasca_groupファイルのelasticsearchセクションで、Elasticsearchデータベースをバックアップするため
のファイルシステムを指定します。指定したファイルシステムは、今後、Elasticsearchデータベースをバックアップする際に必ず使用
されます。
例:
elasticsearch_repo_dir: [/mount/backup/elasticsearch]
10. CMMコンポーネントをインストールするために、以下のコマンドを実行します。
ansible-playbook /opt/FJSVsvcmm/monasca.yml
インストールに成功した場合、以下の応答が表示されます。
例:
PLAY RECAP ********************************************************
cmm-node : ok=262 changed=189 unreachable=0 failed=0
注意
インストール中に行われるチェックには、エラーや警告を表示するものがあります。これらのエラーや警告の報告によってインストールが
中止されることはありません。インストールの結果は、最後に表示されるメッセージで確認してください。
インストールに失敗した場合は構成設定およびパスワードを確認し、verboseモードで再度インストールを試みてください。デバッグ情報を
収集するには、以下のコマンドを実行してください。
ansible-playbook -vvvv /opt/FJSVsvcmm/monasca.yml
CMMサービスのインストール後、CMMをモニタリングするためのエージェントのインストールおよび設定を行うことができます。
2.5 CMMメトリックエージェントのインストール
CMMのモニタリングには、CMMメトリックエージェントをCMMホストにインストールする必要があります。
- 15 -
CMMホスト上にエージェントをインストールするための前提条件として、オフラインリソース、OpenStackエクステンション、CMMサービス
をインストールしておく必要があります。
下記の手順でインストールを実施します。
1. エージェントをインストールします。
2. エージェントの設定を行います。
2.5.1 インストール
CMMメトリックエージェントのインストールは、以下の手順で行います。
1. コントロールマシンにログインします。
2. 任意のテキストエディタを使用し、コントロールマシンの設定ファイルを開きます。
例:
sudo vim /etc/ansible/hosts
3. エージェントをインストールするホストを設定します。そのため、設定ファイルの以下のセクションを確認します。
# Monasca Agent Hosts
[monasca_agent_group]
cmm-monasca-agent ansible_ssh_host=<monasca_host> ansible_ssh_user=<ssh_user_monasca>
別のホストに追加でエージェントをインストールする場合は、行を追加して設定することもできます。これにより、一度に1つまたは複数
のインスタンスにエージェントをインストールすることが可能です。行を追加する場合、エージェントをインストールするホストマシン用に
一意のエイリアスを指定する必要があります。
4. <monasca_host>を、エージェントをインストールするリモートマシンのホスト名または IPアドレスで置き換えます。
<ssh_user_monasca>はインストールを行うユーザーのユーザー名で置き換えます。
注意
エージェントをインストールするユーザーは、インストール先のホストマシンにアクセスできる必要があります。root権限を持つユー
ザーとしてアクセスする必要があります。
5. コントロールマシンとリモートマシン間の接続を確立するために、Ansible用のSSHキーを生成します。
以下のコマンドを実行します。
ssh-keygen -t rsa
6. SSHキーをリモートマシンにコピーするために、以下のコマンドを実行します。このコマンドは、エージェントをインストールするリモ
ートマシンごとに実行してください。
ssh-copy-id <user_name>@<host_ip_address>
<user_name>はホストにアクセスする際に使用するユーザー名で置き換えてください。<host_ip_address>はホスト名またはIP
アドレスで置き換えてください。
リモートマシンへの接続に成功した場合の応答例:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
<user_name>@<host_ip_address>'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '<user_name>@<host_ip_address>'"
and check to make sure that only the key(s) you wanted were added.
- 16 -
7. エージェント用の設定ファイルを作成します。設定ファイルはインストールディレクトリに格納する必要があります。設定ファイルは
インストールするエージェントインスタンスごとに個別に必要です。
設定ファイルを作成するには以下のコマンドを実行します。このコマンドは、エージェントのインストール先リモートマシンごとに実行
してください。
sudo vim /opt/FJSVsvcmm/host_vars/<file_name>
<file_name>はホストマシンのエイリアスで置き換えてください。<file_name>はコントロールマシンの設定ファイルで指定さ
れているエイリアスと同一でなければなりません(前述のステップ3を参照)。
8. エージェントを設定します。以下のサンプルは、エージェントを起動するために必要な最低限のパラメーターを示しています。必要
最低限のパラメーターはCMMサービスとエージェント間の通信に使用されるOpenStackユーザーの認証情報です。
必要に応じて追加の構成設定を指定することができます。利用できる構成設定の一覧については、A.1 CMMメトリックエージェントの
構成設定を参照してください。
必要最低限のパラメーターを定義するには、以下の内容を各設定ファイルに記述します。モニタリングデータをCMMサービスへ送信
する権限が与えられている有効なOpenStackユーザーの認証情報を指定してください。OpenStackユーザーについては、OpenStack運用者にお問い合わせください。OpenStack運用者が必要なユーザーおよびロールを作成します。
例:
# file: host_vars/cmm-monasca-agent
# Monasca Agent user credentials
monasca_agent_user: cmm-agent
monasca_agent_password: "{{ cmm_monasca_agent_keystone_password }}"
monasca_agent_project: cmm
9. エージェントのインストールに必要なパスワードを設定します。パスワードは、/opt/FJSVsvcmmディレクトリにある
credentials.ymlファイルで定義されています。
任意のテキストエディタを使用し、credentials.ymlファイルを開きます。
例:
sudo vim /opt/FJSVsvcmm/credentials.yml
10. ファイル内で以下のパスワードを指定します。
・ cmm_monasca_agent_keystone_password:CMMホスト上のCMMメトリックエージェントの設定目的で使用されるユー
ザーのKeystoneへのアクセスに使用します。ユーザーアカウントはインストール時に自動的に作成されます。
・ Maria DBデータベースへのエージェントアクセスのためのcmm_monasca_agent_database_password
・ openstack_monasca_agent_keystone_password:OpenStackホスト上のCMMメトリックエージェントの設定目的で使
用されるユーザーのKeystoneへのアクセスに使用します。ユーザーアカウントはインストール時に自動的に作成されます。
11. インストールを実行するには下記のコマンドを使用します。
ansible-playbook /opt/FJSVsvcmm/monasca-agent.yml
インストールに成功した場合、以下の応答が表示されます。
例:
PLAY RECAP ********************************************************
monasca-agent : ok=40 changed=23 unreachable=0 failed=0
注意
インストール中に行われるチェックには、エラーや警告を表示するものがあります。これらのエラーや警告の報告によってインストールが
中止されることはありません。インストールの結果は、最後に表示されるメッセージで確認してください。
- 17 -
インストールに失敗した場合は構成設定およびパスワードを確認し、verboseモードで再度インストールを試みてください。デバッグ情報を
収集するには、以下のコマンドを実行してください。
ansible-playbook -vvvv /opt/FJSVsvcmm/monasca-agent.yml
インストールに成功すると、エージェントは自動的に起動します。インストーラは、マシンの起動時にエージェントを自動的に起動する起動
スクリプトを作成します。
CMMメトリックエージェントはvirtualenv環境にインストールされます。デフォルトでは、CMMメトリックエージェントのvirtualenv環境は/opt/
monasca-agentディレクトリにあります。
エージェントは、LINUXサービスとして提供されます。
2.5.2 設定
エージェントのインストール時、エージェントをインストールするサーバ上にモニタリングに必要な設定ファイルを作成します。設定ファイ
ルは、.yaml形式です。作成される設定ファイルは以下のとおりです。
・ /etc/monasca/agentディレクトリに格納されているagent.yaml
エージェントの基本構成を定義します。インストーラはマシン上で動作中のアプリケーションおよびプロセスを自動的に検知し、それに
対応する設定をこのファイルに保存します。
・ /etc/monasca/agent/conf.dディレクトリに格納されている*.yaml
これらの設定ファイルでエージェントがサービスやサーバのモニタリングに使用する標準メトリックを提供します。システムチェック用の
標準メトリックはインストーラが自動的に設定します。
・ /opt/monasca-agent/share/monasca/agent/conf.dディレクトリに格納されている*.yaml
これらの設定ファイルを有効化することで、標準メトリックに拡張して追加メトリックを提供します。これらのファイルには、追加メトリックを
設定するためのテンプレートが定義されています。
エージェントのインストールには初期設定が含まれています。エージェントの設定変更は以下の方法で行うことができます。
・ agent.yamlファイルを更新することができます。
・ 標準メトリックに加え、追加のメトリックを有効化することができます。
詳細については、下記を参照してください。
設定ファイルの更新
agent.yamlファイルの編集は以下の手順で行います。
1. エージェントをインストールしたサーバにログインします。
2. エージェントを停止するために、以下のコマンドを実行します。
sudo systemctl stop monasca-agent
3. 任意のテキストエディタを使用し、ファイルを開きます。
例:
sudo vim /etc/monasca/agent/agent.yaml
4. 必要に応じて設定値を修正します。
CMMで利用できるパラメーターの一覧を確認するには、A.1 CMMメトリックエージェントの構成設定を参照してください。
5. エージェントを再度起動するために、以下のコマンドを実行します。
sudo systemctl start monasca-agent
エージェントは更新された設定値を使って即座に利用可能です。
- 18 -
追加メトリックの有効化
インストーラは、サービスとサーバをモニタリングするための標準メトリックを自動的に有効化します。標準メトリックには、CPU使用量、ディスク
領域、システムの平均負荷などのシステムチェックが含まれます。これらのシステムチェックを手動で設定する必要はありません。インス
トーラによって、エージェントのインストール先サーバからモニタリングデータを取得するよう、自動的に設定されます。これらのメトリック
については、B.1 標準メトリックを参照してください。
CMMでは、標準メトリックの拡張として、追加メトリックの有効化ができます。CMMがサポートするメトリックの一覧については、B.2 追加メ
トリックを参照して下さい。
エージェントには、環境に合うよう修正したり、サービスやサーバのモニタリングに使用したりできるメトリックテンプレートが同梱されてい
ます。
追加メトリックの有効化は、以下の手順で行います。
1. エージェントをインストールしたサーバにログインします。
2. エージェントを停止するために、以下のコマンドを実行します。
sudo systemctl stop monasca-agent
3. 必要なテンプレートファイルをコピーします。
例:
sudo cp -p \
/opt/monasca-agent/share/monasca/agent/conf.d/rabbitmq.yaml.example \
/etc/monasca/agent/conf.d/rabbitmq.yaml
4. 任意のテキストエディタを使用し、テンプレートファイルを開きます。
例:
sudo vim /etc/monasca/agent/conf.d/rabbitmq.yaml
5. 設定を実際の環境に合うよう修正します。設定例については、B.2 追加メトリックを参照してください。
6. エージェントを再度起動するために、以下のコマンドを実行します。
sudo systemctl start monasca-agent
有効化されたメトリックは、エージェントがモニタリングデータを取得するために即座に利用できます。
注意
インストーラは、システム上で動作中のアプリケーションおよびプロセスを自動的に検知し、検知した設定値を対応する設定ファイルに保存
します(host_alive.yaml、http_check.yaml、process.yamlなど)。これらのファイルは、自動的に/etc/monasca/
agent/conf.d/ディレクトリに格納されます。あらかじめ、設定値を確認してください。
2.6 CMMログエージェントのインストール
CMMのモニタリングには、CMMログエージェントをCMMホストにインストールする必要があります。
エージェントをインストールするための前提条件として、オフラインリソース、OpenStackエクステンション、CMMサービスをインストールし
ておく必要があります。
下記の手順でインストールを実施します。
1. エージェントをインストールします。
2. エージェントの設定を行います。
2.6.1 インストール
- 19 -
CMMログエージェントのインストールは、以下の手順で行います。
1. コントロールマシンにログインします。
2. 任意のテキストエディタを使用し、コントロールマシンの設定ファイルを開きます。
例:
sudo vim /etc/ansible/hosts
3. エージェントをインストールするホストを設定します。そのため、設定ファイルの以下のセクションを確認します。
# Monasca Log Agent Hosts
[monasca_log_agent_group]
cmm-monasca-log-agent ansible_ssh_host=<monasca_host> ansible_ssh_user=<ssh_user_monasca>
別のホストに追加でエージェントをインストールする場合は、行を追加して設定することもできます。これにより、一度に1つまたは複数
のインスタンスにエージェントをインストールすることが可能です。行を追加する場合、エージェントをインストールするホストマシン用に
一意のエイリアスを指定する必要があります。
4. <monasca_host>を、エージェントをインストールするリモートマシンのホスト名または IPアドレスで置き換えます。
<ssh_user_monasca>はインストールを行うユーザーのユーザー名で置き換えます。
注意
エージェントをインストールするユーザーは、インストール先のホストマシンにアクセスできる必要があります。root権限を持つユー
ザーとしてアクセスする必要があります。
5. コントロールマシンとリモートマシン間の接続を確立するために、Ansible用のSSHキーを生成します。
以下のコマンドを実行します。
ssh-keygen -t rsa
6. SSHキーをリモートマシンにコピーするために、以下のコマンドを実行します。このコマンドは、エージェントをインストールするリモ
ートマシンごとに実行してください。
ssh-copy-id <user_name>@<host_ip_address>
<user_name>はホストにアクセスする際に使用するユーザー名で置き換えてください。<host_ip_address>はホスト名またはIP
アドレスで置き換えてください。
リモートマシンへの接続に成功した場合の応答例:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
<user_name>@<host_ip_address>'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '<user_name>@<host_ip_address>'"
and check to make sure that only the key(s) you wanted were added.
7. エージェント用の設定ファイルを作成します。設定ファイルはインストールディレクトリに格納する必要があります。設定ファイルは
インストールするエージェントインスタンスごとに個別に必要です。
設定ファイルを作成するには以下のコマンドを実行します。このコマンドは、エージェントのインストール先リモートマシンごとに実行
してください。
sudo vim /opt/FJSVsvcmm/host_vars/<file_name>
<file_name>はホストマシンのエイリアスで置き換えてください。<file_name>はコントロールマシンの設定ファイルで指定さ
れているエイリアスと同一でなければなりません(前述のステップ3を参照)。
- 20 -
8. エージェントを設定します。以下のサンプルは、エージェントを起動するために必要な最低限のパラメーターを示しています。必要
最低限のパラメーターはCMMサービスとエージェント間の通信に使用されるOpenStackユーザーの認証情報です。
必要に応じて追加の構成設定を指定することができます。構成設定の詳細については、A.2 CMMログエージェントの構成設定を参照
してください。
必要最低限のパラメーターを定義するには、以下の内容を各設定ファイルに記述します。monasca_agentの認証情報を、モニタリ
ングデータをCMMサービスへ送信する権限が与えられているOpenStackユーザーで置き換えてください。OpenStackユーザーに
ついては、OpenStack運用者にお問い合わせください。OpenStack運用者が必要なユーザーおよびロールを作成します。
例:
# file: host_vars/cmm-monasca-log-agent
# logstash monasca user credentials
project_name: cmm
username: cmm-operator
password: "{{ cmm_monasca_log_agent_keystone_password }}"
domain_id: default
注意
インストール時、最小セットのログデータが即座に取得できるようエージェントを自動的に設定します。この設定の更新方法につい
ては、2.6.2 設定を参照してください。
9. エージェントのインストールに必要なパスワードを設定します。パスワードは、/opt/FJSVsvcmmディレクトリにある
credentials.ymlファイルで定義されています。
任意のテキストエディタを使用し、credentials.ymlファイルを開きます。
例:
sudo vim /opt/FJSVsvcmm/credentials.yml
10. ファイル内で以下のパスワードを指定します。
・ cmm_monasca_log_agent_keystone_password:CMMホスト上のCMMログエージェントの設定で使用されるユーザ
ーがKeystoneにアクセスする際に使用します。ユーザーアカウントはインストール時に自動的に作成されます。
・ openstack_monasca_log_agent_keystone_password:OpenStackホスト上のCMMログエージェントの設定目的で
使用されるユーザーのKeystoneへのアクセスに使用します。ユーザーアカウントはインストール時に自動的に作成されます。
11. インストールを実行するには下記のコマンドを使用します。
ansible-playbook /opt/FJSVsvcmm/monasca-log-agent.yml
インストールに成功した場合、以下の応答が表示されます。
例:
PLAY RECAP ********************************************************
monasca-log-agent : ok=40 changed=23 unreachable=0 failed=0
注意
インストール中に行われるチェックには、エラーや警告を表示するものがあります。これらのエラーや警告の報告によってインストールが
中止されることはありません。インストールの結果は、最後に表示されるメッセージで確認してください。
インストールに失敗した場合は構成設定およびパスワードを確認し、verboseモードで再度インストールを試みてください。デバッグ情報を
収集するには、以下のコマンドを実行してください。
ansible-playbook -vvvv /opt/FJSVsvcmm/monasca-log-agent.yml
- 21 -
インストールに成功すると、エージェントは自動的に起動します。インストーラは、マシンの起動時にエージェントを自動的に起動する起動
スクリプトを作成します。
エージェントは、LINUXサービスとして提供されます。
2.6.2 設定
エージェントのインストール時、最小限のログデータが即座に取得できるようエージェントを自動的に設定します。必要に応じエージェン ト設定の変更や初期設定の更新が可能です。
後述のセクションでは、エージェントの設定を格納している設定ファイルについて、また、設定を更新する方法について説明します。
設定ファイル
インストーラはCMMログエージェントのすべての構成設定を以下のファイルに格納します。
/etc/monasca/monasca-log-agent/agent.conf
このファイルは入力セクションと出力セクションで構成されています。
・ 入力セクションは、取得するログデータを指定します。
CMMログエージェントは、オープンソースプロジェクトのElasticsearch、Logstash、Kibanaを組み合わせたログデータの検索および解析
ソリューションである、ELKスタックに基づいています。ELKスタックの詳細については、Elasticsearch、Logstash、およびKibanaの資料を
参照してください。
CMMは、入力メカニズムとして、Logstashのファイルプラグインをサポートしています。ファイルプラグインは、Logstashがファイルシステム
上のログファイルからログデータを読み取ることができるようにします。詳細は、Logstash Input Pluginsを参照してください。CMMを別
のプラグインと統合させたい場合は富士通までお問い合わせください。
・ 出力セクションは、ログデータを取得し、その後の処理のためにCMMサーバに送信するために必要なパラメーターをすべて指定し
ます。
設定ファイルの更新
agent.confファイルの編集は以下の手順で行います。
1. エージェントをインストールしたサーバにログインします。
2. エージェントを停止するために、以下のコマンドを実行します。
sudo systemctl stop monasca-log-agent
3. 任意のテキストエディタを使用し、ファイルを開きます。
例:
sudo vim /etc/monasca/monasca-log-agent/agent.conf
4. 必要に応じて入力セクションを修正します。
モニタリングするファイルを追加したい場合は、対応するfileブロックを追加してください。
fileブロックのログファイルにディメンションを定義したい場合、add_fieldで定義してください。ディメンションで、エージェントが取得
したログデータのメタ情報を収集できます。メタ情報は各ログエントリに付加されます。これは、CMMログ管理ダッシュボードのフィ
ールドとして表示されます。ログデータを操作しているユーザーは、ディメンションをフィルタリングオプションとして使用できます。
設定例:
input {
file {
path => "/var/log/keystone/*.log"
}
file {
path => "/var/log/monasca/agent/*.log"
}
file {
- 22 -
path => "/var/log/monasca/monasca-log-agent/*.log"
}
file {
add_field => { "dimensions" => { "service" => "monasca-api" }}
add_field => { "dimensions" => { "language" => "java" }}
add_field => { "dimensions" => { "log_level" => "error" }}
path => "/var/log/monasca/api/error.log"
}
}
5. 必要に応じて出力セクションを修正してください。対応するパラメーター値を更新してください。各値はダブルクォーテーション(")で囲
む必要があります。
定義可能な設定値に関する詳細は、A.2 CMMログエージェントの構成設定を参照してください。
設定例:
output {
monasca_log_api {
monasca_log_api_url => "http://192.168.10.4:5607/v3.0"
keystone_api_url => "http://192.168.10.5:35357/v3"
project_name => "cmm"
username => "cmm-operator"
password => "password"
domain_id => "default"
dimensions => ['app_type:kafka', 'priority:high']
num_of_logs => 100
delay => 1
elapsed_time_sec => 600
max_data_size_kb => 5120
}
}
6. エージェントを再度起動するために、以下のコマンドを実行します。
sudo systemctl start monasca-log-agent
エージェントは更新された設定値を使って即座に利用可能です。
2.7 アンインストール
CMMには、CMMソフトウェアコンポーネントを自動的にアンインストールするアンインストーラが同梱されています。
アンインストールを行う前に、運用目的で作成した設定ファイルおよびデータのバックアップを作成しておくことを推奨します。バックアップに
関する詳細は、3.5 バックアップとリカバリを参照してください。
CMMソフトウェアコンポーネントのアンインストールを行う場合、以下の順序で実施してください。
1. CMMエージェントのアンインストール。
2. CMMサービスとOpenStackエクステンションのアンインストール。
3. 不要なCMMコンポーネントが残った場合は、手動で削除してください。
2.7.1 CMMエージェントのアンインストール
CMMメトリックエージェントまたはCMMログエージェントのアンインストールは、以下の手順で行います。
1. コントロールマシンにログインします。
2. 任意のテキストエディタを使用し、コントロールマシンの設定ファイルを開きます。
例:
- 23 -
sudo vim /etc/ansible/hosts
3. アンインストールするエージェントのホストが正しく設定されているか確認します。ファイル内で複数のホストが指定されている場合、
複数インスタンスのエージェントがアンインストールされます。
リモートマシンのホスト名またはIPアドレスおよびエージェントのアンインストールを行うユーザーのユーザー名を指定する必要が
あります。
注意
エージェントをアンインストールするユーザーは、対応するホストにアクセスできる必要があります。root権限を持つユーザーとして
アクセスする必要があります。
4. 1つまたは複数のインスタンスのCMMメトリックエージェントのアンインストールを行うために、以下のコマンドを実行します。
ansible-playbook /opt/FJSVsvcmm/monasca-agent-uninstaller.yml
1つまたは複数のインスタンスのCMMログエージェントのアンインストールを行うために、以下のコマンドを実行します。
ansible-playbook /opt/FJSVsvcmm/monasca-log-agent-uninstaller.yml
エージェントのアンインストールでは、以下が実施されます。
・ エージェントが停止されます。
・ 対応するサービスが削除されます(monasca-agentまたはmonasca-log-agent)。
・ エージェントの設定ファイルとそれらの格納先ディレクトリが削除されます。
2.7.2 CMMサービスとOpenStackエクステンションのアンインストール
CMMサービスとOpenStackエクステンションのアンインストールは、以下の手順で行います。
1. コントロールマシンにログインします。
2. 任意のテキストエディタを使用し、コントロールマシンの設定ファイルを開きます。
例:
sudo vim /etc/ansible/hosts
3. アンインストール対象のCMMコンポーネントが存在するCMMホスト、OpenStack Keystoneホスト、OpenStack Horizonホストが正しく
設定されていることを確認します。
アンインストール対象のソフトウェアコンポーネントが存在するリモートマシンのホスト名またはIPアドレス、および、ソフトウェアコン
ポーネントをインストールするユーザーのユーザー名を指定する必要があります。
注意
ソフトウェアコンポーネントをアンインストールするユーザーは対応するホストにアクセスできる必要があります。root権限を持つユ
ーザーとしてアクセスする必要があります。
4. アンインストーラを実行するには下記のコマンドを使用します。
ansible-playbook /opt/FJSVsvcmm/uninstaller.yml
5. CMMによって使用されていたユーザーを削除するために、以下のコマンドを実行します。
userdel -r mon-schema
userdel -r mon-api
userdel -r mon-log-api
userdel -r mon-persister
userdel -r mon-notification
- 24 -
userdel -r mon-thresh
userdel -r mon-transformer
userdel -r mon-agent
userdel -r mon-log-agent
userdel -r elastic
userdel -r kafka
userdel -r memcached
アンインストールが終わり次第、関連がなくなったOpenStackユーザー、ロール、プロジェクトを削除することができます。
注意
CMMを再度インストールする場合は、その前にオペレーティングシステムを再起動する必要があります。
2.7.3 クリーンアップ
CMMサービスとOpenStackエクステンションの自動アンインストールには、データベースやメッセージキューの削除は含まれていません。
そのため、他のシステムへの依存関係は意図的には破壊されません。関係するコンポーネントは以下のとおりです。
・ MariaDB
・ InfluxDB
・ Elasticsearchデータベース
・ Kafkaメッセージキュー
・ Apache Storm Threshold Engine
上記コンポーネントが不要になり、手動で削除したい場合は、以下の手順を行ってください。
1. 上記コンポーネントがインストールされているホストにroot権限を持つユーザーとしてログインします。
2. コンポーネントごとに、後述のセクションで説明されている手順を実施します。
MariaDB
1. MariaDBサービスを停止します。
systemctl stop mariadb
2. システム起動時のMariaDBサービスの自動起動を無効にします。
systemctl disable mariadb
3. MariaDBパッケージが他のサービスによって使用されていない場合は、Yumリポジトリから削除します。
yum remove mariadb \
mariadb-devel \
mariadb-server \
perl-Compress-Raw-Bzip2 \
perl-Compress-Raw-Zlib \
perl-DBD-MySQL \
perl-DBI \
perl-Data-Dumper \
perl-IO-Compress \
perl-Net-Daemon \
perl-PlRPCrm
4. MariaDBに必要なPythonモジュールが他のサービスによって使用されていない場合は、削除します。
pip uninstall PyMySQL
5. MariaDBデータディレクトリを削除します。
- 25 -
rm -rf /var/lib/mysql
6. MariaDB設定ファイルを削除します。
rm -rf /etc/my.cnf
7. デーモンディレクトリを削除します。
rm -rf /etc/my.cnf.d
8. ログエラーディレクトリを削除します。
rm -rf /var/log/mariadb
9. MariaDBユーザーとグループを削除します。
userdel -r mysql
10. systemctlデーモンを再起動します(省略可)。
systemctl daemon-reload
InfluxDB
1. InfluxDBサービスを停止します。
systemctl stop influxdb
2. システム起動時のInfluxDBサービスの自動起動を無効にします。
/sbin/chkconfig influxdb off
3. InfluxDBパッケージをYumリポジトリから削除します。
yum remove influxdb
4. 残っているフォルダとファイルを削除します。
rm -rf /var/log/influxdb
rm -rf /var/opt/influxdb
rm -rf /etc/opt/influxdb
rm /etc/default/influxdb
rm /etc/logrotate.d/influxdb
5. InfluxDBユーザーとグループを削除します。
userdel -r influxdb
6. systemctlデーモンを再起動します(省略可)。
systemctl daemon-reload
Elasticsearchデータベース
1. Elasticsearchサービスを停止します。
systemctl stop elasticsearch
2. システム起動時のElasticsearchサービスの自動起動を無効にします。
/sbin/chkconfig elasticsearch off
3. 残っているフォルダとファイルを削除します。
- 26 -
rm -rf /var/data
rm -rf /var/log/elasticsearch
rm -rf /tmp/hsperfdata_elastic
rm -rf /tmp/jna--1666338091
4. systemctlデーモンを再起動します(省略可)。
systemctl daemon-reload
Kafkaメッセージキュー
1. Kafkaサービスを停止します。
systemctl stop kafka
2. システム起動時のKafkaサービスの自動起動を無効にします。
systemctl disable kafka
3. 残っているフォルダとファイルを削除します。
rm -rf /tmp/hsperfdata_kafka
rm -rf /var/log/kafka
4. systemctlデーモンを再起動します(省略可)。
systemctl daemon-reload
Apache Storm Threshold Engine
1. Stormサービスを停止します。
systemctl stop storm-nimbus storm-supervisor
2. システム起動時のStormサービスの自動起動を無効にします。
systemctl disable storm-nimbus storm-supervisor
3. Stormサービスのスクリプトを停止します。
rm /etc/systemd/system/storm-nimbus.service
rm /etc/systemd/system/storm-supervisor.service
4. Stormフォルダを削除します。
rm -rf /opt/storm
rm -rf /tmp/hsperfdata_storm
rm -rf /var/log/storm
rm -rf /var/storm
5. Stormユーザーとグループを削除します。
userdel -r storm
6. systemctlデーモンを再起動します(省略可)。
systemctl daemon-reload
- 27 -
第3章 運用と保守
通常の運用と保守には、以下の作業が含まれます。
・ エージェントおよびサービスの起動と停止。
・ CMMメトリックエージェントの設定における特定メトリックのモニタリングの無効化。
・ CMMログエージェントの設定における特定ログデータの収集の無効化。
・ InfluxDBのメトリックデータの削除。
・ Elasticsearchデータベースのログデータの削除。
・ エージェントおよびサービスのログファイルの処理。
・ データベース、設定ファイル、ダッシュボードのバックアップと復旧。
3.1 エージェントおよびサービスの起動と停止
CMMインストールパッケージには、CMMエージェントおよびCMMサービス起動や停止、それらの状態を確認することができるスクリプトが
含まれています。CMMは以下の内容で構成されています。
# サービス名 説明
1 zookeeper 設定情報の保守、ネーミング、分散同期の提供、グループサービスの提供を実施する
ための集中的サービス。
2 storm-nimbus Stormは、大量の高速データを処理するためのリアルタイム開放型分散処理システム
です。Storm Nimbusデーモンが、クラスタ周辺でコードを分散し、マシンにタスクを割り当
て、障害をモニタリングします。
3 storm-supervisor Storm Supervisorは、そのマシンに割り当てられる作業を待ち、Nimbusからの割り当てに
基づいて、ワーカーのプロセスを起動したり停止したりします。
4 mariadb MariaDBサービス。CMMでは設定情報をこのデータベースに保存します。
5 kafka メッセージキューサービス。
6 influxdb InfluxDBサービス。CMMではメトリックおよびアラームをこのデータベースに保存しま
す。
7 elasticsearch Elasticsearchデータベースサービス。CMMはログデータをこのデータベースに保存し
ます。
8 memcached Memcachedサービス。CMMは、ログAPIとOpenStack Keystoneの通信に必要な認証情
報と認可情報のキャッシュに使用します。
9 monasca-notification Notification Engine。
10 monasca-thresh Threshold Engine。
11 monasca-log-transformer Log Transformer。
12 monasca-log-api ログAPI。
13 monasca-persister Persister。
14 monasca-api モニタリングAPI。
15 monasca-agent CMMメトリックエージェント。
16 kibana Kibanaサーバ。
17 monasca-log-persister Log Persister。
18 monasca-log-agent CMMログエージェント。
- 28 -
設定
エージェントやサービスを起動および停止させるには、スクリプトをservices.ymlファイルに設定する必要があります。このファイルは、
コントロールマシン上の/opt/FJSVsvcmmに展開した、CMM、CMM-Service-1.1.0.tar.gz用のインストールパッケージに含ま
れています。
設定ファイルで、CMMサービスおよびエージェントをインストールするCMMホストを指定します。以下の例のとおりに設定してください。
cd /opt/FJSVsvcmm
vim services.yml
- hosts: cmm-nodeはCMMのインストール先ホストを定義します。以下の例のように、ホスト名は、Ansibleマスター上の/etc/
ansible/hostsファイルでCMMホストに対して指定したホスト名と一致する必要があります。
# Monasca Hosts
[monasca_group]
cmm-node ansible_ssh_host=192.168.10.4 ansible_ssh_user=administrator
注意
services.ymlファイルで定義しているサービスの順序は変更しないでください。
CMMホストへの接続にSSHキーのパスフレーズを指定してる場合は、ssh-agentツールを使用し、スクリプト実行後は必ず停止してくだ
さい。
使用方法
以下のとおりに実施してスクリプトを実行してください。
1. CMMホストにログインします。
2. SSH経由で、コントロールマシンに接続します。
3. CMMインストールパッケージが存在するディレクトリに移動します。
例:
cd /opt/FJSVsvcmm
4. 適切なオプションを使用してスクリプトを実行します。
・ ヘルプ情報を表示する場合:
./services.sh --help
・ すべてのCMMエージェントおよびサービスを起動する場合:
./services.sh start -i /etc/ansible/hosts
・ すべてのCMMエージェントおよびサービスを停止する場合:
./services.sh stop -i /etc/ansible/hosts
・ すべてのCMMエージェントおよびサービスの状況を確認する場合:
./services.sh status -i /etc/ansible/hosts
個々のエージェントおよびサービスの起動と停止
CMMエージェントおよびサービスの起動または停止を個別に行うことができます。その際、以下の順序で実施してください。
1. zookeeper
2. storm-nimbus
3. storm-supervisor
- 29 -
4. mariadb
5. kafka
6. influxdb
7. elasticsearch
8. memcached
9. monasca-notification
10. monasca-thresh
11. monasca-log-transformer
12. monasca-log-api
13. monasca-persister
14. monasca-api
15. monasca-agent
16. kibana
17. monasca-log-persister
18. monasca-log-agent
個別のサービスを停止する場合は、逆の順番で実施します。
個別のサービスを起動するには以下のコマンドを使用します。
sudo systemctl start <service>
例:
sudo systemctl start monasca-api
個別のサービスを停止するには以下のコマンドを使用します。
sudo systemctl stop <service>
例:
sudo systemctl stop monasca-api
個別のサービスの状況を確認するには以下のコマンドを使用します。
sudo systemctl status <service>
例:
sudo systemctl status monasca-api
3.2 データのクリーンアップ
収集されたメトリックおよびログデータの量とサイズを定期的に確認し、ディスクの空き容量を確保するために不要なデータを削除してく
ださい。ここでは、以下の操作方法を説明します。
・ CMMメトリックエージェントの設定における特定メトリックのモニタリングの無効化。
・ CMMログエージェントの設定における特定ログデータの収集の無効化。
・ InfluxDBのメトリックデータの削除。
・ Elasticsearchデータベースのログデータの削除。
- 30 -
3.2.1 CMMメトリックエージェントのメトリックの無効化
CMMメトリックエージェントの構成において不要になった特定のメトリックを無効にするには、対応する.yamlファイルを削除しなければ
なりません。以下の手順を行ってください。
1. エージェントをインストールしたサーバにログインします。
2. エージェントを停止するために、以下のコマンドを実行します。
sudo systemctl stop monasca-agent
3. モニタリングに使用しているメトリックの格納先ディレクトリに移動します。
例:
cd /etc/monasca/agent/conf.d
4. モニタリングに不要になった.yamlファイルを削除します。
例:
sudo rm -i process.yaml
5. エージェントを再度起動するために、以下のコマンドを実行します。
sudo systemctl start monasca-agent
3.2.2 CMMログエージェントのログデータの無効化
CMMログエージェントの構成において不要になったのログデータのモニタリングを無効にするには、対応するagent.conf設定ファ
イルから対応するエントリを削除しなければなりません。以下の手順を行ってください。
1. エージェントをインストールしたサーバにログインします。
2. エージェントを停止するために、以下のコマンドを実行します。
sudo systemctl stop monasca-log-agent
3. 任意のテキストエディタを使用し、エージェント設定ファイルを開きます。
例:
sudo vim /etc/monasca/monasca-log-agent/agent.conf
4. inputセクションで、モニタリングする必要がなくなったログデータのfileブロックを削除します。
例えば、Keystone上のログデータをモニタリングする必要がなくなった場合は、以下のfileブロックを削除します。
file {
path => "/var/log/keystone/*.log"
}
5. エージェントを再度起動するために、以下のコマンドを実行します。
sudo systemctl start monasca-log-agent
3.2.3 メトリックデータの削除
メトリックデータは、メトリックおよびアラームInfluxDBに保存されます。InfluxDBは、データを問い合わせ、そのデータ上で集計を実施す
るために、SQLに似たクエリ言語を使用します。
CMMメトリックエージェントの設定は、保存するデータに関するメトリックおよびMEASUREMENTタイプを定義します。各
MEASUREMENTについて、SERIESがInfluxDBに書き込まれます。SERIESは、タイムスタンプ、メトリック、測定値から構成されます。
- 31 -
例:
すべてのSERIESにキータグを割り当てることができます。CMMの場合は_tenant_idタグです。このタグは、メトリックデータを収集し
ているOpenStackプロジェクトを特定します。
ディスク容量を節約するため、あるいはモニタリング対象ではなくなったメトリックのデータを削除するためなど、メトリックおよびアラーム
データベースから古くなったり不要になったりしたメトリックデータを時々削除してください。
以下のとおりに実施してデータベースからメトリックデータを削除してください。
1. データベースのバックアップを作成します。詳細は、3.5 バックアップとリカバリを参照してください。
2. データを削除するOpenStackプロジェクトのIDを決めます。
ダッシュボードにログインし、[ユーザー管理] > [プロジェクト]を選択します。
以下のOpenStackプロジェクトが初期状態でメトリックおよびアラームの管理をしています。
・ admin:OpenStackに関連付けられているすべてのメトリックデータ。
・ cmm:CMMに関連付けられているすべてのメトリックデータ。
CMMの運用の過程で、テナントユーザーなどのために、追加のプロジェクトが作成される可能性があります。
[プロジェクト ID]フィールドが関連するテナントのIDを示します。
3. CMMのインストール先ホストにログインします。
4. InfluxDBのインストールディレクトリに移動します。
cd /opt/influxdb
5. 以下のようにInfluxDBコマンドラインインターフェースを使用してInfluxDBに接続します。
./influx -host <cmm_host_ip>
<cmm_host_ip>をCMMがインストールされているマシンのホスト名またはIPアドレスに置き換えます。
このコマンドの出力は、以下の例のようになります。
Connected to http://localhost:8086 version 0.9.1
InfluxDB shell 0.9.1
6. InfluxDB内の、CMMが使用しているデータベース(mon)に接続します。
> show databases
name: databases
----------------
name
mon
> use mon
Using database mon
7. 対象のデータを削除します。
・ プロジェクトでCMMを使わなくなった、あるいは特定のテナントが使用されなくなった場合は、以下のようにして、プロジェクトの
SERIESすべてを削除します。
DROP SERIES WHERE _tenant_id = '<project ID>'
例:
- 32 -
DROP SERIES WHERE _tenant_id = '27620d7ee6e948e29172f1d0950bd6f4'
・ プロジェクトに対して、あるメトリックが使用されなくなった場合、以下のようにして、特定のプロジェクトのSERIESすべてを削除し
ます。
DROP SERIES FROM "<metric>" WHERE _tenant_id = '<project ID>'
例:
DROP SERIES FROM "cpu.user_perc" WHERE _tenant_id = '27620d7e'
・ データベース全体の巨大化を避けるには、例えば、バックアップを作成した後、データベースを削除し、その後、新しい空のデ
ータベースを作成することができます。
DROP DATABASE mon
CREATE DATABASE mon
8. influxdbサービスの再起動は、以下の例のとおりに実施してください。
sudo systemctl restart influxdb
以下のようにして、特定のプロジェクトの全てのMEASUREMENTを確認できます。
SHOW MEASUREMENTS WHERE _tenant_id = '<project ID>'
以下のようにして、特定のメトリックやプロジェクトのSERIESを確認できます。
SHOW SERIES FROM "cpu.user_perc" WHERE _tenant_id = '<project ID>'
3.2.4 ログデータの削除
ログデータは、Elasticsearchデータベースに保存されます。Elasticsearchはデータをインデックスで保存します。OpenStackプロジェクトご
とに、1日当たり1つのインデックスが作成されます。
初期設定で、インデックスは、CMMサービスをインストールしているホスト上の以下のディレクトリに保存されます。
/var/data/elasticsearch/<cluster-name>/nodes/<node-name>
例:
/var/data/elasticsearch/elasticsearch/nodes/0
注意
シ ス テ ム を 異 な っ た 構 成 で 運 用 し て い る 場 合 は 、 Elasticsearch 設 定 フ ァ イ ル 、 /opt/elasticsearch/config/
elasticsearch.yml内のディレクトリを確認してください。
古くなったり不要になったりしたログデータをElasticsearchデータベースから削除する場合は、以下のとおりに実施してください。
1. curlがインストールされていることを確認します。インストールされていない場合には、以下のWebサイトなどからダウンロードしイ
ンストールしてください。http://curl.haxx.se/download.html
2. Elasticsearchデータベースのバックアップを作成します。詳細は、3.5 バックアップとリカバリを参照してください。
3. データを削除するOpenStackプロジェクトのIDを決めます。
ダッシュボードにログインし、[ユーザー管理] > [プロジェクト]を選択します。
以下のOpenStackプロジェクトがログを管理しています。
・ admin:OpenStackに関連付けられているすべてのログ情報。
・ cmm:CMMに関連付けられているすべてのログ情報。
- 33 -
CMMの運用の過程で、追加のプロジェクトが作成されている可能性があります。
[プロジェクト ID]フィールドが関連するテナントのIDを示します。
4. CMMのインストール先ホストにログインします。
5. 以下のコマンドを実行することで、削除するデータが存在していることを確認します。
curl -XHEAD -i 'http://localhost:<port>/<projectID-date>'
例えば、Elasticsearchがポート9200(デフォルト)を利用しており、OpenStackプロジェクトのIDがabc123で、2015年7月1日のイン
デックスを確認したい場合のコマンドは以下のとおりです。
curl -XHEAD -i 'http://localhost:9200/abc123-2015-07-01'
HTTPレスポンスが200であればインデックスは存在し、レスポンスが404であれば存在しません。
6. 以下のようにインデックスを削除します。
curl -XDELETE -i 'http://localhost:<port>/<projectID-date>'
例:
curl -XDELETE -i 'http://localhost:9200/abc123-2015-07-01'
このコマンドは、IndexMissingExceptionなどのエラーを返すか、削除の成功を返します。
注意
-XDELETEコマンドはインデックスファイルを即座に削除しますので注意してください。
-XHEADと-XDELETE共に、複数のインデックスを処理するためにワイルドカードを使用できます。例えば、2015年7月まる1か月について
特定のプロジェクトのすべてのインデックスを削除できます。
curl -XDELETE -i 'http://localhost:9200/abc123-2015-07-*'
注意
インデックスの削除にワイルドカードを使用する際には注意してください。すべての既存インデック スを削除してしまう恐れがあります。
3.3 ログファイルの操作
CMMサービスに問題が発生した場合、ログファイルから原因を特定できます。また、サポート窓口に連絡する必要がある場合にも、ロ
グファイルは有用です。すべてのエージェントおよびサービスのログファイルの場所は以下の表のとおりです。ファイルは、エージェント
またはサービスをインストールしているホスト上の以下のディレクトリに格納されます。
# サービス名 パス
1 Apache Storm /var/log/storm
2 Elasticsearch /var/log/elasticsearch
3 InfluxDB /var/log/influxdb
4 Kafka /var/log/kafka
5 Kibanaサーバ /var/log/kibana
6 ログエージェント /var/log/monasca/monasca-log-agent
7 ログAPI /var/log/monasca/log-api
8 Log Persister /var/log/monasca/monasca-log-persister
9 Log Transformer /var/log/monasca/monasca-log-transformer
- 34 -
# サービス名 パス
10 MariaDB /var/log/mariadb
11 Memcached /var/log/messages
12 メトリックエージェント /var/log/monasca/agent
13 モニタリングAPI /var/log/monasca/api
14 Notification Engine /var/log/monasca/notification
15 Persister /var/log/monasca/persister
16 Zookeeper /var/log/zookeeper
ログファイルの集中的管理
LINUXのシステムおよびセッションのマネージャーであるsystemd、およびLINUXのログ収集インターフェースであるjournaldを、分散
しているログファイルへの対処に使用できます。
CMMインストーラがCMMサービスを自動的にsystemdの管理下に置きます。journaldは、systemdが管理するすべてのプロセス
のロギングを実現する一元管理ソリューションを提供します。ログは、journaldデーモンが管理するジャーナル内に収集され管理され
ます。
systemdおよびjournaldに関する詳細は、Red Hat Enterprise LINUX documentationを参照してください。
3.4 調査資料の採取について CMMでトラブルが発生した場合に、調査資料採取ツールを使用して調査資料を採取する方法について説明します。
3.4.1 調査資料採取ツールのインストール
調査資料採取ツールは、製品媒体に含まれます。
コントロールマシン、CMMホスト、および、CMMエージェントのインストールされたサーバのそれぞれにインストールしてください。
以下の手順でインストールを行います。
1. OSの管理者権限で目的のサーバにログインします。
2. DVDを任意のディレクトリにマウントします。ISO9660ファイルシステムを明示的に指定することを推奨します。
以下のコマンドを実行します。
# mount -t iso9660 -r /dev/<file_name> <mount_dir>
<file_name>をDVDデバイスのファイル名で、<mount_dir>をDVDのマウント先ディレクトリで置き換えてください。
3. 調査資料採取ツールのアーカイブをサーバ上の任意のディレクトリにコピーします。
ここでは、/work ディレクトリにコピーするものとします。
# cp -p <mount_dir>/Tools/CMM-Collect-info.tar.gz /work
<mount_dir>をDVDのマウント先ディレクトリで置き換えます。
4. アーカイブを展開します。
# cd /work
# tar zxvf CMM-Collect-info.tar.gz -C /
上記により、/opt/FJSVsvcmm/bin/collect_cmm_info.sh に調査資料採取ツールが配置されます。
5. インストール時に使用した調査資料採取ツールのアーカイブはインストール完了後、削除してください。
# rm /work/CMM-Collect-info.tar.gz
- 35 -
3.4.2 調査資料採取ツールの実行
調査資料採取ツールは、コントロールマシン、CMMホスト、および、CMMエージェントのインストールされた各サーバ上でそれぞれ実行する
必要があります。
各サーバで採取した調査資料をまとめて当社技術員に送付してください。
調査資料採取ツールは、以下の手順で実行します。
1. OSの管理者権限で目的のサーバにログインします。
調査資料採取ツールの実行には、OSの管理者権限が必要です。
2. 調査資料出力先となるディレクトリを任意の場所に作成します。
調査資料には各種ログファイルなどサイズの大きなファイルが含まれます。調査資料出力先のディレクトリは、十分に空き容量の
あるパーティションに作成してください。
ここでは、/work/cmm_info ディレクトリを作成するものとします。
# mkdir -p /work/cmm_info
3. 以下を実行します。
# /opt/FJSVsvcmm/bin/collect_cmm_info.sh /work/cmm_info
4. 指定したディレクトリ配下に、調査資料が採取されていることを確認します。
指定したディレクトリ配下に以下のファイルが作成されます。
・ cmm_info_<hostname>_<yyyyMMdd_HHmmss>.tar.gz: 調査資料のアーカイブ
・ cmm_info_<hostname>_<yyyyMMdd_HHmmss>.log: 調査資料採取ツールの実行ログ
<hostname> には、調査資料採取ツールを実行したサーバのホスト名が設定されます。<yyyyMMdd_HHmmss> には、調査資
料採取ツールを実行した日時が設定されます。
注意
調査資料採取ツールが正常終了しなかった場合、エラーメッセージが出力されます。また、上記の実行ログファイルに詳細なエラーが
出力されている場合があります。エラーメッセージあるいはログに出力されたエラー情報を参考に問題を解決した後、再度調査資
料採取ツールを実行してください。
ま た 、 調 査 資 料 採 取 ツ ー ル が 正 常 終 了 し な か っ た 場 合 に は 、 デ ィ レ ク ト リ 配 下 に 、
cmm_info_<hostname>_<yyyyMMdd_HHmmss>.<ランダムな英数字> の一時ディレクトリが作成されます。調査資料採取ツー
ルが正常終了し、調査資料のアーカイブが採取された場合には、不要な情報となりますので削除してください。
5. 上記の調査資料およびログファイルをまとめて当社技術員に送付してください。
6. 調査が完了し、問題が解決したあとは、ディスク容量削減のため、調査資料のアーカイブおよび実行ログは削除してください。
3.5 バックアップとリカバリ CMM管理者の代表的なタスクは、運用中に作成されたデータの定期バックアップを実施することです。
定期的に、以下の項目すべてのバックアップを実施してください。
・ データベース。
・ 個々のエージェントおよびサービスの設定ファイル。
・ 作成し、保存しているモニタリングおよびログダッシュボード。
CMMでは、統合されたバックアップとリカバリ機能は提供していません。各コンポーネントのメカニズムと手順を使用してください。
- 36 -
3.5.1 データベース
CMMサービスをインストールしているホスト上の以下のデータベースの定期バックアップを作成する必要があります。
・ Elasticsearchデータベース
・ InfluxDB
・ MariaDB
バックアップおよびリストア操作の実施は経験を積んだユーザーに限定することをお勧めします。
Elasticsearchデータベース
Elasticsearchデータベースのバックアップとリストアには、Elasticsearchのスナップショットとリストアモジュールを使用できます。
データベースのバックアップの作成は、以下の手順で行います。
1. curlがインストールされていることを確認します。インストールされていない場合には、以下のWebサイトなどからダウンロードしイ
ンストールしてください。http://curl.haxx.se/download.html
2. CMMサービスのインストール先ホストにログインします。
3. スナップショットのリポジトリを作成します。
例:
curl -XPUT http://localhost:9200/_snapshot/my_backup -d '{
"type": "fs",
"settings": {
"location": "/mount/backup/elasticsearch/my_backup",
"compress": true
}
}'
この例では、スナップショットの格納に/mount/backup/elasticsearchディレクトリを使用する共有ファイルシステムリポジトリ
("type": "fs")を登録します。
注意
スナップショットの格納用ディレクトリは、group_vars/monasca_groupファイルでCMMサービスのインストール時に設定した
とおりに指定する必要があります。
メタデータファイルを圧縮するためにcompressが有効になっています。
4. リポジトリの作成に成功したかを確認します。
例:
curl -XGET http://localhost:9200/_snapshot/my_backup
リポジトリの作成が成功した場合の応答例:
{
"my_backup": {
"type": "fs",
"settings": {
"compress": "true",
"location": "/mount/backup/elasticsearch/my_backup"
}
}
}
5. すべてのインデックスを含むデータベースのスナップショットを作成します。リポジトリには、同じデータベースのスナップショットを複数含
めることができます。スナップショットの名前は、データベースに対して作成したスナップショット内で固有である必要があります。
- 37 -
例:
curl -XPUT http://localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true
この例は、全インデックスを含むsnapshot_1という名前のスナップショットをmy_backupリポジトリ内に作成します。
データベースインスタンスのリストアは、以下の手順で行います。
1. データベースのすべてのインデックスを閉じます。
例:
curl -XPOST http://localhost:9200/_all/_close
2. 作成したスナップショットからすべてのインデックスをリストアします。
例:
curl -XPOST http://localhost:9200/_snapshot/my_backup/snapshot_1/_restore
この例は、my_backupリポジトリ内に格納されているsnapshot_1から全インデックスをリストアします。
Elasticsearchデータベースのバックアップおよびリストアに関する詳細は、Elasticsearch documentationを参照してください。
InfluxDB
InfluxDBのバックアップとリストアには、InfluxDBシェルを使用できます。このシェルは、InfluxDBディストリビューションの一部です。パ
ッケージマネージャを使用してInfluxDBをインストールすると、このシェルはデフォルトで/opt/influxdbディレクトリにインストールさ
れます。
データベースのバックアップの作成は、以下の手順で行います。
1. InfluxDBにinfluxdbサービスの実行が許可されているユーザーとしてログインします。
例:
$ su influxdb
2. データベースをバックアップします。
例:
$ ./influxd backup -host "<host>:<port>" /mount/backup/mysnapshot
<host>と<port>をInfluxDB設定ファイルのmetaセクションで定義されているホスト名またはIPアドレスとポート番号で置き換え
ます。デフォルトでは、influxdb.confファイルは/etc/opt/influxdb/ディレクトリにあります。この例では、データベース
のバックアップを/mount/backup/mysnapshotに作成します。
データベースのリストアは、すべてのデータベースプロセスが停止していることを確認してから実施してください。データベースのリストアは、
以下の手順で行ってください。
1. InfluxDBサービスを停止します。以下のコマンドを使用します。
$ systemctl stop influxdb
2. InfluxDBにinfluxdbサービスの実行が許可されているユーザーとしてログインします。
例:
$ su influxdb
3. データベースをリストアします。
例:
$ ./influxd restore -config /etc/opt/influxdb/influxdb.conf /mount/backup/mysnapshot
この例では、/mount/backup/mysnapshotにあるバックアップを/etc/opt/influxdb/influxdb.confにリストアしま
す。
- 38 -
4. InfluxDBサービスを起動します。以下のコマンドを使用します。
$ systemctl start influxdb
InfluxDBのバックアップおよびリストアに関する詳細は、InfluxDB documentationを参照してください。
MariaDB
MariaDBのバックアップとリストアには、mysqldumpユーティリティプログラムを使用できます。mysqldumpが論理バックアップを行い、
SQL文を作成します。このSQL文は、後でデータベースをリストアする際に実行されます。
MariaDBのバックアップは、データベースのオーナーあるいはスーパーユーザー権限を持つユーザーが以下のコマンドを使用して行い
ます。
例:
mysqldump -u root -p mon > dumpfile.sql
データベース名のほか、mysqldumpが出力結果を格納する場所とその名前を指定してください。
MariaDBのリストアは、以下の手順で行います。
1. CMMサービスのインストール先ホストにroot権限を持つユーザーとしてログインします。
2. CMMインストールパッケージが存在するディレクトリに移動します。
例:
cd /opt/FJSVsvcmm
3. すべてのCMMエージェントおよびサービスを停止します。
./services.sh stop
4. mariadbサービスを起動します。
systemctl start mariadb
5. バックアップしたデータベースに、root権限を持つユーザーとしてログインします。
例:
mysql -u root -p mon
6. データベースの削除と作成を行います。
> DROP DATABASE mon;
> CREATE DATABASE mon;
7. mariadbを終了します。
> \q
8. データベースをリストアします。
例:
mysql -u root -p mon < dumpfile.sql
9. mariadbサービスを停止します。
systemctl stop mariadb
10. すべてのCMMエージェントおよびサービスを起動します。
./services.sh start
mysqldumpによるMariaDBのバックアップおよびリストアに関する詳細は、MariaDB documentationを参照してください。
- 39 -
3.5.2 設定ファイル
以下に、エージェントおよびCMMサービスに含まれる個々のサービスの設定ファイルの一覧を示します。少なくとも、CMMをインストールし
設定した後と、設定が変更したそのたびに、これらのファイルをバックアップしてください。
/etc/default/influxdb
/etc/firewalld/firewalld.conf
/etc/firewalld/lockdown-whitelist.xml
/etc/firewalld/zones/public.xml
/etc/kafka/server.properties
/etc/my.cnf
/etc/my.cnf.d/client.cnf
/etc/my.cnf.d/mysql-clients.cnf
/etc/my.cnf.d/server.cnf
/etc/monasca/agent/agent.yaml
/etc/monasca/agent/conf.d/*
/etc/monasca/agent/supervisor.conf
/etc/monasca/api-config.yml
/etc/monasca/log-api-config.conf
/etc/monasca/log-api-config.ini
/etc/monasca/log/persister.conf
/etc/monasca/log/transformer.conf
/etc/monasca/monasca-log-agent/agent.conf
/etc/monasca/notification.yaml
/etc/monasca/persister-config.yml
/etc/monasca/thresh-config.yml
/etc/opt/influxdb/influxdb.conf
/etc/rc.d/rc0.d/K50influxdb
/etc/rc.d/rc1.d/K50influxdb
/etc/rc.d/rc2.d/S50influxdb
/etc/rc.d/rc3.d/S50influxdb
/etc/rc.d/rc4.d/S50influxdb
/etc/rc.d/rc5.d/S50influxdb
/etc/rc.d/rc6.d/K50influxdb
/etc/systemd/system/elasticsearch.service
/etc/systemd/system/kafka.service
/etc/systemd/system/kibana.service
/etc/systemd/system/monasca-agent.service
/etc/systemd/system/monasca-api.service
/etc/systemd/system/monasca-log-agent.service
/etc/systemd/system/monasca-log-api.service
/etc/systemd/system/monasca-log-persister.service
/etc/systemd/system/monasca-log-transformer.service
/etc/systemd/system/monasca-notification.service
/etc/systemd/system/monasca-persister.service
/etc/systemd/system/monasca-thresh.service
/etc/systemd/system/static_httpd.service
/etc/systemd/system/storm-nimbus.service
/etc/systemd/system/storm-supervisor.service
/etc/systemd/system/zookeeper.service
/opt/elasticsearch/config/elasticsearch.yml
/opt/elasticsearch/config/logging.yml
/opt/kibana/config/kibana.yml
/usr/lib/systemd/system/mariadb.service
リカバリ
1つ以上のエージェントまたはサービスの設定の復旧が必要になった場合に推奨する手順は以下のとおりです。
1. 必要であれば、エージェントまたはサービスをアンインストールし、再インストールをします。
- 40 -
2. エージェントまたはサービスを停止します。
3. 設定ファイルのバックアップを、上記の表に従って正しい場所にコピーします。
4. エージェントまたはサービスを再起動します。
3.5.3 ダッシュボード
Kibanaでは、カスタマイズしたログダッシュボードのデザインをElasticsearchデータベースに保持して、呼び出すことができます。ログ管理
ダッシュボードの保存、読み込み、および共有については、Kibana documentationを参照してください。
Grafanaでは、カスタマイズしたモニタリングダッシュボードを任意の場所にエクスポートしたり、必要に応じて再インポートすることができます。
エクスポートしたダッシュボードのバックアップおよびリストアには、ファイルシステムの標準機能を使用してください。モニタリングダッシ
ュボードのエクスポートについては、GrafanaのGetting Startedチュートリアルを参照してください。
- 41 -
第4章 サービスおよびサーバのモニタリング
サービスとサービスが提供されるサーバをモニタリングするため、CMMは以下のようなさまざまな機能を提供します。
・ 複数のサービスとサーバを継続的に追跡し、その状態を素早くチェックできるモニタリング概要ページ。
・ モニタリングデータを可視化するメトリックダッシュボード。
・ アラーム機能。
次のセクションでは、モニタリング概要や統合されたメトリックダッシュボードのほか、アラームや通知の定義および対処方法についても説明
します。
CMMへのアクセス
モニタリングを実施するためには、cmm-userロール、またはCMMモニタリング機能を使用する権限を与えられているその他のロールを持
つユーザーとしてOpenStackプラットフォームにアクセスできる必要があります。ロールの追加は任意です。また、モニタリングしたい
OpenStackプロジェクトに割り当てられていることが条件となります。
該当ユーザーの認証情報を使ってOpenStackプラットフォームへログインします。これにより、OpenStack Horizonダッシュボードにアクセ
スすることができます。CMM機能は、[モニタリング]タブ上で利用できます。割り当てられているプロジェクトのすべてのモニタリングデー
タにアクセスできます。
4.1 サービスおよびサーバの概要
CMMは、サービスとサーバの分かりやすいステータス概要を提供します。[モニタリング] > [概要]により、ステータスが一目で分かります。
[概要]ページで、エージェントが取得したすべてのモニタリングデータにアクセスできます。[概要]ページ最上部のオプションを使用して、
事前に設定済みのCMMメトリックダッシュボードにアクセスできます。必要に応じて、モニタリングデータを可視化する独自のダッシュボ
ードも作成可能です。詳細は、4.2 モニタリングデータの可視化を参照してください。
サービスとサーバのアラームを定義すると、[概要]ページにステータス情報が表示されます。
・ 緑色の枠で示されたサービスおよびサーバは、動作中であることを示します。アラームは定義されていますが、しきい値を超えてい
ません。
・ 赤色の枠で示されたサービスあるいはサーバは、確認が必要な深刻な問題があることを示します。サービスあるいはサーバに定義さ
れている 1つもしくは複数のアラームが発生しています。
・ 黄色の枠で示されたサービスあるいはサーバは、問題が発生していることを示します。すでに1つあるいは複数のアラームが発生し
ていますが、これらの深刻 度は低いです。
・ 灰色の枠で示されたサービスあるいはサーバは、アラームが定義されていますが、モニタリングデータはまだ採取および送信されて
いません。
アラームの定義に関する詳細は、4.3 アラームの定義を参照してください。
4.2 モニタリングデータの可視化
サービスおよびサーバをモニタリングするためのユーザーインターフェースは、メトリックダッシュボード上で大規模のモニタリングデータを
可視化するオープンソースアプリケーションであるGrafanaと連携しています。CMMは、事前に定義された管理者向けのメトリックダッシ
ュボード機能を提供します。必要に応じ独自のダッシュボードを設定することもできます。
各メトリックダッシュボードは、複数の行内に配置された個々のパネルで構成されます。どのコンテンツをどこのパネルに表示するか、ま
たどの時間範囲を可視化するかを決めることができます。パネルは、行内、または別の行へドラッグアンドドロップすることができます。追加の
表示オプションにより、コンテンツの表示形式もカスタマイズすることができます。
独自のダッシュボード作成のほか、CMMではメトリックダッシュボードをエクスポートおよびインポートすることができます。また、容易に
カスタマイズできるよう、メトリックダッシュボードのテンプレートを作成して保存することもできます。
- 42 -
メトリックダッシュボードのパネル編集ユーザーインターフェースを使った操作については、GrafanaのGetting Startedのチュートリアルを参照
してください。
OpenStack Horizonダッシュボードの[モニタリング] > [概要]を使用してCMMメトリックダッシュボードにアクセスしてください。[概要]ページ
最上部のボタンを使用して、事前に定義されたダッシュボードにアクセスできます。必要であれば、ダッシュボードをカスタマイズして、自分の
見たいデータを可視化できます。
4.3 アラームの定義
CMMでは、クラウドリソースをモニタリングするためのアラームを定義することができます。アラーム定義では、収集するメトリックとアラームが
発生するしきい値を指定します。クラウドリソースが指定されたしきい値に到達あるいは超える場合、通知をCMM利用者に送信します。
多様なモニタリング要件に対処するため、簡易または複雑なアラーム定義を作成することができます。アラーム定義の構文は、シンプルな
記述でさまざまな条件を表現できる文法をベースにしています。
アラーム定義では、下記の要素を指定します。
・ [名前]:アラームの必須識別子。アラームを定義するプロジェクト内で一意な値にする必要があります。
・ [条件式]:アラームを定義する部分式および論理演算子。この条件式の結果が真の場合、アラームが発生します。
条件式の定義は、以下の手順で行います。
1. モニタリングするメトリックを選択してください。選択リストから、OpenStack運用者によって提供されたすべてのメトリックにアクセ
スできます。
2. メトリックの統計関数を後述から選択してください。最低値をモニタリングするmin、最大値をモニタリングするmax、合計値をモ
ニタリングするsum、モニタリングした値のcount、あるいは算術平均のavg。
3. 1つもしくは複数のディメンションを[ディメンションの追加]フィールドに入力して、メトリックの精度を高めます。
指定したディメンションはモニタリング対象を絞り込みます。各ディメンションは、キーと値のペアから構成されます。キーと値には、
例えば、リージョン、アベイラビリティーゾーン、サービス層、リソースIDなどを使用して、モニタリングしたいデータを柔軟かつ簡潔に
記述できます。
選択したメトリックに利用できるディメンションは、[Matching Metrics]セクションに表示されます。メトリックに関連づけるキーの名前
を[ディメンションの追加]フィールドに入力します。必要なキーと値のペアを追加するための選択リストが表示されます。
4. アラームが発生するしきい値を入力し、メトリックとしきい値を関係演算子で結び付けます。演算子は<、>、<=、>=から選択し
ます。
しきい値の単位は、選択したメトリックに連動します。例えば、cpu.system_percの単位はパーセントで、
disk.total_used_space_mbの単位はMBです。
注意
より複雑なアラーム定義が必要な場合、アラーム定義を作成し、そのアラーム定義を更新してください。[アラーム定義の編集]ページで、
条件式の構文を直接編集することができます。
・ [マッチ]:アラームの発生に考慮が必要なディメンションを入力します。評価される条件式内のディメンションを無視したい場合は、何も
入力しないでください。
・ [説明]:省略可。アラーム定義の説明。
・ [重大度]:アラームの重大度。重大度は[Low]、[Medium]、[High]あるいは[Critical]から選択します。
重大度は[概要]タブなどのステータス情報の色に反映されます。[Critical]に定義されているアラームが発生すると、対応するリソースが
赤色の枠で表示されます。[Low]、[Medium]、[High]に定義されているアラームが発生すると、対応するリソースは黄色の枠で表示さ
れます。
重大度のレベルはユーザーの主観で決定できます。アラームの優先度に適したレベルを選択してください。
・ [通知]:省略可。アラームに使用される警報。アラームが発生すると、選択した通知が送信されます。
選択可能な通知項目は、事前に定義しておく必要があります。詳細については、4.4 通知の定義を参照してください。
- 43 -
アラーム定義に関する詳細は、Monasca API documentationを参照してください。
アラームの作成、編集、削除は、[モニタリング] > [アラーム定義]から実施してください。
4.4 通知の定義
通知は、アラームに定義されたしきい値に到達するか、またはそれを超えた場合にCMM利用者にそのことを知らせる方法を定義します。
アラーム定義では、1つ以上の通知を割り当てることができます。
通知には、下記の要素を指定します。
・ [名前]:通知の一意の識別子。アラーム定義時の選択肢として使用される名前。
・ [タイプ]:EmailはCMMがサポートする通知方法です。WebHookまたはPagerDutyの使用については、富士通のサポート窓口ま
でお問い合わせください。
・ [アドレス]:アラームが発生した場合に送信される通知の送信先メールアドレス。
注意
ビジネスドメイン名など、ジェネリックトップレベルドメインは、電子メールアドレスに指定できません([email protected]など)。
通知の作成、編集、削除は、[モニタリング] > [通知]から実施してください。
- 44 -
第5章 ログデータの管理
提供するサービスおよび仮想サーバや物理サーバのログデータを管理するため、CMMはログ管理ダッシュボードを提供します。ダッシ
ュボードは、ログデータを可視化または分析するためのオプションを提供します。
CMMログエージェントで取得したログデータにアクセスするには、インデックスパターンを設定する必要があります。インデックスパターンに
基づいて、ダッシュボードで特定のログデータを確認したり分析したりできます。
CMMへのアクセス
ログの管理を実施するためには、adminおよびcmm-userロール、またはCMMログ管理機能を使用する権限を与えられているその他の
ロールを持つユーザーとしてOpenStackプラットフォームにアクセスできる必要があります。ロールの追加は任意です
該当ユーザーの認証情報を使ってOpenStackプラットフォームにログインします。これにより、OpenStack Horizonダッシュボードにアクセ
スできます。CMMログ管理機能は、[モニタリング]タブから利用できます。
注意
CMMは、マルチテナントのログ管理をサポートしていません。すなわち、adminロールを持つユーザーは、エージェントの設定で指定し
たプロジェクトに関係なく、すべてのログにアクセスできます。
ログ管理ダッシュボード画面にアクセスするには[モニタリング]タブから行います。[モニタリング] > [概要]と進んでください。[LogManagement]ボタンが、[概要]ページの上部に表示されます。
ダッシュボードにアクセスすると、ログ管理機能すべてを利用することができます。ログデータを確認するには、インデックスパターンを設定
してください。
5.1 インデックスパターンの設定
ログ管理ダッシュボードでログデータを表示、分析するためには、少なくとも1つのインデックスパターンを設定しなければなりません。イ
ンデックスパターンは、検索および分析を実行する検索インデックスを特定するために利用します。これらは、ダッシュボードで表示され
るフィールドを自動的に設定するためにも利用されます。
CMMがフィールドのダイナミックマッピングを可能にします。インデックスパターンの設定後、パターンが一致するインデックスは自動的に
スキャンされ、インデックスフィールドのリストが表示されます。これにより、ログ管理ダッシュボードでフィールドが正しく可視化されます。
最初に設定したインデックスパターンが自動的にデフォルトとして設定されます。プロジェクトごとに複数のインデックスパターンを作成す
ることができます。異なるプロジェクトに対してもインデックスパターンを作成することができます。複数のインデックスパターンを作成する場合
は、デフォルトパターンを選択しなければなりません。デフォルトパターンで指定されたインデックスがCMMログ管理ダッシュボードを開いた
際に表示されます。
ログ管理ダッシュボードに初めてアクセスするとき、自動的にインデックスパターンを設定する指示が出ます。インデックスパターンには、下記
の要素を指定します。
・ [Index contains time-based events] このオプションを選択することを推奨します。これにより、時間ベースのイベントのデータを含む
インデックスのみを検索することで検索性能が改善できます。
・ [Use event times to create index names] このオプションを選択することを推奨します。これにより、指定した時間範囲内のデータを含
むインデックスのみ検索を可能にすることで検索性能を改善します。
・ [Index pattern interval] Index pattern intervalに"Daily"を選択します。CMMは日単位でインデックスを作成しています。
・ [Index name or pattern] 動的インデックス名を定義するバターン。パターンで使用する静的テキストは角括弧("["、"]")で囲みます。デ
フォルトで定義されているパターン("[logstash-]*"または"[logstash-]YYYY.MM.DD")を下記のとおり置き換えます。
"logstash-"をダッシュボードで可視化したいログデータが所属するOpenStackプロジェクトのプロジェクトIDに置き換えます。
"*"または"YYYY.MM.DD"をネーミングパターンの"YYYY-MM-DD"に置き換えます。CMMは、このネーミングパターンでインデックスを
作成しています。
- 45 -
例:[557aff4bf007473d84069aca202a1633-]YYYY-MM-DD
・ [Time-field name] 時間フィールド名に"@timestamp"を選択します。"@timestamp"は、YYYY-MM-DDネーミングパターンに一致
します。
5.2 ログ管理ダッシュボードの利用
ログデータを管理するユーザーインターフェースは、Kibanaを使用しています。Kibanaは、基盤となるデータベース技術としてElasticsearchを使用し、データを分 析、可視化できるオープンソースです。Kibanaは、ログデータを検索したり参照したり、またインタラクティブに操作
でき、大 規模データへの理解をサポートします。さまざまなグラフや表やマップにより、高度なデータ分析と可視化の実施を簡易化でき ます。ログデータへの変更はリアルタイムに表示されます。
ログ管理ダッシュボードでは、以下の機能を提供します。
・ 検索クエリを送信し、検索結果をフィルタリングし、フィルタリング結果からデータの確認および分析ができます。検索クエリに一致す
るログエントリの数を確認することができ、フィールド値の統計を取ることができます。時間フィールドがインデックスパターンに設定さ
れている場合、時間に対するログエントリの分布が、ログ管理ダッシュボードの上部にヒストグラムで表示されます。
・ 検索結果を可視化したグラフや表などを作成することができます。作成したグラフなどは保存したり、個々に利用したり、一つのダッ
シュボード上に組み合わせて表示することができます。データテーブル、折れ線グラフ、円グラフ、垂直棒グラフなど、さまざまなタイプの
可視化をサポートします。
・ 相互に関連する情報を把握しやすくするために、可視化したグラフなどをダッシュボード上で組み合わせることができます。ダッシュ
ボードは、保存し、あとからリロードすることができます。どのOpenStack運用者もCMM管理者も保存されたダッシュボードにアクセスし
利用することができます。
・ ダッシュボードへの直接のリンクを提供、あるいは、Webページに埋め込みを行うことで、ダッシュボードを他のユーザーと共有できます。
ユーザーは、埋め込まれたダッシュボードを利用するためにKibanaにアクセスできることが前提条件となります。
ログ管理ダッシュボードの利用に関する詳細は、Kibana documentationを参照してください。
- 46 -
付録A 構成設定
A.1 CMMメトリックエージェントの構成設定
CMMメトリックエージェントの構成設定は以下のファイルで提供されます。
/etc/monasca/agent/agent.yaml
CMMで利用できるパラメーターの一覧を確認するには、下記の一覧を参照してください。
利用できるパラメーターの説明を表示するために、以下のコマンドを実行します。
/opt/monasca-agent/bin/monasca-setup --help
・ amplifier
・ ca_file
・ check_frequency
・ config_dir
・ detection_args
・ detection_plugins
・ dry_run
・ insecure
・ keystone_url
・ log_dir
・ log_level
・ monasca_url
・ overwrite
・ password
・ project_domain_id
・ project_domain_name
・ project_id
・ project_name
・ remove
・ service
・ skip_enable
・ system_only
・ template_dir
・ user
・ username
・ user_domain_id
・ user_domain_name
・ verbose
- 47 -
注意
dimensionsパラメーターは、CMMでサポートしていません。インストーラはマシン上で動作中のアプリケーションおよびプロセスを自動的
に検知し、それに対応する設定をエージェントの設定ファイルに保存します。追加のディメンションは指定できません。
A.2 CMMログエージェントの構成設定
CMMログエージェントの構成設定は以下のファイルで提供されます。
/etc/monasca/monasca-log-agent/agent.conf
以下に、各設定の詳細を説明します。
monasca_log_api_url
必須。CMMサービスがインストールされているマシンへのアクセスに使用されるURL。
例:http://192.168.10.4:5607/v3.0
keystone_api_url
必須。OpenStack Keystoneサービスがインストールされているサーバへのアクセスに使用されるURL。usernameに指定したユーザーを
認証するために使用するサービスです。
例:http://192.168.10.5:35357/v3
project_name
必須。エージェントがログデータを取得するOpenStackプロジェクトの名前。
例:cmm
username
必須。Keystoneに対してエージェントを認証するために使用するユーザー。
ここで指定するユーザーには、OpenStackにおけるcmm-agentロールと、エージェントがモニタリングするOpenStackプロジェクトが割り当
てられている必要があります。そのプロジェクトは、project_nameで指定されます。
このユーザーは、設定目的専用に使用し、実際のサービスやサーバのモニタリングには使用しないことを推奨します。
例:admin-agent
password
必須。usernameで指定したユーザーのパスワード。
domain_id
必須。usernameで指定したユーザーを割り当てるOpenStack KeystoneドメインのID。
例:default
dimensions
省略可。エージェントが取得したログデータと一緒に収集するメタ情報。この情報は配列として定義されます。
ディメンションにより定義されるメタ情報は各ログエントリに付加されます。これは、CMMログ管理ダッシュボードのフィールドとして表示さ
れます。ログデータを操作しているユーザーに対して、ディメンションはフィルタリングオプションとして使用できます。
例:['app_type:kafka', 'priority:high']
- 48 -
num_of_logs
省略可。ログAPIに送信されるリクエストごとの最大ログ数。
管理するログ数を確認することを推奨します。指定される最大ログ数が低いほど、ログ管理性能が高まります。
利用可能な値:0以上の値
デフォルト:125
max_data_size_kb
省略可。ログAPIに送信されるリクエストごとのキロバイト単位の最大データ量。
利用可能な値:0以上の値
デフォルト:5120
elapsed_time_sec
省略可。ログAPIにログを送信する秒単位の間隔。
num_of_logsで指定した最大ログ数、または、max_data_size_kbで指定した最大データ量に達しない場合、ログは指定された間隔
で送信されます。
利用可能な値:0以上の値
デフォルト:30
delay
省略可。elapsed_time_secで指定された時間間隔への到達確認にかかる遅延秒数。
利用可能な値:0以上の値
デフォルト:10
- 49 -
付録B 対応メトリック
以下にCMMでサポートしているメトリックについて説明します。
・ サーバおよびネットワークの一般的なモニタリングに対する標準メトリック。
・ 特定のサーバおよびサービスをモニタリングするための追加メトリック。
CMM管理者にとって、CMMを構成するサービスおよびそれらサービスをインストールしているサーバのモニタリングには以下のメトリックが
適切です。
・ すべての標準メトリック。
・ 次の追加メトリック:elastic、host_alive、http_check、kafka_consumer、mysql、process、zk
CMMメトリックエージェントは、Nagiosプラグインを実行し、プラグインモニタリングAPIに対するメトリックとして返すステータスコードを送信
することもできます。CMMでNagiosチェックを使用する方法については、富士通のサポート窓口までお問い合わせください。
注意
メトリック用のディメンションを追加することはCMMでサポートしていません。インストーラはマシン上で動作中のアプリケーションおよび
プロセスを自動的に検知し、それに対応する設定をエージェントの設定ファイルに保存します。追加のディメンションは指定できません。
B.1 標準メトリック
CMMは、サーバおよびネットワークをモニタリングするための以下の標準メトリックをサポートします。これらのメトリックは通常、特定の設定を
必要としません。メトリックはメトリックタイプによってグループ分けされます。各メトリックタイプは一連の関連したメトリックを参照します。
cpu.yaml
CPU使用量に関するメトリック。例えば、処理中の入出力要求がない場合にCPUがアイドル状態になる時間の割合や、システム単位ま
たはユーザー単位のCPU使用時間の割合などです。
disk.yaml
ディスクスペースに関するメトリック。例えば、あるデバイスにおける使用ディスク領域の割合や、特定ノード上に存在する全ディスクの使
用領域の合計などです。
load.yaml
各種時間単位(1分間、5分間、15分間など)の平均システム負荷に関するメトリック。
memory.yaml
メモリ使用量に関するメトリック。例えば、全メモリ容量や空きメモリ容量(MB単位)、あるいはスワップメモリの空き容量の割合などです。
network.yaml
ネットワークに関するメトリック。例えば、1秒間に送受信したネットワークバイト数や、送受信トラフィックで発生したネットワークエラーの1秒当
たりの発生件数などです。
B.2 追加メトリック
CMMは、特定のサーバおよびサービスをモニタリングするために、以下に説明している追加メトリックをサポートします。メトリックはメトリ
ックタイプによってグループ分けされます。各メトリックタイプは一連の関連したメトリックを参照します。
- 50 -
CMMメトリックエージェントをインストールするホスト上で動作するサービスに応じて、これらメトリックの一部あるいは全部がエージェント設定
に追加されます。個々のyamlファイルを確認し、必要に応じ設定を変更あるいは訂正するか、含まれるメトリックをモニタリングしない場合
にはyamlファイルを個別にエージェントの設定から削除してください。
以下のメトリックに加えて、Monascaプロジェクトはさらに多くのメトリックを提供しています。これらについて、CMMはインストールもサポ
ートもしません。CMMでサポートしている追加メトリックについて、さらに情報が必要な場合は、Monasca 関連情報を参照してください。
apache.yaml
Apache Webサーバチェックにより、Apache Webサーバからメトリックを収集します。設定ファイルにサーバのURL、および、そのサーバ
にアクセスするユーザー名とパスワードを含める必要があります。
設定例:
init_config:
instances:
- apache_status_url: http://localhost/server-status?auto
apache_user: root
apache_password: password
elastic.yaml
Elasticチェックにより、CMMのログデータベースなどのElasticsearchデータベースのメトリックを収集します。設定ファイルには、HTTPリクエスト用のURLを指定する必要があります。elasticsearch-http-basicなど、Basic認証が使用されている場合、設定ファイル
には認証を必要とするインスタンスごとにユーザー名とパスワードも指定する必要があります。
設定例:
init_config:
instances:
- url: http://localhost:9200
username: username
password: password
host_alive.yaml
ホストの死活チェックは、リモートホストが動作しているか判断するアクティブチェックを行います。このチェックは、ping(ICMP)またはSSHを
使用して行われます。
SSHチェックは、リモートのホストマシンの可用性に関する広範囲に渡るテストを提供します。SSHチェックでは返されたバナーのチェックを行
います。リモートのホストマシンは、ping要求に応答した場合でもSSHバナーを返さないことがあります。そのため、可能であれば、pingチェックの代わりにSSHチェックを行うことを推奨します。
設定例:
init_config:
ssh_port: 22
# ssh_timeout is a floating point number (seconds)
ssh_timeout: 0.5
# ping_timeout is an integer number (seconds)
ping_timeout: 1
instances:
# alive_test can be either "ssh" for an SSH banner test (port 22)
# or "ping" for ICMP ping test instances:
- name: ssh to somehost
host_name: somehost.somedomain.net
alive_test: ssh
- name: ping gateway
- 51 -
host_name: gateway.somedomain.net
alive_test: ping
- name: ssh to 192.168.0.221
host_name: 192.168.0.221
alive_test: ssh
http_check.yaml
HTTPエンドポイントチェックは、HTTPエンドポイントが動作しているか停止しているかの確認を行います。エージェントは、URL一覧をもとに
HTTPリクエストを送信し、CMMサービスに成否を報告します。
設定例:
init_config:
instances:
url: http://192.168.0.254/healthcheck
timeout: 1
include_content: true
collect_response_time: true
match_pattern: '.*OK.*OK.*OK.*OK.*OK'
kafka_consumer.yaml
Kafkaコンシューマーチェックにより、CMMのPersisterやNotification Engineなど、Kafkaトピックスを取得しているサービスに関連するメ
トリックを収集します。
Kafkaコンシューマーチェックを使用するためには、Kafkaコンシューマーモジュール(kafka-python)をCMMメトリックエージェントの
virtualenv環境にインストールしておく必要があります。デフォルトのディレクトリにインストールするには、以下のコマンドを実行します。
# source /opt/monasca-agent/bin/activate
# pip install kafka-python
# deactivate
設定例:
Init_config:
instances:
- consumer_groups:
'1_alarm-state-transitions':
'alarm-state-transitions': ['3', '2', '1', '0']
'1_metrics':
'metrics': &id001 ['3', '2', '1', '0']
'test':
'healthcheck': ['1', '0']
'thresh-event':
'events': ['3', '2', '1', '0']
'thresh-metric':
'metrics': *id001
kafka_connect_str: localhost:9092
zk_connect_str: localhost:2181
libvirt.yaml
Libvirtチェックは、ハイパーバイザー上で動作する仮想マシンに対するメトリックを提供します。このチェックは、ハイパーバイザーのオ
ーナーだけでなく、仮想マシンのオーナーにもメトリックを提供します。
設定例:
init_config:
admin_password: pass
admin_tenant_name: services
- 52 -
admin_user: nova
identity_uri: 'http://192.168.10.5:35357/v2.0'
region_name: 'region1'
cache_dir: /dev/shm
nova_refresh: 14400
vm_probation: 300
ping_check: /usr/bin/fping -n -c1 -t250 -q
ping_only: false
instances:
- {}
mysql.yaml
MySQLチェックにより、MySQLデータベースサーバからメトリックを収集します。メトリックはMySQLのサーバステータス変数に関連して
います。
MySQLチェックを使用するためには、MySQLモジュール(pymysql)をCMMメトリックエージェントのvirtualenv環境にインストールしておく
必要があります。デフォルトのディレクトリにインストールするために、以下のコマンドを実行します。
# source /opt/monasca-agent/bin/activate
# pip install pymysql
# deactivate
設定例:
init_config:
instances:
defaults_file: /root/.my.cnf
server: localhost
user: root
ntp.yaml
ネットワークタイムプロトコル(NTP)チェックは、NTPサーバとホストマシンとの時間オフセットをモニタリングします。設定ファイルには、ホスト
名、ポート番号、バージョン情報、タイムアウトを指定する必要があります。
設定例:
init_config:
instances:
- host: pool.ntp.org
port: ntp
version: 3
timeout: 5
postfix.yaml
PostfixチェックはPostfixメールサーバをモニタリングします。設定ファイルには、モニタリングするサーバの名前、ディレクトリ、キューを指定
する必要があります。
設定例:
init_config:
instances:
- name: /var/spool/postfix
directory: /var/spool/postfix
queues:
- incoming
- active
- deferred
- 53 -
postgres.yaml
Postgresチェックにより、PostgreSQLデータベースサーバーからメトリックを収集します。
Postgresチェックを使用するためには、RPMパッケージ(postgresql-devel)とPythonパッケージ(psycopg2)が必要です。Pythonパッケージは
CMMメトリックエージェントのvirtualenv環境にインストールしておく必要があります。デフォルトのディレクトリにインストールするために、以下
のコマンドを実行します。
# yum install postgresql-devel
# source /opt/monasca-agent/bin/activate
# pip install psycopg2
# deactivate
設定例:
init_config:
instances:
- host: localhost
port: 5432
username: my_username
password: my_password
dbname: db_name
relations:
- my_table
- my_other_table
process.yaml
プロセスチェックは、定義された一連のプロセスが動作中か検証します。対象となるプロセスは、プロセス名かパターンマッチを指定す
ることで識別できます。
設定例:
init_config:
instances:
- name: ssh
search_string: ['ssh', 'sshd']
- name: mysql
search_string: ['mysql']
exact_match: True
rabbitmq.yaml
RabbitMQチェックにより、RabbitMQサーバからノード、エクスチェンジおよびキューに関するメトリックを収集します。設定ファイルには、モ
ニタリングするエクスチェンジおよびキューの名前を指定する必要があります。
RabbitMQチェック用に、RabbitMQ管理プラグインをインストールしなければなりません。このプラグインはRabbitMQディストリビューションに
含まれています。プラグインを有効にするために、以下のコマンドを実行します。
rabbitmq-plugins enable rabbitmq_management
設定例:
init_config:
instances:
- exchanges: [nova, cinder, ceilometer, glance, keystone, neutron, heat]
nodes: [rabbit@devstack]
queues: [conductor]
rabbitmq_api_url: http://localhost:15672/api
- 54 -
rabbitmq_user: guest
rabbitmq_pass: guest
zk.yaml
ZooKeeperチェックにより、ZooKeeperがカバーするノードおよび接続に関するメトリックを収集します。ZooKeeperは、設定情報の保守、ネ
ーミング、分散同期の提供、グループサービスの提供を行う集中サービスです。このチェックでは、ZooKeeperの管理者コマンドであるstat
コマンドの実行結果をパースします。
設定例:
init_config:
instances:
host: localhost
port: 2181
timeout: 3
- 55 -
付録C 用語集
ディメンション
リージョン、アベイラビリティーゾーン、サービス層、リソースIDなどのモニタリング対象のデータを、柔軟かつ簡潔に記述できるキーと値の
ペア。ディメンションは、モニタリング対象メトリックの特徴を表します。
CMMでは、名前と、ディメンションの組合せによって、メトリックを識別します。ディメンションは、モニタリングデータ用のフィルターとして機能
します。
テナントユーザー
OpenStackのクラウドリソースへの限定的なアクセス権があるユーザーです。テナントユーザーはエンドユーザーにサービスを提供したり、
自身の開発に必要となるサービスをホストしたりします。
メトリック
モニタリングするデータの特徴を柔軟かつ簡潔に記述できる自己記述型のデータ構造体です。メトリックの値は、CMMが収集し提示する
実際のモニタリングデータを示します。
CMM管理者
CMMの管理および保守を行う担当者です。
Elasticsearch
拡張性に優れた全文検索および解析エンジンを提供するオープンソースアプリケーション。CMMは、大量のログデータを保存し、検索し、
分析する基盤となる技術としてElasticsearchを使用します。
Grafana
大規模測定データを可視化するオープンソースアプリケーション。CMMは、CMMモニタリングデータを可視化するためにGrafanaを利用
します。
Infrastructure as a Service (IaaS)
コンピューターインフラ(一般的にプラットフォームの仮想化環境)をサービスとして提供するもの。
Kibana
Elasticsearchを運用するために設計されたオープンソースの分析および可視化プラットフォーム。CMMはCMMログデータを可視化す
るためにKibanaを利用します。
Logstash
パイプライン機能を備えたデータ収集エンジンを提供するオープンソースアプリケーション。CMMは、Logstashを利用して、ログを収集、
処理、および出力します。
Monasca
OpenStackと統合されたオープンソースのMonitoring as a Serviceソリューションです。CMMのコアを構成します。
OpenStack運用者
CMMの基礎となるプラットフォーム技術であるOpenStackの管理および保守を行います。
Platform as a Service (PaaS)
コンピューティングプラットフォームとソリューションスタックをサービスとして提供するもの。
Software as a Service (SaaS)
要求に応じてサービスとしてプロバイダーがお客さまにアプリケーションの使用を許諾するソフトウェア配備モデル。
- 56 -