diff --git a/README.md b/README.md index 0a3ed74..3d21e58 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,23 @@ -Sarjitsu -======== - -Sarjitsu ingests a SAR (System Activity Reporter) binary data file of any -format and produces dynamic visualizations based on Grafana. The name is inspired from 'SAR + jistsu', -so to speak, unleashing the power of SAR data. +Table of Contents +================= + +- [Sarjitsu](#sarjitsu) +- [Installation](#installation) + - [Quick Install](#for-the-impatient) + - [Customized Installation](#for-the-ones-whove-found-inner-peace) + - [Additional Notes](#additional-note) +- [App Flow](#app-flow) + - [Architecture](#architecture) + - [Control Flow](#control-flow) +- [FAQs](#faqs) +- [Contributions](#contributions) + - [TODOs](#todos) + - [Issue Tracker](#issue-tracker) + - [License](#license) + +# Sarjitsu + +Sarjitsu ingests a SAR (System Activity Reporter) binary data file (located under `/var/log/sa/`) ..and produces dynamic visualizations based on Grafana. The name is inspired from 'SAR + jistsu', so to speak, unleashing the power of SAR data. The app is split in 5 container instances as follows: @@ -21,7 +35,7 @@ The app is split in 5 container instances as follows: Application flow is explained in detail in the section `APP FLOW` below. -## INSTALLATION +# INSTALLATION - Step 0: Make sure you have [docker](https://www.docker.com/) installed. @@ -29,12 +43,7 @@ Application flow is explained in detail in the section `APP FLOW` below. - single step setup script `$ ./setup.sh` -WARNING: This script would remove all previously running instances of sarjitsu. - -Be sure to run `# iptables -F` from the host, in case it's not accessible outside. -Otherwise check your firewall settings. - -- To stop all running container instances and cleanup sarjitsu, run `$ ./cleanup_sarjitsu` + WARNING: This script would remove all previously running instances of sarjitsu. ### For the ones who've found inner peace: @@ -74,10 +83,14 @@ Installing by customizing the modularized components, per say, having their own $ ./setup.sh ``` -TBD: Add service discovery + WARNING: This script would remove all previously running instances of sarjitsu. ### Additional Note +Be sure to run `# iptables -F` from the host, in case it's not accessible outside. Otherwise check your firewall settings. + +- To stop all running container instances and cleanup sarjitsu, run `$ ./cleanup_sarjitsu` + Below mentioned ports will be used for port mapping from container to host, and could be configured in `conf/sarjitsu.conf`. Default bindings are: ```sh @@ -107,9 +120,7 @@ Also be sure that if you have custom HOST(s) configured, they should match the f - Grafana > 2.5 and <= 3.0 (containerized version: 3.0.1-1) - Postgres == 9.5 (containerized version: 9.5 (dockerhub latest)) -TBD: an update to sarjitsu soon, for nested docs. Refer to [PR #4694 of grafana](https://github.com/grafana/grafana/pull/4694) for more. - -## APP FLOW +# APP FLOW ### Architecture @@ -131,9 +142,13 @@ Sarjitsu's frontend service segragates data into various panels, based on params Description of those parameters could be obtained in detail by running the command `$ man sar` on a linux terminal. Or you could read about them [here on the official man page for sar command](http://linux.die.net/man/1/sar) -## FAQs +# FAQs + +#### Which sysstat versions are supported? + +Files generated in RHEL 5 OS (old enough) ..upto the ones generated by the latest sysstat version. -- How is it unique compared to other existing solutions? +#### How is it unique compared to other existing solutions? What sarjitsu does, is it gives you the unique ability throw in any version of `sa binary files` from your system's `/var/log/sa/` folder, to produce visualizations @@ -148,7 +163,26 @@ Description of those parameters could be obtained in detail by running the comma It is not tied to a specific machine, but is an independent solution, as a web app. -- Is it portable/scalable ? +#### Is it portable/scalable ? Sarjitsu is scalable since it keeps the datasource, frontend and backend separately and is based on completely scalable and portable solution, i.e., Elasticsearch, Postgres, Grafana and NodeJs ..in their respective containerized environments using Docker. + +# Contributions + +### TODOs + +- Add service discovery +- An update to sarjitsu, for nested docs. Refer to [PR #4694 of grafana](https://github.com/grafana/grafana/pull/4694) for more. + +For more, refer to `docs/TODO.md` + +If you think there's a bug in sarjitsu, you're welcome to open an issue here on github and could submit PRs for the same. Any refactoring suggestions/PRs to the app are also welcome. + +### Issue Tracker + +GitHub Issues and Pull Requests managed via [Waffle.io](https://waffle.io/arcolife/sarjitsu) + +### LICENSE + +Refer to GPL v3 `LICENSE` file included in the repo, for reference. diff --git a/TODO.md b/docs/TODO.md similarity index 100% rename from TODO.md rename to docs/TODO.md