[[378345]] 導入 Monasca は、IT チームがログ データを分析し、アラートと通知を設定するのに役立つ、マルチテナントの監視サービス ツールです。 OpenStack 環境における監視要件は大規模かつ多様で、非常に複雑です。 Monasca のプロジェクト使命は、マルチテナント、高度にスケーラブル、高性能、フォールト トレラントな Monitoring-as-a-Service ソリューションを提供することです。 Monasca は、オペレーターとテナントの両方がインフラストラクチャとアプリケーションの運用上の洞察を得るために使用できる、高度な監視のためのスケーラブルなプラットフォームを提供します。 Monasca は、高速ログ処理とクエリに REST API を使用します。フローアラームエンジン、通知エンジン、集約エンジンを統合します。 Monasca で実装できるユースケースは非常に多様です。 Monasca は、複数のサービスが複数のリポジトリに分散されるマイクロサービス アーキテクチャに従います。各モジュールは、全体的な監視ソリューションに個別のサービスを提供するように設計されており、オペレーター/顧客のニーズに基づいて展開できます。 - Rest API インターフェースを使用して、パフォーマンスと履歴データを保存および照会します。 Nagios の NSCA など、特殊なプロトコルと送信方法を使用する他の監視ツールとは異なり、Monasca は HTTP のみを使用します。
- マルチテナント認証、インジケーターの送信、および認証では、Keystone コンポーネントが使用されます。ストレージ関連テナントID
- メトリックは、ディメンションと呼ばれる (キー、値) キーを使用して定義されます。
- システム指標のリアルタイムしきい値とアラート
- 複合アラーム設定では、サブアラーム式と論理演算子で構成される単純な構文を使用します。
- 監視エージェントは、組み込みのシステムおよびサービスチェック結果、およびNagiosチェックとStatsdをサポートします。
- オープンソーステクノロジーを基盤としたオープンソース監視ソリューション
建築 次の図は、Monasca のメトリクス パイプラインと関連するコンポーネントの相互作用の概要を示しています。 コアコンポーネント - monasca-agent: Python で記述された監視エージェントで、複数のサブコンポーネントが含まれ、さまざまな CPU 使用量、使用可能なメモリ、nagios プラグイン、statsd、および mysql、rabbitMQ などの多くのサービスをサポートします。
- monasca-api: 次の概念と領域を対象とした監視用の RESTful API:
- 指標: 多数のリアルタイム指標の保存とクエリ
- 統計: 指標の統計を照会する
- アラーム定義: アラーム定義の追加、削除、確認、変更
- アラーム: アラーム履歴の照会と削除
- 通知方法: 通知方法を作成および削除し、アラームのステータスが変更されたときに電子メールでユーザーに直接通知します。monasca API は Python または JAVA で実装できます。
- manasca-persister: メトリックまたはアラームを送信し (RPC 送信の概念的なコンシューマ)、対応するデータベースにメトリックとアラームを保存するメッセージ キューのコンシューマ
- monasca-transform: インジケーターの名前と値を変換し、メッセージキューに渡す新しいインジケーターを生成する変換および集約エンジン
- 異常予測エンジン:現在プロトタイプ段階
- monasca-thresh: インジケーターを計算し、しきい値を超えたときにメッセージ キューにアラートを送信します。これは、Apache Stormプロジェクト(オープンソースのリアルタイム分散コンピューティングシステム)に基づいています。
- monasca-notification: メッセージ キューからアラートを受信し、アラート メールの送信などの通知を送信します。通知エンジンは Python に基づいています。
- monasca-analytics: メッセージ キューからアラートを受信し、異常検出とアラート相関を実行する分析エンジン
- メッセージキュー: 以前は RabbitMQ をサポートしていましたが、パフォーマンス、スケール、永続性、高可用性の制限により、Kafka に切り替えました。
- メトリクスとアラームデータベース: Vertica と infuxDB をサポート、Cassandra のサポートは進行中
- 構成データベース: 構成情報データベース。現在は MySQL を使用していますが、PostgreSQL のサポートは進行中です。
- python-monascaclient: monasca API を操作するために Python で実装されたコマンドライン クライアント
- 監視UI: Horizonダッシュボードの視覚化
- Ceilometer パブリッシャー: Ceilometer のマルチパブリッシャー プラグイン
API に直接リクエストを送信するだけでなく、次のツールを使用して Monasca と対話することもできます。 - Monasca クライアント: CLI および Python クライアント
- Horizonプラグイン: このプラグインはHorizonに監視パネルを追加します
- Grafana アプリ: アラート定義、アラート、通知を表示および構成するための Grafana プラグイン
ライブラリ: - monasca-common: Monasca コンポーネントで使用される共通コード
- monasca-statsd: インストルメント化されたアプリケーションからメトリックを送信するための StatsD 互換ライブラリ
Grafana 統合: - monasca-grafana-datasource: Grafana 用のマルチテナント Monasca データ ソース
- grafana: Keystone認証を追加したGrafana 4.1.2のフォークバージョン
サードパーティのテクノロジーとツール Monasca はさまざまなサードパーティのテクノロジーを使用します。 - 内部処理とミドルウェア
- Apache Kafka (http://kafka.apache.org): Zookeeper 調整に基づく分散型、パーティション化、マルチレプリカ、マルチサブスクライバーの分散ログ システムです (MQ システムとしても使用できます)。一般的に、Web/nginx ログ、アクセス ログ、メッセージ サービスなどに使用できます。
- Apache Storm (http://storm.incubator.apache.org/): Apache Storm は、無料のオープン ソース分散リアルタイム コンピューティング システムです。 Storm は無限のデータ ストリームを簡単かつ確実に処理してリアルタイム処理を可能にし、Hadoop はバッチ処理を実行できます。
- ZooKeeper (http://zookeeper.apache.org/): Kafka と Storm で使用
- Apache Spark: Monasca Transform の集計エンジンとして使用
- データベースを構成します。
- MySQL: 構成データベースとして MySQL をサポート
- PostgreSQL: Hibernate と SQLAlchemy を介した Config データベースの POSTgres サポート
- Vagrant(http://www.vagrantup.com/): Vagrant は、業界標準のテクノロジに基づいて構築され、一貫したワークフローによって制御される、簡単に構成可能で、繰り返し使用でき、移植可能な作業環境を提供し、生産性と柔軟性を最大限に高めます。
- Dropwizard: Dropwizard は、Java エコシステムの安定した成熟したライブラリをシンプルで軽量なパッケージにまとめたもので、ユーザーが作業に集中できるようにします。 Dropwizard は、複雑な構成、アプリケーション メトリック、ログ記録、運用ツールなどをすぐに使用できるサポートを提供するため、ユーザーとチームは最短時間で高品質の Web サービスをリリースできます。
- 時系列データベース:
- InfluxDB(http://influxdb.com/): 外部依存関係のないオープンソースの分散時系列データベース。メトリクスデータベースはInfluxDBをサポートします
- Vertica (http://www.vertica.com): 高いスケーラビリティを備えた商用のエンタープライズ クラスの SQL 分析データベース。組み込みの自動高可用性機能を提供し、データベース内分析と大量データの圧縮および保存に優れています。最大 1 TB のデータを時間制限なしで保存できる Vertica の無料コミュニティ バージョンは、https://my.vertica.com/community/ でご利用いただけます。 Vertricaはもはや一般的には使用されていませんが、Metricsデータベースによってサポートされています。
- Cassandra (https://cassandra.apache.org): MestricsデータベースはCassandraをサポートしています
インストール 手動インストール monasca のすべてのコンポーネントは、OpenStack コントローラー ノードなどの 1 つのノードにインストールすることも、複数のノードにデプロイすることもできます。この記事では、関連付けられたフローティング IP を持つ OpenStack クラスターに作成された新しい VM に monasca-api をインストールします。 Monasca-agent がコントローラー ノードにインストールされました。エージェント ノードは、フローティング IP を介してメトリックを API ノードに公開します。これらは同じサブネット内にあります。 必要なパッケージとツールをインストールする - apt-get install -y git
- apt-get install openjdk-7-jre-headless python-pip python-dev
mysql データベースをインストールします。openstack コントローラー ノードに monasca-api がインストールされている場合は、インストールをスキップして、openstack サービスに既にインストールされている msyql を使用できます。 - apt-get install -y mysql-server
monasca データベース スキーマを作成し、mon.sql をここからダウンロードします (https://raw.githubusercontent.com/stackforge/cookbook-monasca-schema/master/files/default/mysql/mon.sql) - mysql -uroot -ppassword < mon_mysql.sql
Zookeeper をインストールします。Zookeeper をインストールして再起動します。私は localhost インターフェイスを使用しており、Zookeeper は 1 つしかないため、デフォルトの構成ファイルでは構成は必要ありません。 - apt-get install -y zookeeper zookeeperd zookeeper-bin
- サービス Zookeeper の再起動
Kafka をインストールして設定する - http://apache.mirrors.tds.net/kafka/0.8.1.1/kafka_2.9.2-0.8.1.1.tgz を取得します。
- mv kafka_2.9.2-0.8.1.1.tgz /opt
- cd /opt
- tar zxf kafka_2.9.2-0.8.1.1.tgz
- kafka_2.9.2-0.8.1.1 を /opt/kafka にコピーします。
- kafka のコンフィギュレーション
Kafka システム ユーザーを作成します。 Kafka サービスはこのユーザーとして起動されます。 - ユーザー追加kafka -U -r
/etc/init/kafka.conf に kafka 起動スクリプトを作成し、次の内容を /etc/init/kafka.conf にコピーして保存します。 - 説明「カフカ」
-
- ランレベル [2345]で開始
- ランレベル [!2345]で停止
-
- 復活
-
- 制限なしファイル 32768 32768
-
- # このボックスでZookeeperが動作している場合は、時間を置いてください 正常に起動する
- 起動前スクリプト
- [ -e /etc/init.d/zookeeper ] の場合;それから
- /etc/init.d/zookeeper を再起動
- フィ
- スクリプト終了
-
- #事前起動タスクはrootとして実行する必要があるため、setuid/setgidではなくsudoが使用されます。
- sudo -Hu kafka -g kafkaを実行します。KAFKA_HEAP_OPTS= "-Xmx1G -Xms1G" JMX_PORT=9997 /opt/kafka/bin/kafka-server-start.sh /etc/kafka/server.properties
Kafka を構成するには、vim /etc/kafka/server.properties を実行し、以下が構成されていることを確認します。 - ホスト名=ローカルホスト
- 宣伝されたホスト名=ローカルホスト
- log.dirs=/var/kafka
Kafkaログディレクトリを作成する - mkdir /var/kafka
- mkdir /var/log/kafka
- chown -R kafka。カフカ
- chown -R kafka。カフカログ
Kafkaサービスを開始する - サービス kafka 開始
次のステップはKafkaトピックを作成することです - /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
- /opt/kafka/bin/kafka-topics.sh
InfluxDB をインストールして設定する - curl -sL https://repos.influxdata.com/influxdb.key | apt-キー 追加-
- echo "deb https://repos.influxdata.com/ubuntu 信頼できる安定版" > /etc/apt/sources.list.d/influxdb.list
- apt-getアップデート
- apt-get インストール -y apt-transport-https
- apt-get install -y influxdb
-
- サービス influxdb 開始
influxdb データベース、ユーザー、パスワード、保持ポリシーを作成し、パスワードを変更します。 - 流入
- 作成する データベースモニター
- 作成する ユーザーmonasca パスワード 「チュン」
- 保持ポリシーpersister_allを月曜日に作成、期間90日、レプリケーション1、デフォルト
- 出口
Stormのインストールと設定 - http://apache.mirrors.tds.net/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz を取得します。
- /opt/storm にディレクトリを作成します。
- cp apache-storm-0.9.6.tar.gz /opt/storm/
- cd /opt/storm/
- tar xzf apache-storm-0.9.6.tar.gz
- ln -s /opt/storm/apache-storm-0.9.6 /opt/storm/現在の
-
- ユーザー追加ストーム -U -r
- mkdir /var/storm
- mkdir /var/log/storm
- chown -R 嵐。 /var/storm/
- chown -R 嵐。 /var/log/storm/
storm.yaml を修正します。vim current/storm/conf/storm.yaml - ### ベース
- java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib"
- 嵐。ローカル.dir: "/var/storm"
-
- ### 動物園の飼育員。*
- storm.zookeeper.servers:
- - 「ローカルホスト」
- storm.zookeeper.ポート: 2181
- storm.zookeeper.再試行間隔: 5000
- storm.zookeeper.再試行回数: 29
- storm.zookeeper.root: "/storm"
- storm.zookeeper.セッションタイムアウト: 30000
-
- ### supervisor.* 設定はノードスーパーバイザー用です
- スーパーバイザー.スロット.ポート:
- - 6701
- - 6702
- - 6703
- - 6704
- スーパーバイザー.childopts: "-Xmx1024m"
-
- ### worker.* 設定はタスクワーカー用です
- ワーカー.childopts: "-Xmx1280m -XX:+UseConcMarkSweepGC -Dcom.sun.management.jmxremote"
-
- ### nimbus.* 設定はマスター用です
- nimbus.host: "localhost"
- nimbus.thrift.port: 6627
- mbus.childopts: "-Xmx1024m"
-
- ### ui.* 設定はマスター用です
- ホスト: 127.0.0.1
- ポート: 8078
- ui.childopts: "-Xmx768m"
-
- ### drpc.* 設定
-
- ### transactional.* 構成
- トランザクション.zookeeper.servers:
- - 「ローカルホスト」
- トランザクション.zookeeper.ポート: 2181
- transactional.zookeeper.root: "/storm-transactional"
-
- ### topology.* 構成は特定の実行ストーム用です
- トポロジー.acker.executors: 1
- トポロジー.デバッグ: false
-
- ログビューアポート: 8077
- ログビューア.childopts: "-Xmx128m"
ストームスーパーバイザの起動スクリプトを作成します。vim /etc/init/storm-supervisor.conf - # Storm Supervisorの起動スクリプト
-
- 説明「Storm Supervisor デーモン」
- ランレベル [2345]で開始
-
- コンソールログ
- 復活
-
- キルタイムアウト 240
- リスポーン制限 25 5
-
- 嵐の予感
- セトゥイドストーム
- chdir /opt/storm/現在の
- exec /opt/storm/現在の/bin/storm スーパーバイザ
Storm Nimbus 起動スクリプトを作成します。 vim /etc/init/storm-nimbus.conf - #ストーム・ニンバスの起動スクリプト
-
- 説明「Storm Nimbus デーモン」
- ランレベル [2345]で開始
-
- コンソールログ
- 復活
-
- キルタイムアウト 240
- リスポーン制限 25 5
-
- 嵐の予感
- セトゥイドストーム
- chdir /opt/storm/現在の
- exec /opt/storm/現在の/bin/storm nimbus
スーパーバイザーとニンバスを起動する - サービス ストーム スーパーバイザの開始
- サービス ストームニンバス 開始
monasca-api pythonパッケージをインストールする 一部の Monasca コンポーネントは Python コードと Java コードの両方を提供しますが、私は主にデプロイメントに Python コードを選択します。 - pip インストール monasca-common
- pip インストール gunicorn
- pip install greenlet #両方に必要
- pip install eventlet #イベントレットワーカーの場合
- pip install gevent # gevent ワーカー用
- pip で monasca-api をインストールします
- pip で influxdb をインストールします
vim /etc/monasca/api-config.iniで、ホストを自分のIPアドレスに変更します。 - [デフォルト]
- 名前= monasca_api
-
- [パイプライン:メイン]
- #メトリック メッセージを検証できるように、パイプラインにバリデーターを追加します。
- パイプライン = 認証キーストーンコンテキスト API
-
- [アプリ:api]
- paste.app_factory = monasca_api.api.server:launch
-
- [フィルター:認証]
- paste.filter_factory = keystonemiddleware.auth_token:filter_factory
-
- [フィルター:キーストーンコンテキスト]
- paste.filter_factory = monasca_api.middleware.keystone_context_filter:filter_factory
-
- [サーバー:メイン]
- 使用 = egg:gunicorn#main
- ホスト = 192.168.2.23
- ポート = 8082
- 労働者 = 1
- proc_name = monasca_api
vim /etc/monasca/api-config.confで以下の内容を変更します。 - [デフォルト]
- # ログ記録、サーバーを実行するユーザーに権限があることを確認してください
- #ディレクトリに書き込みます。
- ログファイル = monasca-api.log
- log_dir = /var/log/monasca/api/
- デバッグ = False
- 地域 = リージョン1
- [安全]
- # APIへのフルアクセスが許可されるロール。
- default_authorized_roles = admin、 user 、domainuser、domainadmin、monasca -user
-
- # 許可されている役割 APIにPOST メトリックのみを送信します。この役割は、 Monasca エージェントによって使用されます。
- エージェント承認ロール = 管理者
-
- # 許可されている役割 APIからメトリックを取得するだけです。
- 読み取り専用権限のあるロール = 管理者
-
- # 別のテナントに代わってAPIにアクセスすることが許可されているロール。
- #たとえば、別のテナントが「委任」ロールのメンバーである場合、サービスはそのテナントにメトリックを POST できます。
- delegate_authorized_roles = 管理者
-
- [カフカ]
- # kafkaサーバーへのエンドポイント
- uri = ローカルホスト:9092
-
- [influxdb]
- # Influxdbデータベースの場合のみ必要 バックエンドに使用されます。
- # InfluxDB サービスのIP アドレス。
- ip_address = ローカルホスト
-
- # InfluxDB サービスがリッスンしているポート番号。
- ポート = 8086
-
- #認証に使用するユーザー名。
- ユーザー= モナスカ
-
- #パスワード 認証するには。
- パスワード= tyun
-
- #名前 InfluxDBデータベースの 使用する。
- データベース名 = mon
-
- [データベース]
- url = "mysql+pymysql://monasca:tyun@127.0.0.1/mon"
-
-
- [keystone_authtoken]
- アイデンティティURI = http://192.168.1.11:35357
- 認証URI = http://192.168.1.11:5000
- 管理者パスワード = tyun
- admin_user = モナスカ
- admin_tenant_name = サービス
- カファイル =
- 証明書ファイル=
- キーファイル =
- 安全でない =偽
[mysql] セクションをコメントアウトし、残りはデフォルトのままにします。 monascaシステムユーザーを作成し、ディレクトリに入ります - ユーザー追加モナスカ -U -r
- mkdir /var/log/monasca
- mkdir /var/log/monasca/api
- chown -R モナスカ。 /var/log/モナスカ/
OpenStack コントローラー ノードで、monasca ユーザーのパスワードを作成し、テナント サービスで monasca ユーザーに管理者ロールを割り当てます。 - オープンスタックユーザー 作成する
- OpenStack ロールの追加
-
- オープンスタックサービスの作成
-
- エンドポイントを作成する
- OpenStack エンドポイントの作成
- OpenStack エンドポイントの作成
- OpenStack エンドポイントの作成
192.168.1.143 は私の API 仮想マシン アドレスのフローティング IP です。これを自分の IP に変更してください。 monasca api 起動スクリプト vim /etc/init/monasca-api.conf を作成します。 - # Monasca APIの起動スクリプト
-
- 説明「Monasca API Python アプリ」
- ランレベル [2345]で開始
-
- コンソールログ
- 復活
-
- セギッドモナスカ
- セトゥイド モナスカ
- /usr/ local /bin/gunicorn -n monasca-api -k eventlet を実行します
monasca-persisterをインストールする monasca-persister起動スクリプトを作成する vim /etc/init/monasca-persister.conf - # Monasca Persisterの起動スクリプト
-
- 説明「Monasca Persister Python アプリ」
- ランレベル [2345]で開始
-
- コンソールログ
- 復活
-
- セギッドモナスカ
- セトゥイド モナスカ
- /usr/bin/java -Dfile.encoding=UTF-8 -cp /opt/monasca/monasca-persister.jar monasca.persister.PersisterApplication サーバー /etc/monasca/persister-config.yml を実行します。
monasca-persisterを起動する - サービス monasca-persister の開始
monasca-notificatoinをインストールする - pip インストール
- apt-get で sendmail をインストール
notification.yamlを/etc/monasca/にコピーし、起動スクリプトvim /etc/init/monasca-notification.confを作成します。 - # monasca_notificationの起動スクリプト
-
- 説明「Monasca 通知デーモン」
- ランレベル [2345]で開始
-
- コンソールログ
- 復活
-
- セギッドモナスカ
- セトゥイド モナスカ
- /usr/bin/python /usr/ local /bin/monasca-notification を実行します。
通知サービスを開始する - サービス モナスカ通知開始
monasca-threshをインストールします。monasca-threshを/etc/init.d/にコピーします。monasca-thresh.jarを/opt/monasca-thresh/にコピーします。thresh-config.ymlを/etc/monasca /にコピーし、ホストとデータベースの情報を変更します。monasca-threshを起動します。 - サービス monasca-thresh 開始
monasca-agentをインストールする openstack コントローラー ノードに monasca-agent をインストールして、openstack サービス プロセスを監視できるようにします。 - sudo pip インストール
monasca-agent を設定し、ユーザー ドメイン ID とプロジェクト ドメイン ID をデフォルト値に変更します。 - monasca-setup -u monasca -p tyun
-
認証スクリプト admin-rc.sh をロードし、monasca metric-list を実行します。 DevStackのインストール Monasca DevStack を実行するには、少なくとも 10GB の RAM を搭載したホストが必要です。 Devstack のインストールと実行の手順については、こちらをご覧ください。 - https://docs.openstack.org/devstack/latest/
DevStack で Monasca を実行するには、次の 3 つの手順に従います。 DevStack リポジトリをクローンします。 - git クローン https://git.openstack.org/openstack-dev/devstack
devstack ディレクトリのルートにある DevStack local.conf ファイルに以下を追加します。 local.conf が存在しない場合は、作成する必要があります。 - # DEVSTACK LOCAL .CONF コンテンツの開始
-
- [[ローカル|localrc ]]
- DATABASE_PASSWORD=シークレットデータベース
- RABBIT_PASSWORD=秘密のラビット
- ADMIN_PASSWORD=秘密の管理者
- SERVICE_PASSWORD=シークレットサービス
- サービストークン=111222333444
-
- ログファイル=$DEST/logs/stack.sh.log
- LOGDIR=$DEST/ログ
- LOG_COLOR =偽
-
- # 次の2つの変数は実装をJavaとPythonの間で切り替えることを可能にします
- # Monasca APIとMonasca Persisterの。これらの変数が を設定すると、
- #デフォルト は Monasca APIとMonasca Persisterの両方のPython 実装をインストールします。
-
- # Monasca APIにJavaまたはPythonを選択するには、次の 2 行のいずれかのコメントを解除します。
- MONASCA_API_IMPLEMENTATION_LANG = ${MONASCA_API_IMPLEMENTATION_LANG:-java}
- # MONASCA_API_IMPLEMENTATION_LANG=${MONASCA_API_IMPLEMENTATION_LANG:-python}
-
- # Monasca PesisterにJavaまたはPythonを選択するには、次の 2 行のコメントを解除します。
- MONASCA_PERSISTER_IMPLEMENTATION_LANG=${MONASCA_PERSISTER_IMPLEMENTATION_LANG:-java}
- # MONASCA_PERSISTER_IMPLEMENTATION_LANG=${MONASCA_PERSISTER_IMPLEMENTATION_LANG:-python}
-
- # InfluxDBまたはVerticaのいずれかを選択するには、次の 2 行のいずれかのコメントを解除します。
- #デフォルト 「influxdb」 メトリックDBとして選択
- MONASCA_METRICS_DB = ${MONASCA_METRICS_DB:-influxdb}
- # MONASCA_METRICS_DB=${MONASCA_METRICS_DB:-vertica}
-
- # この行はすべて有効になります モナスカの。
- enable_plugin monasca-api https://git.openstack.org/openstack/monasca-api
-
- #END DEVSTACKローカル.CONF コンテンツ
devstack ディレクトリのルートから「./stack.sh」を実行します。 最小限の OpenStack コンポーネントで Monasca を実行する場合は、local.conf ファイルに次の 2 行を追加します。 - すべてのサービスを無効にする
- enable_service ウサギのMySQLキー
Tempestテストもインストールしたい場合は、tempestを追加します。 - enable_service ウサギ mysqlキーテンペスト
HorizonとMonasca UIを有効にするには、horizonを追加します - enable_service ウサギ mysqlキーホライゾン テンペスト
Vagrantの使用 Vagrant を使用すると、Vagrantfile を使用して Devstack と Monasca を実行する VM をデプロイできます。 Vagrant をインストールしたら、../monasca-api/devstack ディレクトリで vagrant up コマンドを実行するだけです。 devstack インストールでローカル コード リポジトリを使用するには、ローカル リポジトリのマスター ブランチに変更をコミットし、使用するローカル リポジトリに対応する構成ファイル内の変数 file://my/local/repo/location を変更します。 monasca-api リポジトリのローカル インスタンスを使用するには、enable_plugin monasca-api https://git.openstack.org/openstack/monasca-api を enable_plugin monasca-api file://my/repo/is/here に変更します。これら 2 つの設定は、devstack VM を再構築した場合にのみ有効になります。 1. Vagrantを使用してVerticaをメトリクスDBとして有効にする Monasca は、メトリックとアラーム ステータス履歴を保存するために InfluxDB と Vertica の両方の使用をサポートしています。デフォルトでは、InfluxDB は DevStack 環境で有効になっています。 Vertica は、Hewlett Packard Enterprise の商用データベースです。無料の Community Edition (CE) インストーラーをダウンロードできます。 Vertica を有効にするには、次の手順を実行します。 - Vertica Debian インストーラー (https://my.vertica.com/download/vertica/community-edition/) を登録してダウンロードし、ホーム ディレクトリに配置します。残念ながら、DevStack インストーラーには自動的に使用できる URL がないため、これを別途ダウンロードし、インストーラーの実行時に見つけられる場所に配置する必要があります。インストーラーは、この場所がホーム ディレクトリであると想定します。 Vagrant を使用する場合、通常、ホーム ディレクトリは VM 内に「/vagrant_home」としてマウントされます。
- 次のように、local.conf の MONASCA_METRICS_DB 変数を変更して、Vertica サポートを構成します。
MONASCA_METRICS_DB=${MONASCA_METRICS_DB:-vertica} 2. PostgreSQLまたはMySQLを使用する Monasca は PostgreSQL と MySQL の使用をサポートしているため、この devstack プラグインも同様にサポートします。 postgresql または mysql を有効にします。 MySQL を使用して環境を設定するには、以下を使用します。 - 有効化サービスMySQL
あるいは、PostgreSQL の場合は以下を使用します。 - postgresql のサービスを有効にする
3. ORMサポートを使用する ORM サポートは、MONASCA_DATABASE_USE_ORM 変数を介して制御できます。ただし、PostgreSQL(データベースバックエンドとも呼ばれる)が有効になっている場合は、ORMサポートが強制されます。 postgresql のサービスを有効にする 4. Apacheミラーの強化 何らかの理由で APACHE_MIRROR を使用できない場合は、次の方法で強制できます。 - APACHE_MIRROR=http://www-us.apache.org/dist/
5. WSGIを使用する Monasca-api は、uwsgi と gunicorn を使用して Apache でデプロイできます。デフォルトでは、monasca-api は uwsgi で実行されます。 Gunicorn を使用する場合は、devstack/local.conf に以下が含まれていることを確認してください。 - MONASCA_API_USE_MOD_WSGI= False
使用 モナスカダッシュボード Monasca ダッシュボード プラグインをインストールすると、Web コンソールを通じて対応する監視とアラームを表示および管理できるようになります。 オペレーション コンソールの [監視] タブで、[監視ダッシュボードの起動] をクリックします。これにより、管理ノード上で実行されている専用の OpenStack Horizon ポータルが開きます。 このパネルでは、次のことができます。 - サービスアラームを表示するには、OpenStack サービス名をクリックします。
- サーバー名をクリックすると、関連付けられているデバイスのアラートが表示されます。
監視情報は 2 つのデータベース (Vertica/influxdb と mysql) に保存されます。監視データをバックアップする場合、両方のデータベースが同時にバックアップされます。見る - 監視メトリックは Vertica に 7 日間保存されます。
- 構成設定は MySQL に保存されます。
- 監視ノード上のサービスが高負荷(例:15 個の制御ネットワークと 200 個のコンピューティング ノード)で停止した場合、メッセージ キューは約 6 時間でクリアされ始めます。
監視情報を表示 オペレーション コンソールで、メイン メニューから [監視ダッシュボード] を選択して監視 UI を開きます。 監視ダッシュボードの起動をクリックします。 管理アプライアンスの OpenStack Horizon の監視ダッシュボードが開きます。 初期インストール時にオペレーション コンソールに設定したユーザー名とパスワードを使用してログインします。 アラートを表示します。画面上で結果をフィルタリングできます。 - 左側のナビゲーションで [アラーム] をクリックすると、アラームが設定されているすべてのサービスとデバイスが表示されます。
- 各行の右側にある [アクション] メニューで、[グラフ メトリック] をクリックしてアラートの詳細を表示したり、アラート履歴とアラート定義を表示したりできます。このアラートのグラフの上部にメトリック名も表示されます。
- サービスアラートを表示するには、OpenStack サービス名をクリックします。
- サーバー名をクリックすると、デバイスに関するアラートが表示されます。
左側のナビゲーションで「アラーム定義」をクリックすると、有効なアラームの種類を表示および編集できます。 注意: デフォルトのアラート定義を変更または削除しないでください。ただし、新しいアラート定義を追加することはできます。 アラートの名前、表現、その他の詳細を変更できます。 受信するアラートが多すぎるか少なすぎる場合は、アラートしきい値を上げたり下げたりすることを検討してください。 アラート式の記述に関する情報。 オプション: ダッシュボードをクリックします。 OpenStack ダッシュボード (Grafana) が開きます。このダッシュボードから、OpenStack サービスの健全性と、各ノードの CPU およびデータベースの使用状況をグラフで確認できます。 - グラフのタイトル (CPU など) をクリックし、[編集] をクリックします。
- 機能を変更して、グラフ内の他の種類の情報を表示します。
オプション: Monasca Health をクリックします。 Monasca サービス ダッシュボードが開きます。このダッシュボードでは、Monasca サービスの健全性をグラフで確認できます。 要約する Monasca は、Openstack のサービスとしての監視コンポーネントです。現在、コミュニティ内およびインターネット上の情報は比較的少ないです。この記事では著者の実践を通してMonascaのインストール、設定、使用方法を記録します。 Monasca は、IAAS から PAAS までを実現できる、拡張性に優れた高性能な監視システムです。そのアーキテクチャにより、大規模なクラスターと高負荷の監視を簡単に処理できます。私たちは徐々に、シーロメーター+ニョッキ+アオドの組み合わせをやめて、モナスカに目を向けるようになりました。現在、当社ではクラウド ホストとクラウド ネットワークだけでなく、Kubernetes クラスター、データベース クラスター、オブジェクト ストレージ、および Openstack クラスター内のその他の PAAS ソフトウェアも監視しています。 参考記事: https://docs.openstack.org/monasca-api/latest/ https://wiki.openstack.org/wiki/Monasca |