Code Monkey home page Code Monkey logo

monitoring-plugins's Introduction

monitoring-plugins

Monitoring (Nagios) plugins that Skyscrapers uses.

Requirements

  • Ruby + Ruby-dev
  • FPM
  • Ruby (for FPM)

In case of docker run it is only needed Docker.

Usage

If you want to test the build locally you can run the following commands:

apt-get install ruby-dev
gem install fpm
./scripts/build.sh

Once you are happy with the packages you want to add change the version in scripts/build.sh and push the code. The code will be automatically build and pushed by travis-ci

Usage with docker

./build-docker.sh

Test framework

For new developments tox/nosetests is setup. Test can be added to /test folder

Run the test

./build-test-docker.sh

Plugins

monitoring-plugins's People

Contributors

filip-vt avatar georgeyord avatar iuriaranda avatar jgpelaez avatar klavsklavsen avatar komorebi-e avatar mattiasgees avatar minniux avatar ringods avatar samclinckspoor avatar simonrondelez avatar thomasvdberge avatar venturel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

monitoring-plugins's Issues

Bogus dynamic session limit complaints

Hi guys,
The haproxy-stats.pl check fails - rather often - on low-traffic backends like this:
Check haproxy CRITICAL - kki-prod-engagement-service:BACKEND sessions: 300.00%;
Because the stats looks like this:
stats: kki-prod-engagement-service-BACKEND=3;0;0;0;1
ie. it has 3 connections - and limit on "backend" is set to 1.

Thing is - the "limit" no. under 'backend' specificly is actually a dynamicly calculated limit - which is NOT enforced, unless minconn is set PER backend server and fullconn is set. see http://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4-fullconn
I see no way of seeing from the stats page if fullconn is set - which means you can't automaticly figure out if the limit is at all relevant.

I COULD - make it ignore "low numbers".. like limits below 500 or something..
or add an option for giving a "list of backend names that have dynamic limits enabled" - and then only enable $slim (the name used in the script) checking on those ?

Wrong perfdata separator in check_haproxy_stats.pl

According to Nagios Docs, performance data items must be separated by whitespace. Currently the check_haproxy_stats.pl plugin uses a semicolon, which is wrong:

$perfdata .= sprintf "%s-%s=%u;%u;%u;0;%u;", $data[$pxname], $data[$svname], $data[$scur], $swarn * $data[$slim] / 100, $scrit * $data[$slim] / 100, $data[$slim];

check_haproxy_stats.pl: perfdata and graphite/carbon

hi, got this error in /var/log/graphite/console.log:

03/08/2019 23:55:24 :: Error parsing metric icinga2.lb1.services.haproxy_webfarm.haproxy-stats.perfdata.webfarm-www1=0;52428;58982;0;65536;webfarm-www2=0;52428;58982;0;65536;webfarm-www3=0;52428;58982;0;65536;webfarm-www4=0;52428;58982;0;65536;webfarm-BACKEND.max: Cannot parse path icinga2.lb1.services.haproxy_webfarm.haproxy-stats.perfdata.webfarm-www1=0;52428;58982;0;65536;webfarm-www2=0;52428;58982;0;65536;webfarm-www3=0;52428;58982;0;65536;webfarm-www4=0;52428;58982;0;65536;webfarm-BACKEND.max, invalid segment 52428

graphite expects the perfdata to be separated by spaces, like this: (just one proxy here):
Check haproxy CRITICAL - server: webfarm:www3 is MAINT; |webfarm-www1=3;52428;58982;0;65536; webfarm-www2=2;52428;58982;0;65536; webfarm-www3=0;52428;58982;0;65536; webfarm-www4=5;52428;58982;0;65536; webfarm-BACKEND=10;800;900;0;1000;

Thanks,
Gerardo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.