AppSignal configureren
Eerst moet u uw AppSignal-integratie of standalone agent configureren om metrics van NGINX te ontvangen. Als u uw AppSignal-integratie configureert met omgevingsvariabelen, moet uAPPSIGNAL_ENABLE_NGINX_METRICS op true instellen.
Als u uw AppSignal-integratie configureert met configuratiebestanden, of u gebruikt de standalone agent, kunt u de relevante onderstaande instructies volgen over hoe u NGINX-metrics inschakelt voor uw applicatie:
Ruby
Voegenable_nginx_metrics: true toe aan de gewenste omgeving in het bestand config/appsignal.yml van uw applicatie, bijvoorbeeld de productie-omgeving:
Elixir
Voegenable_nginx_metrics: true toe aan uw AppSignal-configuratieblok, meestal te vinden in config/config.exs:
Node.js
VoegenableNginxMetrics: true toe aan uw appsignal.cjs-bestand:
Standalone agent
Voegenable_nginx_metrics = true toe aan uw configuratiebestand /etc/appsignal-agent.conf:
NGINX configureren
De volgende stap is het configureren van uw NGINX-server om metrics naar AppSignal te sturen. In de meeste Linux-distributies bevat de standaard NGINX-configuratie configuratiebestanden uit een configuratiemap, vaak te vinden in/etc/nginx/conf.d. Sla de volgende configuratie op in die map als appsignal-metrics.conf:
Vervang
127.0.0.1:27649 door de host en poort waar uw AppSignal-integratie of stand-alone agent naar NGINX-metrics luistert.http-blok van uw nginx.conf-bestand:
server- of location-blok een access_log-directive bevat, metrics voor verzoeken aan die server of locatie niet aan AppSignal worden gerapporteerd. Om metrics aan AppSignal te rapporteren voor die verzoeken, moet u de volgende regel binnen het blok toevoegen:
Shell
Vervang
127.0.0.1:27649 door de host en poort waar uw AppSignal-integratie of stand-alone agent naar NGINX-metrics luistert.access_log-directive binnen het blok zal blijven werken zoals voorheen.
Request-groepen configureren
Door de waarde van de variabele$appsignal_group binnen een location- of server-blok in uw NGINX-configuratie te wijzigen, kunt u onderscheid maken tussen verschillende soorten verzoeken die door uw NGINX-server worden verwerkt:
Metrics uitschakelen
U kunt de directiveaccess_log off gebruiken om alle access logs binnen een location- of server-blok uit te schakelen. Let op dat dit alle geconfigureerde access logs uitschakelt, niet alleen die als metrics naar AppSignal worden verzonden.
Om alleen metrics te rapporteren vanuit specifieke location- of server-blokken, verwijdert u de volgende regel uit het appsignal-metrics.conf-bestand en voegt u deze alleen toe binnen de specifieke location- of server-blokken waarvan u metrics aan AppSignal wilt rapporteren:
Vervang
127.0.0.1:27649 door de host en poort waar uw AppSignal-integratie of stand-alone agent naar NGINX-metrics luistert.access_log-directives in het omliggende server- of http-blok. Om die access logs opnieuw in te schakelen, herhaalt u hun corresponderende access_log-directive binnen het location- of server-blok waaraan u de bovenstaande regel heeft toegevoegd:
Magic dashboard

- Request time: de tijd die uw NGINX-server nodig heeft om op een verzoek te reageren, als per-minuut-gemiddelde en 95e percentiel.
- Throughput: een telling van de verzoeken die door uw NGINX-server worden verwerkt.
- Request length: de lengte in bytes van het verzoek dat uw NGINX-server van de client heeft ontvangen, als per-minuut-gemiddelde en 95e percentiel.
- Response length: de lengte in bytes van de response die door uw NGINX-server naar de client is verzonden, als per-minuut-gemiddelde en 95e percentiel.
- Status codes: een telling van de statuscodes van de responses die door uw NGINX-server zijn verzonden.
- Connections: een gauge van de connections die momenteel door uw NGINX-server worden verwerkt, eenmaal per minuut gemeten en gesegmenteerd op de status van de connection.
- Upstream status codes: een telling van de statuscodes van de responses verzonden door de upstream-servers waarvan uw NGINX-server proxiet.
- Upstream response time: de tijd die nodig is om op een verzoek te reageren door de upstream-servers waarvan uw NGINX-server proxiet, als per-minuut-gemiddelde en 95e percentiel.
- Upstream cache status: de status van de cache (zoals
HITofMISS) bij het verwerken van een gecached verzoek dat is geproxied van een upstream-server.
Metrics
De volgende metrics worden vanuit uw NGINX-server naar AppSignal verzonden:nginx_status: Een counter die voor elk door uw NGINX-server verwerkt verzoek wordt opgehoogd. Getagd op:status: De statuscode van de response.group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.
nginx_request_time: Een distribution van de tijd die nodig is om op elk verzoek te reageren. Getagd op:group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.
nginx_request_length: Een distribution van de bytes ontvangen in het verzoek van de client, voor elk verzoek. Getagd op:group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.
nginx_bytes_sent: Een distribution van de bytes verzonden in de response naar de client, voor elk verzoek. Getagd op:group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.
proxy_pass, zijn ook de volgende metrics aanwezig:
nginx_upstream_time: Een distribution van de tijd die nodig was om met de upstream-server te communiceren. Getagd op:group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.upstream: De upstream-server waarnaar het verzoek werd geproxied.measurement: De specifieke gemeten tijd:connect: De tijd die nodig was om de connection tot stand te brengen.header: De tijd die nodig was om de response-header te verzenden.response: De tijd die nodig was om de volledige response te verzenden.
nginx_upstream_status: Een counter die voor elk naar een upstream geproxied verzoek wordt opgehoogd. Getagd op:status: De statuscode van de response.group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.upstream: De upstream-server waarnaar het verzoek werd geproxied.
proxy_cache, is ook de volgende metric aanwezig:
nginx_upstream_cache_status: Een counter die voor elk naar een upstream geproxied verzoek met caching ingeschakeld wordt opgehoogd. Getagd op:status: De cache-status voor het verzoek.group: De request-groep, zoals geconfigureerd in uw NGINX-server.hostname: De hostname van de server die het verzoek heeft verwerkt.
ngx_http_stub_status_module ingeschakeld (zoals door de meeste Linux-distributies wordt aangeboden), is ook de volgende metric aanwezig:
nginx_connections: Het aantal connections dat uw NGINX-server momenteel verwerkt. Getagd op:hostname: De hostname van de server die het verzoek heeft verwerkt.measurement: Het specifieke aantal gemeten connections:active: Het aantal actieve connections.reading: Het aantal connections waar het verzoek wordt gelezen.writing: Het aantal connections waar de response wordt geschreven.waiting: Het aantal idle connections.