Kibana 3は、perl認証認証認証認証方式に基づくものである.


Kibanaは純粋なJSプロジェクトとして、完全な権限コントロール機能を提供していません.ただ一つnginx.confが付いています. ベースのBaic Authを作ります.コミュニティは他にnodejsの上で実現する方案があって、CAS方式を使って認証をします.
でも、この二つの案にはあまり満足していません.
  • 認証方式は単一すぎて、適応性が弱いです.
  • 権限分離が明確ではなく、修正によるものです.  kibana-int はい  kiban-int-user これにより、ユーザー別のdashboardを区別し、ESインデックスへのアクセスを制限することはできません.
  • 加えて、nodejsは私もよく知らないので、最終的にいろいろと考えた後、一晩を引いて自分で版を書くことにしました.
    最終コードをご覧ください https://github.com/chenryn/kibana.
    原理と実現
  • フルステーションエージェントと仮想応答ここでは、config.jsを通じて、Kibanaのデフォルト接続のElasticsearchサーバアドレスとポートを限定しただけでなく、偽造も阻止しました.  /_nodes 要求されたJSON応答体.偽造の応答には、自分の認証付きウェブサーバのアドレスとポートだけが含まれています.このようにするのは、私のkibanaバージョンで使われているelasticjsライブラリが公式よりsniff機能を追加しましたので、デフォルトでは自動的にすべてのnodesを輪訓して要求を送ります.
  • 新規追加  kibana-auth 鑑権索引は通常の  kibana-int-user dashboardを区分して、新たに増加しました.  kibana-auth 索引は、各ユーザがアクセス可能なESクラスタアドレスおよびインデックス・プレフィクスを専門に記録する.要求は指定されたESクラスタにプロキシを固定し、アクセスが許可されたインデックスであることを確認する.このように、複数のユーザは、一つのkibana authサーバのウェブサイトを通じて、複数の異なるESクラスタのバックエンドにアクセスすることができる.同じESクラスタバックエンドのインデックスは、他の人にアクセスされる心配もない.
  • Authen:Simple 認証フレームはPerl認証フレームであり、十数種類の異なる認証方式をサポートしている.プロジェクトではデフォルトで一番簡単なhttpasswdファイル記録方式を採用していますが、実際に私のオンラインではLDAP方式を使っています.大丈夫です.
  • 配置
    プログラムはMojoliciousフレーム開発を採用しています.コードはもちろん、Mojoliciousには追加のCPANモジュール依存性がありません.これはPerlを知らないが、Kibana権限があります.需要をコントロールする人にとって、配置の面でのトラブルが大幅に減少しました.curl http://xrl.us/cpanm -o /usr/local/bin/cpanmchmod +x /usr/local/bin/cpanmcpanm Mojolicious Authen::Simple::Passwdコマンド3行で、プロジェクト全体のインストール要求が完了します.そしてディレクトリの下を実行します.hypnotoad script/kbnauth80ポートを通じて、この権限を持ってコントロールしているキバにアクセスできます.
    権限の割り当て
    何故なら  kibana-auth 構造は簡単で、kibanaは一般的に内部で使われていますので、まだ権限コントロールの管理ページを作っていません.直接にコマンドラインによって権利が与えられます.curl -XPOST http://127.0.0.1:9200/kibana-auth/indices/sri -d '{ "prefix":["logstash-sri","logstash-ops"], "server":"192.168.0.2:9200"}'このように、sriユーザは、192.168.0.2クラスタ上のlogstash-sriまたはlogstash-ops先頭の日付型インデックスにしかアクセスできません(つまり、後はYYY,-YYYY.MM,-YYYY.MM.ddの3つのフォーマット).
    次のステップ
    新しいプランを考えると、各ユーザーは自分のものを持っています.  kibana-int-user インデックスは、すでにオフィシャルkibanaのユーザーの大量の量を使っています.dashboardは移転コストがあります.
    開発完了後、入手しました. @偉い人 子供用の靴の自主的な試みと各種類のバグフィードバックのサポートに感謝します.このプランがもっと多くのkibanaユーザーに役立つことを願っています.
    注:私のkibana倉庫はこのkbnauth代理認証機能が追加された以外に、kibana分析統計機能にもいくつかの改善があります.これはすでに複数のパートナーの試用と好評を得ています.公式Kibana v 4バージョンが出る前に、一番いいバージョンになると思います.ダウンロードして使ってください.
    追加機能は以下を含みます.
  • .Sttsのパーセンテージ統計パネル(PercentileAggarインターフェースを利用する)
  • 仿terms的区間比パネル(Range Facetsインターフェースを利用する)
  • bettermapに補強された高徳地図サポート(leaflet providerを利用して拡張)
  • mapに補強された中国地図サポート(jvectormapファイルを利用)
  • mapを強化する  term_stats データ表示(TermStats Facetsインターフェースを利用する)
  • は、query強化要求ジェネレータ(get Mapping/get FieldMappingインターフェースとjQuery.multiSelect拡張を利用する)
  • に供給する.
  • 仿terms的statisticsterendパネル(TermStats Facetsインターフェースを利用する)
  • HIstogramを模して補強したmultiftildhistogramパネル(異なるqueryに異なるpanel settingをカスタマイズできます.例えば、あるサンプリングデータ*1000倍と他のフルデータを比較します.)
  • histogramを模したvaluehistogramパネル(histogramパネルのX軸時間タイプデータ制限を除去し、データ確率分布解析に使用できる)
  • histogramに強化されたthreshldの変色機能を利用しました.  jquery.flot.threshold 拡張)
  • 単一パネル独自のリフレッシュボタン(デバッグ時の全ページ更新のトラブルを避ける)