-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8b4cda1
commit 26c9ebe
Showing
1 changed file
with
73 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,28 +1,84 @@ | |||
# Riaknostic | # Riaknostic | ||
|
|
||
Riaknostic performs basic diagnostics on Riak nodes. | Riaknostic performs basic diagnostics on Riak nodes. See the | ||
[Riaknostic homepage](http://riaknostic.basho.com) for user-oriented | |||
information. | |||
|
|
||
## Building | ## Development | ||
|
|
||
To build Riaknostic execute the following command | Riaknostic requires a sane GNU build system and a recent version of | ||
Erlang. It has `lager` and `getopt` as dependencies, so those must be | |||
compatible with your version of Erlang. Release versions are currently | |||
built with R14B03. See the `rebar.config` file for more details. | |||
|
|
||
./rebar get-deps compile escriptize | To build Riaknostic, simply run `make`: | ||
|
|
||
This will compile and package Riaknostic into a Erlang shell script. | ```bash | ||
$ make | |||
./rebar get-deps | |||
==> riaknostic (get-deps) | |||
Pulling lager from {git,"git://github.com/basho/lager",{branch,"master"}} | |||
Cloning into lager... | |||
Pulling getopt from {git,"git://github.com/jcomellas/getopt.git","2981dfe"} | |||
Cloning into getopt... | |||
==> lager (get-deps) | |||
==> getopt (get-deps) | |||
./rebar compile | |||
==> lager (compile) | |||
Compiled src/lager_util.erl | |||
Compiled src/lager_transform.erl | |||
Compiled src/lager_sup.erl | |||
Compiled src/lager_mochiglobal.erl | |||
Compiled src/lager_stdlib.erl | |||
Compiled src/lager_handler_watcher_sup.erl | |||
Compiled src/lager_handler_watcher.erl | |||
Compiled src/lager_trunc_io.erl | |||
Compiled src/lager_crash_log.erl | |||
Compiled src/lager_file_backend.erl | |||
Compiled src/lager_app.erl | |||
Compiled src/lager.erl | |||
Compiled src/lager_console_backend.erl | |||
Compiled src/lager_format.erl | |||
Compiled src/error_logger_lager_h.erl | |||
==> getopt (compile) | |||
Compiled src/getopt.erl | |||
==> riaknostic (compile) | |||
Compiled src/riaknostic_check.erl | |||
Compiled src/riaknostic_util.erl | |||
Compiled src/riaknostic_node.erl | |||
Compiled src/riaknostic_check_ring_size.erl | |||
Compiled src/riaknostic_check_ring_membership.erl | |||
Compiled src/riaknostic_config.erl | |||
Compiled src/riaknostic_check_memory_use.erl | |||
Compiled src/riaknostic_check_nodes_connected.erl | |||
Compiled src/riaknostic_check_dumps.erl | |||
Compiled src/riaknostic.erl | |||
Compiled src/riaknostic_check_disk.erl | |||
./rebar escriptize | |||
==> lager (escriptize) | |||
==> getopt (escriptize) | |||
==> riaknostic (escriptize) | |||
``` | |||
|
|
||
## Usage | Now you can invoke the script manually via the below command: | ||
|
|
||
riaknostic [-h] [-l] [-dir <riak directory>] [-bitcask_threshold <int> [-bitcask_threshold_type <type>]] [<module,...>] | ```bash | ||
$ ./riaknostic --etc ~/code/riak/rel/riak/etc --base ~/code/riak/rel/riak --user `whoami` [other options] | |||
``` | |||
|
|
||
-h Show the program options | To generate the edoc reference, use `make docs` and then open the | ||
-l List available riaknostic modules | `doc/index.html` file in your browser. Detailed discussion of the | ||
-dir Specify the location of riak | internal APIs that you can use in developing new diagnostics is found | ||
-bitcask_threshold The size in bytes to be considered a large value | in the edocs. | ||
-bitcask_threshold_type Check blob_size, sibling_count, or vclock_length | |||
module A diagnostic. By default, all riaknostics are run | |||
|
|
||
## TODO | ## Contributing | ||
|
|
||
- Control over output verbosity | 1. Fork the project on [Github](https://github.com/basho/riaknostic). | ||
- More riaknostics | 2. Make your changes or additions on a "topic" branch, test and | ||
- Siblings check | document them. If you are making a new diagnostic, make sure you | ||
give some module-level information about the checks it | |||
performs. *Note*: diagnostics _should not_ make modifications to | |||
Riak, only inspect things. | |||
3. Push to your fork and send a pull-request. | |||
4. A Basho Developer Advocate or Engineer will review your | |||
pull-request and get back to you. |