Git Product home page Git Product logo

haproxy-check's People

Contributors

echlebek avatar thoward avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

haproxy-check's Issues

Initial Implementation

Overview

This Sensu plugin will perform on-demand monitoring of HAProxy instances. It will collect metrics in Prometheus format, emitting them on STDOUT. Additionally, it may perform analysis to determine the health of those instances, the results of which will be presented as one or more exit status levels.

References

Prior Art:

Misc Docs:

Configuration

Required

  • --url the url to the status endpoint, eg. http://<hostname>:<port>/<status_path> (default: "unix:///run/haproxy/admin.sock")

Optional Backends

  • --backends comma-separated list of backends to fetch stats from. If not specified, all HAProxy backends will be included.

Optional Basic Auth Credentials (will be used if specified)

  • --admin-user admin username for basic auth
  • --admin-pass admin password for basic auth

Optional TLS Config (will be used if tls=custom parameter specified in server uri)

  • --tls-ca: Path the the ca.pem file.
  • --tls-cert: Path to the cert.pem file.
  • --tls-key: Path to the key.pem file.
  • --insecure-skip-verify: If true, use TLS but skip chain & host verification (default: false)

NOTE: Datadog has an extensive range of options, which we might want to analyze for beyond-MVP support.

Configuration Logic & Validation

The provided URL must be validated. If supplied, the TLS options must be validated.

Metrics

All metrics should be output in Prometheus format.

MVP to light up the Sumo Logic Dashboards:

Metrics:

  • haproxy_active_servers
  • haproxy_backup_servers
  • haproxy_bin
  • haproxy_bout
  • haproxy_chkfail
  • haproxy_ctime
  • haproxy_dreq
  • haproxy_dresp
  • haproxy_econ
  • haproxy_ereq
  • haproxy_eresp
  • haproxy_http_response_1xx
  • haproxy_http_response_2xx
  • haproxy_http_response_3xx
  • haproxy_http_response_4xx
  • haproxy_http_response_5xx
  • haproxy_http_response_other
  • haproxy_qcur
  • haproxy_qmax
  • haproxy_qtime
  • haproxy_rate
  • haproxy_rtime
  • haproxy_scur
  • haproxy_slim
  • haproxy_smax
  • haproxy_ttime
  • haproxy_weight
  • haproxy_wredis
  • haproxy_wretr

Tags:

  • proxy_cluster
  • host
  • type: proxy session type. one of frontend, backend, or server
  • proxy_system
  • component
  • proxy
  • sv: service name

NOTE: These are the tags/metrics that are seen within the Sumo Logic dashboards, which seem to be based on the Telegraf output. Probably the best place to start looking for details.

For parity w/ Datadog, here's the list of metrics they produce (also available in CSV format).

This metric name map might be useful: https://github.com/DataDog/integrations-core/blob/master/haproxy/datadog_checks/haproxy/metrics.py

Out of scope (for MVP):

  • Compatibility and coordination w/ Sardina Systems check
  • Implementing legacy check threshold logic. Can be handled by upcoming built-in threshold system.

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.