REST APIを用いたシステム間アイリスのモニタリング


正式発表のないリリースIRIS preview release 2019.4 は、/prometheus形式でアイリスメトリックを露出している/API/モニターサービスです.彼らのモニタリングと警報解決の一部として虹彩メトリクスを使用したい誰のための大きい知らせでも.APIは、IRISの今後のバージョンでリリースされるアラートと監視(SAM)ソリューションの新しいアイリスシステムのコンポーネントです.

However, you do not have to wait for SAM to start planning and trialling this API to monitor your IRIS instances. In future posts, I will dig deeper into the metrics available and what they mean and provide example interactive dashboards. But first, let me start with some background and a few questions and answers.


アイリスは、常に自分自身とそれが実行されているプラットフォームの数十メートルを集めている.常にあったmultiple ways to collect these metrics to monitor Caché and IRIS . 私はいくつかのインストールは、アイリスとCachの組み込みソリューションを使用していることがわかりました.たとえば、履歴モニタは、パフォーマンスとシステム使用量のメトリクスの歴史的なデータベースとして、長い時間利用可能です.しかし、これらのメトリックと計器システムをリアルタイムで表面化する明らかな方法はなかった.
アイリスプラットフォームソリューション(世界の残りの部分と一緒に)は、いくつかのオンデマンドインスタンス上で実行されている単一のモノリシックアプリケーションから、どこでも展開された分散ソリューションに移行しています.多くのユースケースでは、既存のIRIS監視オプションはこれらの新しいパラダイムに合わない.完全に車輪のシステムを再発明するのではなく、監視と警告のための人気と実績のある現在のオープンソースソリューションに見えた.

プロメテウス?
プロメテウスは、実証済みの技術に基づいてオープンソースの監視システムを広く広く知られている.それはプラグインの多種多様です.これは、クラウド環境内でうまく動作するように設計されていますだけでなく、同様の前提に便利です.プラグインには、オペレーティングシステム、Apacheや他の多くのアプリケーションなどのWebサーバーが含まれます.プロメテウスは、フロントエンドのクライアントとしばしば使用されます.例えばGrafanaは、非常にカスタマイズ可能な素晴らしいUI/UXの経験を提供します.

グラファナ?
Grafanaもオープンソースです.この一連のポストが進むにつれて、共通のシナリオの監視ダッシュボードのサンプルテンプレートを提供します.あなたは、あなたが気にかけるもののためにダッシュボードを設計するために、サンプルとしてサンプルを使うことができます.あなたが全体の解決スタックからメトリクスと文脈でアイリスメトリックを結合するとき、本当の力は来ます.プラットフォームのコンポーネント、オペレーティングシステム、アイリスから、特にあなたのアプリケーションから機器を追加するとき.

私はこれを見たことがない?
プロメテウスとグラファナによる虹彩とカモの監視は新しいものではない.私は私の開発とテストシステムを監視するために数年間これらのアプリケーションを使用している.「プロメテウス」の開発者コミュニティを検索すると、他の投稿を見つけますfor example, some excellent posts by Mikhail Khomenko ) それはプロメテウスの使用のためにカモメトリックを公開する方法を示しています.

The difference now is that the /api/monitor API is included and enabled by default. There is no requirement to code your own classes to expose metrics.



プロメテウスプライマー
ここではプロメテウスといくつかの用語へのクイックオリエンテーションです.私はあなたに高いレベルを見て、いくつかのグラウンドワークを敷設し、アイリスや他のソースによって提供されるメトリクスを視覚化または消費する方法を考える方法にドアを開きます.
プロメテウスは、HTTPエンドポイント(Iris/API/MonitorなどのAPI)としてアプリケーションから露出した時系列データをこすったり引っ張ったりすることによって動作します.多くの言語、フレームワーク、およびオープンソースアプリケーションのための輸出者とクライアントライブラリが存在します.例えば、ApacheのようなWebサーバ、オペレーティングシステム、Docker、Kubernetes、Database、そしてIris.
輸出者は、器具アプリケーションとサービスに使用されて、関連したメトリクスを削るための終点に露出させます.Webサーバやデータベースなどの標準コンポーネントは、コアの輸出者によってサポートされています.他の多くの輸出者は、プロメテウスコミュニティから利用可能なオープンソースです.

