cassandraモニタリングスキーム評価


サマリ
最初にcassandra monitorスキームの選択をしたとき、主にcassandra自体から着手したが、cassandraはJVM上で動作しており、すべてのmetricsがJMXを通じて露出していることが分かった.したがって、いくつかの一般的なJavaアプリケーションのモニタリングスキームを使用することができ、著者らは多くの実装スキームを調査した後、graphite、newrelic、opscenterの3つのソリューションに範囲を縮小した.本文はそれぞれの優劣だけを与えて、具体的にどれを選んで、読者が自分で判断することを信じます.
cassandraの詳細については、http://www.webpersonaldeveloper.cn
opscenter VS graphite VS newrelic
  • 環境導入
  • 収集metrics比較
  • cassandra metrics
  • os metrics
  • application metrics

  • 拡張機能
  • 開発メンテナンスコスト
  • cassandraバージョン制限
  • まとめ
  • 環境の導入
    opscenter:
    Datastaxからopscenterをダウンロードし、installが完了すると、opscenterのUIにcassandra clusterをインストールし、clusterにopscenter agentをインストールすることができます.cassandraとagentはopscenterのUIにインストールしたり、各ノードにインストールしたりできます.
    graphite:
    主にgraphiteプロットを構成する3つの部分があり,Carbonはキャッシュとして,Whisperはデータを格納する.また、graphiteの図面が醜いため、機能も限られているため、UIとしてgrafanaを使用する必要があります.graphite環境の構築と構成は複雑で、多くのプラグインをインストールする必要があるため、バージョンの適合も面倒です.しかしdockerがあってからすべてが簡単になりました.
    https://github.com/kamon-io/docker-grafana-graphite(forkというrepoを使って、あなたのニーズに合わせて変更することができます)
    graphite serverを配備するには、cassandra構成ごとに新しいmetricsを送信する必要があります.yaml
    graphite:
    period: 30
    timeunit: 'SECONDS'
    prefix: 'cassandra-cluster-prefix.node1'
    hosts:
     - host: 'xxx'
       port: 2003
    predicate:
      color: "white"
      useQualifiedName: true
      patterns:
        - "^org.+"
        - "^jvm.+"
        - "^java.lang.+"
    

    そしてcassandra-env.sh JVM起動項目の構成
    JVM_OPTS="$JVM_OPTS -Dcassandra.metricsReporterConfigFile=metrics.yaml"
    

    newrelic:
    newrelicのconfigを構成するだけでrun plugin
    https://github.com/threelegs/newrelic-plugins
    warning
    新relic cassandraのpluginは何年も更新されていないので、Cassandra 2をサポートすべきです.xバージョン、Cassandra 3はサポートされていません.xのバージョン.しかし、自分で開発するのも簡単ですが、metricsの名前があって、バッグ名が変わったので、自分でforkして修正することができます.
    opscenter=newrelic>graphite(dockerを使用してもgraphiteは最も複雑な導入です)
    収集したmetricsの比較
    cassandra metrics
    cassandra metricsは主にJMXが露出したMBeanであり、Read/Write request,latencyを含む.compaction taskなどの情報もあります.JConsoleツールで見ることができますが、JConsoleインタフェースが醜いことや、履歴データを保存できないこと、図形を描くのも美しくないことなど、さまざまな欠点があり、使用しません.
    opscenter=graphite=newrelic cassandra metricsの3つの収集スキームが収集でき、違いはありません.
    os metrics
    OS metricsには、cpu、メモリ、diskの使用状況が含まれます.opscenterが統合されていて、便利に見えます.graphiteはサードパーティプラグインcollectdを使用して収集する必要があります.新relicも同様です.
    opscenter=newrelic>graphite
    application metrics
    cassandraはデータベースサービスですが、monitorとしては、通常、全体的な状況を表示する必要があります.クライアントリクエストに問題が発生しました.データベースの分析だけでなく、アプリケーションサーバの分析も必要かもしれません.もちろん、アプリケーションサーバの情報を複数のモニタリングプラットフォームではなくcassandraと同じページに統合することが望ましい.opscenterはできませんgraphiteはできますnewrelicはできます
    graphite=newrelic>opscenter
    拡張機能
    履歴データの保存
    opscenter、graphiteは、パラメータ構成をサポートして何日保存しますか.新relicは、より多くの日を保存するためにお金が必要です.
    権限管理
    opscenterはadminによる権限管理をサポートしていますが、すべてのmetricsは全体として、一部のユーザーがmetricsの一部だけを見るように制御できません.https://docs.datastax.com/en/latest-opsc/opsc/configure/opscManageUsers.html
    graphiteはorganizationをサポートし、異なるorganizationは異なるdashboardを持つことができる.organizationではuserを追加できます.userロールには4種類のadmin、editor、read only editor、viewがあります.異なるユーザーは、異なるorganizationで異なる役割を果たすことができます.
    新relicはadmin,user,restricted userの3種類をサポートし,異なるユーザは異なる内容を見ることができる.
    開発メンテナンスコスト
    opscenterは開発する必要はありません.メンテナンスはdatastax商業版のcassandraを使用すれば、license費用を払えばいいです.その他はopscenter serverの料金です
    graphiteはオープンソースですが、環境導入には時間とお金がかかります.また、graphiteにはmonitorサービス全体を構成するプラグインが多く、これらのプラグインのメンテナンスにはコストがかかります.作者の構築過程で多くの問題に直面した.たとえば、複数のserverのデータ集約の問題で、データの読み取りが正しくありません.これらはすべて運営にもっと多くの時間を費やす必要があります.システムが不安定であれば、より多くの運営を投入することは、会社にとっても小さな投資ではありません.
    新relicには無料版がありますが、機能が制限されており、上記のような履歴データの保存は1日しか保存できません.有料版は安くありません.しかしnewrelicには独自のメリットがあり、SaaSサービスです.監視が必要なデータ規模が増加すると、自分で監視クラスタを構築する必要はありません.この点でopscenter,graphiteはcluster環境を構築する必要がある
    金銭的にgraphite>opscenter>newrelic
    人力上newrelic>opscenter>graphite
    cassandraバージョン制限
    opscenterの最新バージョンはcassandra opensource 2.1、datastax enterprise 4.8のみをサポートしており、cassandra opensourceは現在までrelease 3.7になっています.だからopscenterバージョンは遅れています.graphiteは汎用バージョンで、最新バージョンをサポートします.新relicはplugin形式であり、cassandraが更新したmetricsに基づいてpluginが送信したmetricsを更新する必要がある.
    graphite=newrelic>opscenter
    まとめ
    モニタリングのmetrics収集からでもモニタリングツール自体の管理からでも、3つのソリューションは対応するソリューションを提供します.その他の点で少し違いがある
    1.opscenterは導入が容易で、cassandraの一般的な操作も統合されています.cassandra serverにログインする必要はなく、コマンドラインを使用して操作します.彼自身はmonitorツールだけでなく、cassandraの操作UIインタフェースでもある.opscenterには致命的な欠点があり、cassandraバージョンが制限されています.最新のcassandraを使用して実現できない場合は、補助的な監視ツールのため、主要なデータベース機能に影響を与える致命的な欠陥だと思います.
    2.graphiteオープンソースはgraphiteの優位性であり、コミュニティの活発さは支えである.この案を選んでも投入できる人がいる.
    3.newrelicは技術的な問題を解決する必要はなく、お金を使って生産力を解放し、監視の内容が製品の核心でなければ、良い案ではないかもしれない.
    以上は著者の意見のみを参考にした.
    リファレンス
    http://blog.ailms.me/2014/08/17/note-about-graphite-arch.html http://docs.grafana.org/troubleshooting/
    転載先:https://www.cnblogs.com/stoneFang/p/6715299.html