🕵️ Setup scripts for spy, a monitoring and database server for dahak workflows.

Charles Reid dedd770262 Reorg: moving container directories to docker; updating readmes. 3 days ago
docker Reorg: moving container directories to docker; updating readmes. 3 days ago
dotfiles turn off spellcheck 1 week ago
netdata make it work for headless/automated installs 1 week ago
.gitignore Add working grafana and mongo express container scripts 1 week ago
LICENSE 2 legit 2 init commit 3 weeks ago
README.md Reorg: moving container directories to docker; updating readmes. 3 days ago



The dahak-spy repo contains files for setting up a node for monitoring and logging data from nodes working on dahak workflows.


dahak spy runs most of its services through Docker (some stock, some using custom Dockerfiles). It runs:

  • databases (prometheus, mongodb, mongoexpress)
  • monitoring (netdata)
  • dashboards (grafana)
  • messaging (zmq)

See docker/README.md for more info on the services that are running in containers.

Cloud Deployment

To deploy these scripts to a cloud node, use the cloud init functionality of Ubuntu and upload the cloud init script

By Hand Deployment

Installing by hand is a three-step process:

  • Install git
  • Run sudo init script
  • Run user init script

Step 1: Install Git

To install git:

apt-get update && apt-get install -y git

Now you can check out a copy of the repo:

git clone https://github.com/charlesreid1/dahak-yeti.git
cd dahak-yeti/

Step 2: Run Sudo Init Script

To run the sudo init script, which calls several other scripts, run:

# as the sudo user:

Step 3: Run User Init Script

To run the user init script, run:

# as the regular dahak user, 

# or if you are still sudo,
sudo -H -i -u dahak $PWD/sudo_init/sudo_init.sh

Using the Dotfiles

The dotfiles are installed for the regular user on the yeti node. These dotfiles make it easy to define an environment, either for all users (by changing the dotfiles in the repo) or for an individual user (using site-specific dotfiles).

The $PATH is set in .bash_profile

The prompt is set in .bash_prompt

The aliases are set in .aliases

To set your own aliases, source your own dotfiles, or otherwise insert steps into the dotfiles initialization process, use the ~/.extras file.

To set your git credentials, add the following to the ~/.extras file:

# Git credentials
# Not in the repository
# This prevents people from using incorrect github credentials
GIT_AUTHOR_NAME="<<< your name here >>>"
GIT_AUTHOR_EMAIL="<<< your email here >>>"


git config --global user.name "$GIT_AUTHOR_NAME"
git config --global user.email "$GIT_AUTHOR_EMAIL"


Netdata running on a beefy node @

dahak-yeti netdata instance

Netdata running on dahak-spy @ (spy monitors itself and other nodes):

dahak-spy netdata instance