banana

Banana for Solr - A Port of Kibana

  • 所有者: lucidworks/banana
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Banana

The Banana project was forked from Kibana, and works with all kinds of time series
(and non-time series) data stored in Apache Solr. It uses Kibana's powerful dashboard
configuration capabilities, ports key panels to work with Solr, and provides significant additional capabilities,
including new panels that leverage D3.js.

The goal is to create a rich and flexible UI, enabling users to rapidly develop end-to-end applications that leverage
the power of Apache Solr. Data can be ingested into Solr through a variety of ways, including
Logstash, Flume and other connectors.

IMPORTANT

Pull the repo from the release branch for production deployment; version x.y.z will be tagged as x.y.z

develop branch is used for active development and cutting edge features.
fusion branch is used for Lucidworks Fusion release. The code base and features are the same as develop. The main difference
is in the configuration.

Banana 1.6.17

This release includes adding support for changes in Fusion 3.1 BlobStore API, which used for loading, saving, and searching dashboards. It also include the following bug fixes:

  1. Fix "to" field does not properly convert display of its text from ASCII.
  2. Fix issues with BlobStore API.
  3. Fix filter panel to display time filter in locale value, instead of UTC time.
  4. Fix error when running grunt build.

Older Release Notes

You can find all previous Release Notes on our wiki page.

Installation and Quick Start

