Skip to content
This repository

Webmachine-based administration interface for Riak.

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 include
Octocat-spinner-32 priv
Octocat-spinner-32 src
Octocat-spinner-32 templates
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 LICENSE the start of riak_control: serving rekon from regular files July 18, 2011
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.org
Octocat-spinner-32 rebar
Octocat-spinner-32 rebar.config
README.org

Travis-CI :: https://secure.travis-ci.org/basho/riak_control.png

What is Riak Control?

Riak Control is a set of webmachine resources, all accessible via the /admin/* paths, allow you to inspect your running cluster, and manipulate it in various ways.

Note on Supported Browsers

Riak Control does not currently support Internet Explorer.

How Do I Start Riak Control?

By default, Riak Control is disabled. There are a few, simple steps to get it up and running.

Modify the Node’s app.config File.

Riak Control is completely managed through the app.config file for Riak. Riak Control requires SSL for authentication purposes and therefore you will need to enable HTTPS, SSL, and riak_control.

Enable HTTPS and SSL in riak_core:

In the riak_core section of app.config, there should sections for HTTPS and SSL commented out. You will need to uncomment them back in.

WARNING: In order for your node to be accessible via HTTP and the riak_control admin panel to be available via HTTPS, you will need to change the HTTPS port to something else:

{https, [ {"127.0.0.1", 8069} ]}

You will also need to generate your own self-signed certificate (http://www.akadia.com/services/ssh_test_certificate.html) or modify the app.config to point to your own:

{ssl, [ {certfile, "./etc/cert.pem"},
        {keyfile, "./etc/key.pem"}
      ]}

SSL with Intermediate Authorities

If you are using a certificate that includes an intermediate authority, include the `cacertfile` key and value:

{ssl, [
       {certfile, "./etc/cert.pem"},
       {cacertfile, "./etc/cacert.pem"},
       {keyfile, "./etc/key.pem"}
      ]},

Enable riak_control and setup basic authentication

In the riak_control section of app.config, first you’ll need to make sure that it is enabled:

{enabled, true}

Next, you’ll need to specify the style of authentication you would like performed when accessing the admin panel. Currently the only valid authentication styles are ‘userlist’ and ‘none’.

{auth, userlist}

If you choose ‘userlist’ as your authentication method, you need to also create one. You specify a list of usernames and passwords (as plaintext) that your administrators will use to connect to the admin panel.

{userlist, [{"username", "password"}, ...]}

Finally, the Riak Control admin panel is broken up into several sections, each can be toggled on and off. Currently, the only section is the ‘admin’ section. You need to ensure that it is enabled.

{admin, true}

Start or Restart Riak

Once the above changes have been made, you can now start or restart your Riak node. You will then be able to access the admin panel by pointing your browser to it:

https://127.0.0.1:8069/admin

In the above URL, it was assumed that 8069 was used as the SSL port in your app.config file.

What Information Does Riak Control Provide?

The Riak Control admin panel is broken up into several sections.

Snapshot

This is a quick “health check” for your cluster. If Riak Control finds anything worrisome, it will let you know and provide links to pages where you can diagnose and/or fix the problem.

If a node is running Riak pre-1.1, it will be listed as incompatible in the Riak Control interface. While in this state, Riak Control will be unable to retrieve and display statistics and configuration for that node.

Cluster

This is a high-level overview of your cluster. It lists each of the nodes in the cluster and their current status, partition ownerships, and memory usage. If a node is currently offline it will be red.

If you click on a node, the details to the right should provide you with some additional actions you can perform on the node (e.g. shutdown, leave the cluster, mark as ‘down’ if offline).

Additionally, at the top of the list of nodes is a field that you can use to either add another, single node to this node’s cluster or to join this node to an existing cluster. Just type in the name of the node you wish to add/join and click “Add”.

Ring

This Ring Overview gives you a quick glimpse into all the partitions in your ring, what nodes own them, whether they are offline, handing off data, and what services are currently running on them (e.g. kv, pipe, search).

You can quickly filter the partitions and see only those you are interested in.

There will be many more features and enhancements to this section in the immediate future…

Stats

Coming soon…

This section will allow you to inspect the riak-admin status attributes for any node in your cluster.

Objects

Coming soon…

This section will allow you to add simple objects to your cluster and fetch/update existing nodes.

Map/Reduce

Coming soon…

This section will allow you to build and execute custom map/reduce queries as well as save them for use later.

Graphs

Coming soon…

This section will display live graphs that will help you to diagnose problems you may be having with your node(s) and/or cluster. It will also be pretty to just sit back and watch. ;-)

Console

Coming soon…

This section will allow you to see live updates of any of your nodes’ log files.

Support

Coming soon…

This section will easily let you file a bug/ticket with Basho. It will also bundle up any graphs, stats, and other data that will assist Basho in diagnosing and fixing the problem.

Something went wrong with that request. Please try again.