プロメテウス用語
いくつかの重要な用語は知っています.

  • ターゲットとは、ApacheやIrisや独自のアプリケーションのようなホストやアプリケーションやサービスのように、サービスが気になるところです.
  • プロメテウスは、時系列データとしてHTTP収集メトリックをターゲットにします.

  • 時系列データは、例えば虹彩やビア経由でアプリケーションによって公開される.

  • 輸出者はLinuxカーネルメトリックのように制御しないことに利用できます.
  • 結果として生じる時系列データは、データベース**のprometheusサーバに、局所的に格納される.
  • 時系列データベースは、最適化問い合わせ言語(promql)を使用して問い合わせ可能である.たとえば、ダッシュボードにメトリクスを表示するには、警告やGrafanaのようなクライアントアプリケーションを作成します.
  • ** Spoiler Alert; For security, scaling, high availability and some other operational efficiency reasons, for the new SAM solution the database used for Prometheus time-series data is IRIS! However, access to the Prometheus database -- on IRIS -- is transparent, and applications such as Grafana do not know or care.



    プロメテウスデータモデル
    APIによって返されるメトリックはprometheus形式です.プロメテウスは、行ごとに1メートルでシンプルなテキストベースのメトリクス形式を使用して、形式です
    <identifier> [ (time n, value n), ....]
    
    メトリックは(key,value)ペアとしてラベルを持つことができます.ラベルは、寸法としてメトリックスをフィルターにかける強力な方法です.例として、アイリス/API/モニタに返される単一のメトリックを調べます.この場合、ジャーナル空き領域:
    iris_jrn_free_space{id="WIJ",dir=”/fast/wij/"} 401562.83
    
    識別子は、メトリックがどのようなものか、どこから来たかを示します.
    iris_jrn_free_space
    
    複数のラベルをメトリックを飾るために使用することができますし、フィルタリングとクエリに使用します.この例では、WijとWIJが格納されているディレクトリを見ることができます.
    id="WIJ",dir="/fast/wij/"
    
    と値:401562.83 ( MB ).

    どのような虹彩メトリックが利用可能ですか?
    The preview documentation メトリックのリストがあります.しかし、変化があるかもしれないことに気づいてください.また、単にクエリを/api/monitor/metrics エンドポイントとリストを参照してください.私の使用Postman これは次のコミュニティポストで紹介します.

    何をモニターするべきですか.
    あなたのシステムやアプリケーションを監視する方法について考えて、これらのポイントを念頭に置いてください.
  • するときは、ユーザーに影響を与える楽器のキーメトリック.
  • - ユーザーはあなたのマシンの1つがCPU不足していることを気にしない.
  • - ユーザーがサービスが遅いかエラーがある場合は気をつけてください.
  • - あなたの主要なダッシュボードのために、直接ユーザーに影響を及ぼす高水準メトリクスに集中してください.
  • あなたのダッシュボードのグラフの壁を避けてください.
  • - 人間はあまりにも多くのデータを扱うことはできません.
  • - たとえば、サービスごとにダッシュボードを持っています.
  • マシンではなくサービスについて考えてください.
  • - したら、1つのマシンに問題を分離して、ドリルダウンすることができますし、1つのマシンが問題であるかどうかを確認します.

  • 参考文献
    ドキュメントのダウンロードPrometheus and Grafana
    私は、あなたが見つけることができるIntersystemsthe link at InterSystems learning services . 直接リンクが動作しない場合はInterSystems learning services web site とシステムを警告し、簡単に監視
    “Prometheus”と“grafana”のコミュニティ上でここを検索します.