Naar hoofdinhoud gaan
De Standalone AppSignal Agent draait standaard een StatsD-server via UDP op localhost, poort 8125. U kunt deze gebruiken om metrieken van andere onderdelen van uw infrastructuur op te nemen. Alle toegevoegde metrieken kunnen binnen AppSignal als aangepaste metrieken worden gebruikt.
Als u meerdere door AppSignal geïnstrumenteerde applicaties tegelijk op dezelfde server uitvoert, moet de configuratieoptie enable_statsd voor alle behalve één daarvan worden uitgeschakeld, of moet de configuratieoptie statsd_port worden gebruikt om elke StatsD-server op een andere poort beschikbaar te maken.

Ondersteunde metrieken

De volgende StatsD-metrieken worden momenteel ondersteund:
  • gauge
  • counter
  • timers
Andere, niet-ondersteunde metriektypen worden genegeerd.

Tagging

De StatsD-server ondersteunt de DogStatsD-uitbreiding, wat betekent dat tags voor metrieken worden ondersteund.

Voorbeeld

Het volgende voorbeeld in Ruby laat zien hoe dit werkt met de statsd-instrument gem.
require 'statsd-instrument'

StatsD.backend = StatsD::Instrument::Backends::UDPBackend.new("localhost:8125", :datadog)

# Gauge
StatsD.gauge 'gauge', 2.0
StatsD.gauge 'gauge_with_tags', 3.0, tags: ['hostname:frontend1'], sample_rate: 0.9

# Counter
10.times do
  StatsD.increment 'counter'
  StatsD.increment 'counter_with_key_value_tags', tags: ['hostname:frontend1']
  StatsD.increment 'counter_with_only_key_tags', tags: ['important']
end

# Timing
10.times do
  StatsD.measure 'timing', 2.55
  StatsD.measure 'timing_with_tags', 3.55, tags: ['hostname:frontend1']
end
Dit is slechts ter demonstratie; het is veel nuttiger om dit te gebruiken vanuit andere talen die niet direct door AppSignal worden ondersteund. U kunt dit bijvoorbeeld gebruiken om metrieken te verzamelen uit een PHP- of .NET-app. Er zijn talloze tools beschikbaar die StatsD-metrieken kunnen extraheren uit de JVM of uit verschillende databases en webservers. Wij zijn benieuwd naar welke use cases u tegenkomt, laat het ons weten!