vanstee / riak_control

Webmachine-based administration interface for Riak.

Home Page:https://github.com/basho/riak_control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 Management

The Cluster Management page gives you the ability to add the node running Riak Control to an existing cluster, or to join standalone nodes into the current cluster. Cluster Management also provides an overview of claim, and the current cluster configuration, allowing you to stage changes to the existing cluster and commit the staged plan once confirming the staged cluster.

Node Management

The Node Management page gives you an overview of how much memory your nodes are using, what percentage of the ring they claim ownership of, and the ability to mark a failed node as down, or stop an individual node.

Ring Overview

The 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.

About

Webmachine-based administration interface for Riak.

https://github.com/basho/riak_control

License:Apache License 2.0


Languages

Language:JavaScript 87.2%Language:Erlang 6.5%Language:CSS 6.4%