#+TITLE: Acksin STRUM
#+begin_html
<a href="https://travis-ci.org/acksin/strum"><img src="https://travis-ci.org/acksin/strum.svg?branch=master" /></a>
<a href="https://godoc.org/github.com/acksin/strum"><img src="https://godoc.org/github.com/acksin/strum?status.svg" alt="GoDoc"></a>
#+end_html
* Introduction
STRUM is a Cloud and Container aware diagnostics tool with a Machine
Learning layer that trains on your infrastructure.
* Quick Start
STRUM outputs its data in JSON to the command line. Run the following
command:
#+begin_src sh
sudo strum
#+end_src
To run the tool and view it on [[https://www.acksin.com/console/login?redirectTo=https://www.acksin.com/console/strum][STRUM Cloud]] run the following:
#+begin_src sh
ACKSIN_API_KEY=getitontheconsole sudo strum -cloud
#+end_src
* Getting Started & Documentation
All documentation is on the [[https://www.acksin.com/strum][STRUM website]].
* Developing STRUM
STRUM's command line portion is primarily written in Go whereas the
Machine Learning is written in Python. We will go over how to code for
each part.
** Primary Dependencies
One of the primary dependencies of STRUM is the [[https://github.com/acksin/procfs][ProcFS Library]] we use.
Any code that needs to read from ProcFS should go there and we will
primarily code there for things. In the future we will have similar
dependencies for SysFS. In addition to that we use the Go libraries
provided by the Cloud providers.
** Mental Models
Mental models are the various feature columns that we use to train the
AI portion of the code. They can be anything that helps debug a system
that can be done autonomously.
For example, is the CPU spiking? Is the machine swapping? That can be
a mental model.
This data is contained in the [[https://github.com/acksin/strum/tree/master/ai/mental_models][ai/mental_models]] directory.
* License
Copyright (C) 2016 Acksin <hey@acksin.com>
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
Package memory provides sanatized information about for Linux Memory - http://superuser.com/questions/521551/cat-proc-meminfo-what-do-all-those-numbers-mean - https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-meminfo.html
Package memory provides sanatized information about for Linux Memory - http://superuser.com/questions/521551/cat-proc-meminfo-what-do-all-those-numbers-mean - https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-meminfo.html