Requirements

  • A modern web browser. The latest version of Chrome and
    Firefox have been tested to work. Safari
    also works, except for the "Export to File" feature for saving dashboards. We recommend that you use Chrome or Firefox
    while building dashboards.
  • Solr 6.x or at least 4.4+ (Solr server's endpoint must be open, or a proxy configured to allow access to it).
  • A webserver (optional).

Installation Options

Option 1: Run Banana webapp within your existing Solr instance

Solr 5+ Instructions
  1. Run Solr at least once to create the webapp directory (this step might be unnecessary for Solr 6):

     cd $SOLR_HOME/bin
     ./solr start
    
  2. Copy banana folder to $SOLR_HOME/server/solr-webapp/webapp/

     cd $SOLR_HOME/server/solr-webapp/webapp
     cp -R $BANANA_HOME/src ./banana
    

    NOTES: For production, you should run grunt build command to generate the optimized code in dist directory. And then copy the dist directory to the production web server. For example:

     cd $BANANA_HOME
     npm install
     bower install
     grunt build
     cp -R ./dist $SOLR_HOME/server/solr-webapp/webapp/banana
    
  3. Browse to http://localhost:8983/solr/banana/index.html

Solr 4 Instructions
  1. Run Solr at least once to create the webapp directories:

     cd $SOLR_HOME/example
     java -jar start.jar
    
  2. Copy banana folder to $SOLR_HOME/example/solr-webapp/webapp/

  3. Browse to http://localhost:8983/solr/banana/src/index.html

NOTES: If your Solr server/port is different from localhost:8983, edit
banana/src/config.js and banana/src/app/dashboards/default.json to enter the hostname and port that you are using.
Remember that banana runs within the client browser, so provide a fully qualified domain name (FQDN), because the
hostname and port number you provide should be resolvable from the client machines.

If you have not created the data collections and ingested data into Solr, you will see an error message saying
"Collection not found at .." You can use any connector to get data into Solr. If you want to use Logstash, please go to
the Solr Output Plug-in for Logstash Page for code, documentation and
examples.

Option 2: Complete SLK Stack

Lucidworks has packaged Solr, Logstash (with a Solr Output Plug-in), and Banana (the Solr port of Kibana), along with
example collections and dashboards in order to rapidly enable proof-of-concepts and initial development/testing.
See http://www.lucidworks.com/lucidworks-silk/.

Option 3: Building and installing from a WAR file

NOTES: This option is only applicable to Solr 5 or 4. Solr 6 has a different architecture.

  1. Pull the source code of Banana version that you want from the
    release branch in the repo;
    For example, version x.y.z will be tagged as x.y.z.

  2. Run a command line ant from within the banana directory to build the war file:

        cd $BANANA_HOME
        ant
    
  3. The war file will be called banana-<buildnumber>.war and will be located in $BANANA_HOME/build.
    Copy the war file and banana's jetty context file to Solr directories:

  • For Solr 5:

        cp $BANANA_HOME/build/banana-<buildnumber>.war $SOLR_HOME/server/webapps/banana.war
        cp $BANANA_HOME/jetty-contexts/banana-context.xml $SOLR_HOME/server/contexts/
    
  • For Solr 4:

        cp $BANANA_HOME/build/banana-<buildnumber>.war $SOLR_HOME/example/webapps/banana.war
        cp $BANANA_HOME/jetty-contexts/banana-context.xml $SOLR_HOME/example/contexts/
    
  1. Run Solr:
  • For Solr 5:

        cd $SOLR_HOME/bin/
        ./solr start
    
  • For Solr 4:

        cd $SOLR_HOME/example/
        java -jar start.jar
    
  1. Browse to http://localhost:8983/banana (or the FQDN of your Solr server).

Option 4: Run Banana webapp in a web server

Banana is an AngularJS app and can be run in any webserver that has access to Solr.
You will need to enable CORS on the Solr instances that
you query, or configure a proxy that makes requests to banana and Solr as same-origin. We typically recommend the
latter approach.

Storing Dashboards in Solr

If you want to save and load dashboards from Solr, then you need to create a collection called banana-int first. For Solr 6, here are the steps:

    cd $SOLR_HOME/bin
    ./solr create -c banana-int

For Solr 5 and 4, you have to create the banana-int collection using the configuration files provided in either
the resources/banana-int-solr-5.0 (for Solr 5) directory or the resources/banana-int-solr-4.5 directory
(for Solr 4.5). If you are using SolrCloud, you will need to upload the configuration into
ZooKeeper and then create the collection using that configuration.

The Solr server configured in config.js will serve as the default node for each dashboard; you can configure each
dashboard to point to a different Solr endpoint as long as your webserver and Solr put out the correct CORS headers.
See the README file under the resources/enable-cors directory for a guide.

Changes to your dashboards

If you created dashboards for Banana 1.0.0, you did not have a global filtering panel. In some cases, these filter
values can be implicitly set to defaults that may lead to strange search results. We recommend updating your old
dashboards by adding a filtering panel. A good way to do it visually is to put the filtering panel on its own row and
hide it when it is not needed.

FAQ

Q: How do I secure my Solr endpoint so that users do not have access to it?
A: The simplest solution is to use an Apache or
nginx reverse proxy (See for example https://groups.google.com/forum/#!topic/ajax-solr/pLtYfm83I98).

Q: Can I use banana for non-time series data?
A: Yes, from version 1.3 onwards, non-time series data are also supported.

Resources

  1. Lucidworks SILK: http://www.lucidworks.com/lucidworks-silk/
  2. Webinar on Lucidworks SILK: http://programs.lucidworks.com/SiLK-introduction_Register.html.
  3. Logstash: http://logstash.net/
  4. SILK Use Cases: https://github.com/LucidWorks/silkusecases. Provides example configuration files, schemas and
    dashboards required to build applications that use Solr and Banana.

Publishing WAR Artifacts to Maven Central

  1. Get hold of
    [maven-ant-tasks-X.X.X.jar](http://search.maven.org/#search, gav, 1, g%3A%22org.apache.maven%22%20AND%20a%3A%22maven-ant-tasks%22)
    and put it in this directory
  2. Execute ant -lib . deploy from this directory, this will sign the Maven artifacts (currently just .war) and send
    them to a Sonatype OSSRH staging repository. Details of how to set this up can be found
    here. N.B. Ensure that you have an release profile contained
    within ~/.m2/settings.xml
  3. Once you've read, and are happy with the staging repos, close it.

Support

Banana uses the dashboard configuration capabilities of Kibana (from which it is forked) and ports key panels to work
with Solr. Moreover, it provides many additional capabilities like heatmaps, range facets, panel specific filters,
global parameters, and visualization of "group-by" style queries. We are continuing to add many new panels that go well
beyond what is available in Kibana, helping users build complete applications that leverage the data stored in
Apache Solr, HDFS and a variety of sources in the enterprise.

If you have any questions, please email banana-support@lucidworks.com

Trademarks

Kibana is a trademark of Elasticsearch BV
Logstash is a trademark of Elasticsearch BV

主要指標

概覽
名稱與所有者lucidworks/banana
主編程語言JavaScript
編程語言JavaScript (語言數: 4)
平台
許可證Other
所有者活动
創建於2013-11-21 17:30:57
推送於2024-08-07 19:25:00
最后一次提交
發布數23
最新版本名稱v1.6.26 (發布於 )
第一版名稱v1.0.0 (發布於 2014-02-28 23:10:29)
用户参与
星數671
關注者數198
派生數235
提交數1.4k
已啟用問題?
問題數152
打開的問題數102
拉請求數153
打開的拉請求數7
關閉的拉請求數62
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?