All Projects → root-gg → wigo

root-gg / wigo

Licence: other
Wigo, aka "What Is Going On" is a light pull/push monitoring tool written in Golang.

Programming Languages

javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
perl
6916 projects
HTML
75241 projects
shell
77523 projects
CSS
56736 projects

Projects that are alternatives of or similar to wigo

assimilation-official
This is the official main repository for the Assimilation project
Stars: ✭ 47 (+42.42%)
Mutual labels:  monitoring-server, monitoring-tool
Monitoror
Unified monitoring wallboard — Light, ergonomic and reliable monitoring for anything.
Stars: ✭ 3,400 (+10203.03%)
Mutual labels:  monitoring-server, monitoring-tool
Peanuts
Peanuts is a free and open source wifi tracking tool. Based on the SensePosts Snoopy-NG project that is now closed.
Stars: ✭ 34 (+3.03%)
Mutual labels:  probe
lifx-http-api
💡 Thin wrapper around the Lifx HTTP API (http://api.developer.lifx.com/)
Stars: ✭ 17 (-48.48%)
Mutual labels:  light
Adafruit TSL2591 Library
This is an Arduino library for the TSL2591 digital luminosity (light) sensors.
Stars: ✭ 46 (+39.39%)
Mutual labels:  light
smtpdane
SMTP DANE testing tool
Stars: ✭ 15 (-54.55%)
Mutual labels:  probe
vim-humanoid-colorscheme
Light and dark theme for vim with bright colors
Stars: ✭ 67 (+103.03%)
Mutual labels:  light
minimal-theme
Minimal theme for Emacs 24
Stars: ✭ 75 (+127.27%)
Mutual labels:  light
github-theme-for-jetbrains
GitHub Theme for Jetbrains is heavily inspired by GitHub 3 Color Scheme and github-vscode-theme.The focus of the development of this theme plugin is to restore the official GitHub theme as much as possible, keeping the colors easy to distinguish, proper contrast, and pleasant.
Stars: ✭ 20 (-39.39%)
Mutual labels:  light
thewhite
✒️ It's a minimal and light wordpress blog theme 🎨
Stars: ✭ 87 (+163.64%)
Mutual labels:  light
GodlyTorch
[NOT MAINTAINED] An app that can control the intensity of the torch of your rooted android device.
Stars: ✭ 16 (-51.52%)
Mutual labels:  light
awesome-ha-blueprints
A curated collection of automation blueprints for Home Assistant.
Stars: ✭ 258 (+681.82%)
Mutual labels:  light
treblle-laravel
The offical Treblle package for Laravel
Stars: ✭ 43 (+30.3%)
Mutual labels:  monitoring-tool
aws-clustered-video-streams
A clustered video stream is an AWS architecture that increases the quality and reliability of live events by providing seamless regional failover capabilities for live video steams. Operators can monitor the status of the clustered stream from a single pane of glass and dynamically control from which region the stream consumed by a player origin…
Stars: ✭ 35 (+6.06%)
Mutual labels:  monitoring-tool
baruch
A mobile app where you can read and download light novels.
Stars: ✭ 68 (+106.06%)
Mutual labels:  light
Lumos
😴 Smart Lighting for Better Sleep
Stars: ✭ 98 (+196.97%)
Mutual labels:  light
poimandres-terminal
A collection of iTerm/Windows Terminal color profiles inspired by the Poimandres VSCode themes
Stars: ✭ 40 (+21.21%)
Mutual labels:  light
aws-lambda-http-check
Lambda function to check http endpoint wrapped in serverless project
Stars: ✭ 30 (-9.09%)
Mutual labels:  monitoring-tool
openrgb ha
OpenRGB integration for Home Assistant
Stars: ✭ 40 (+21.21%)
Mutual labels:  light
rclshark
Tool for ROS 2 IP Discovery + System Monitoring
Stars: ✭ 32 (-3.03%)
Mutual labels:  monitoring-tool

Wigo

Wigo, aka "What Is Going On" is a light pull/push monitoring tool written in Golang.

Main features

  • Write probes in any language you want
  • Notifications when a probe status change (http,email)
  • Proxy mode for hosts behind NAT/Gateways
  • Graphing probes metrics to OpenTSDB instances

Install Wigo Monitoring from Chrome Web Store

Screenshots:

Web UI Main view:

Main view

Web UI Group view:

Group view

Web UI Host view:

Host view

Installation

Warning : Breaking change since version 0.73.19 : A change in the wigo push protocol can cause crashes if your wigo push server version is < 0.73.22. You should update both wigo push clients and server to (at least) 0.73.22.

Debian :

Deb packages are available for Debian 9, 10 and 11

apt-get install lsb-release
wget -O- http://deb.carsso.com/deb.carsso.com.key | apt-key add -
echo "deb http://deb.carsso.com $(lsb_release --codename --short) main" > /etc/apt/sources.list.d/deb.carsso.com.list
apt-get update
apt-get install wigo

Debian 7 & 8 packages are not available anymore, it's time to upgrade :)

Centos :

Centos packages are not available anymore, but you can build them by yourself

Configuration / Setup

  • Wigo configuration is in /etc/wigo/wigo.conf
  • Probes configurations are in /etc/wigo/conf.d/
PULL

The master fetch remote clients over the http api. Communications should be secured using firewall rules, TLS and http basic authentication.

PUSH

Clients send their data to a remote master over a persistent tcp connection. Communications should be secured using firewall rules and TLS.

TLS

Wigo needs a key pair to enable HTTPS api. You can generate a self signed key pair by running this command:

/usr/local/wigo/bin/generate_cert -ca=false -duration=87600h0m0s -host "hostnames,ips,..." --rsa-bits=4096

Wigo needs a CA key pair to secure PUSH communications. You can generate a CA self signed key pair by running this command on the push server :

/usr/local/wigo/bin/generate_cert -ca=true -duration=87600h0m0s -host "hostnames,ips,..." --rsa-bits=4096
Default probes

The directory name is the interval of check in seconds

/usr/local/wigo/probes
├── 120
├── 300
│   ├── apt-security -> ../../probes-examples/apt-security
│   └── smart -> ../../probes-examples/smart
└── 60
    ├── check_mdadm -> ../../probes-examples/check_mdadm
    ├── check_processes
    ├── hardware_disks -> ../../probes-examples/hardware_disks
    ├── hardware_load_average -> ../../probes-examples/hardware_load_average
    ├── hardware_memory -> ../../probes-examples/hardware_memory
    ├── ifstat -> ../../probes-examples/ifstat
    └── supervisord

Building from sources

Environment

To build from sources, you need golang and gcc installed. The $GOPATH environment variable should also be set on your system.

Dependencies
make deps
Building for your system
make clean release
Building for all supported archs (amd64 & armhf)

You will need arm-linux-gnueabihf-gcc

make clean releases
Build debian packages

You will need reprepro

make debs
Build rpm packages

You will need rpm-building tools

cd build/rpm/
./makePackege.sh

Usage

Wigo web interface

http://[your-ip]:4000/ (by default)

Wigo CLI
# wigocli
Wigo v0.51.5 running on backbone.root.gg 
Local Status    : 100
Global Status   : 250

Remote Wigos : 

    1.2.3.4:4000 ( ns2 ) - Wigo v0.51.5: 
        apt-security              : 100  No security packages availables
        hardware_disks            : 250  Highest occupation percentage is 93% in partition /dev/md0
        hardware_load_average     : 100  0.09 0.04 0.05
        hardware_memory           : 100  Current memory usage is 19.32%
        ifstat                    : 100  tap0 0.00/0.01 mbps , eth1 0.00/0.00 mbps , eth0 0.01/0.01 mbps , 
        smart                     : 100  /dev/sdc : PASSED /dev/sdb : PASSED 
Write your own probes !

Probes are binaries, written in any language you want, that output a json string with at least Status param :

$ ./hardware_load_average
{
   "Detail" : "",
   "Version" : "0.11",
   "Message" : "0.38 0.26 0.24",
   "Status" : 100,
   "Metrics" : [
      {
         "Value" : 0.38,
         "Tags" : {
            "load" : "load5"
         }
      },
      {
         "Value" : 0.26,
         "Tags" : {
            "load" : "load10"
         }
      },
      {
         "Value" : 0.24,
         "Tags" : {
            "load" : "load15"
         }
      }
   ]
}
Status codes :
    100         OK
    101 to 199  INFO
    200 to 299  WARN
    300 to 499  CRIT
    500+        ERROR
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].