Project

General

Profile

Actions

Feature #18675

closed

Add telemetry to Foreman core

Added by Lukas Zapletal about 7 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Category:
Rails
Target version:

Description

Rails provides many instrumentation points which can be very easily hooked and exported to statsd and then to graph solutions or monitoring. Protocol statsd is very simple, UDP based and provides decent integration options. This change will be unintrusive, telemetry will be opt-in and it will be always disabled for test environment. It will also work without any external service sending the telemetry data into Rails logger if needed.

This initial implementation provides Rails controller processing times for individual controllers and actions (view, db, total times in ms). In addition, it provides number of success/failed login attempts, ActiveRecord instantianed classes, Foreman templates rendering time and ActionMailer sent mail counts.

The only dependency introduced is pure-Ruby library "statsd-instrument" that provides client library for statsd daemon. The idea is to run this daemon on localhost aggregating the data and/or sending to RRD or other monitoring solutions.


Related issues 4 (1 open3 closed)

Related to Installer - Feature #23101: Expose telemetry parameters in settings.yamlClosedMarek Hulán04/03/2018Actions
Related to Discovery - Feature #22472: Add telemetry to discovery pluginReady For TestingLukas ZapletalActions
Related to Foreman - Bug #22764: Telemetry errors out with undefined method `[]' for nil:NilClass on Rails code reloadClosedLukas Zapletal03/05/2018Actions
Related to Foreman - Feature #22796: Add fact importing telemetryClosedLukas Zapletal03/06/2018Actions
Actions

Also available in: Atom PDF