PagerDuty incidents from .NET, Node.js and Python errors
Every new error of your application opens an incident in PagerDuty through an Events API v2 integration of your own service, with the stack trace in the details: the first occurrence triggers the alert, and repeats of the same error join that incident instead of paging again. PagerDuty comes with the Business plan.
Business plan · your own PagerDuty service · your events are never stored
What arrives
An alert whose summary is the project, the level and the exception's message, with the host as its source and the severity by level: Critical is critical, Error is error, Warning is warning, the rest is info. The custom details carry where it happened, the environment, version and time, the event's properties and the stack trace.
- Every error has its own deduplication key, so repeats of the same error join the open incident: a crash loop is one incident, not a page a minute.
- The count of repeats goes to that same incident at the same moments as the live count elsewhere: 10 minutes after the first alert, then after 30 minutes, an hour, and every 6 hours.
- You resolve the incident in PagerDuty. When the error was quiet for a window and comes back, it opens a new incident.
- Errors that waited while PagerDuty asked to slow down arrive as separate alerts, one per error.
What you need
An Events API v2 integration of your service
In PagerDuty: Services → your service → Integrations → Add integration → Events API V2. PagerDuty gives you a 32-character integration key; that key is the only thing BugsRadar needs. The service's escalation policy decides who gets paged.
One key, one service
A key opens incidents on the service it belongs to. Another service is another key and another BugsRadar channel. With rules you can send only Critical errors to PagerDuty and everything else to a chat.
Checked, encrypted, masked
BugsRadar checks the key's format before saving, stores it encrypted and shows only a mask afterwards. Send test triggers a test alert and resolves it at once, so nobody is paged.
The steps, in order: Set up PagerDuty.
From any platform
The channel is chosen in the web app, not in the code: the same package, the same call, whatever the service.
- .NET - one NuGet package:
ILogger, Serilog, NLog, log4net and direct calls, for ASP.NET Core, worker services, console apps and .NET Framework. - Node.js - one npm package: uncaught errors, Express, winston, pino and direct calls, with TypeScript types.
- Python - one package from PyPI: the logging module, loguru, uncaught exceptions, Django, Flask and FastAPI.
- Scripts, cron jobs and pipelines - one HTTP request from Bash, PowerShell or any language, with ready-made guides for cron, systemd, SQL Server Agent, backups and CI/CD.
When something changes
The service stays yours; BugsRadar only tells you when it stops working.
- Integration deleted or the key refused? BugsRadar turns the channel off, marks it Turned off by BugsRadar with the last error, and the project's page shows it. Fix the cause and press Check again.
- Another service? Credentials can't be edited: add a new PagerDuty channel with the new key and delete the old one.
- PagerDuty asks to slow down? Delivery pauses and resumes on its own.
Questions developers ask
Will a crash loop page me every minute?
No. Repeats of the same error carry the same deduplication key, so they join the incident that is already open. A new incident opens only after the error was quiet for a window and came back.
Does BugsRadar resolve incidents?
No. BugsRadar only triggers alerts and adds the counts of repeats; you resolve incidents in PagerDuty. The one exception is the test alert from Send test, which resolves itself.
Can I page only on Critical errors?
Yes. Put a rule on the PagerDuty channel of the project with the level Critical, and let the rest go to Slack or Telegram. The severity of every alert follows the level of the error.
Can several projects share one channel?
Yes. One channel can serve several projects, and a project can have several channels; with rules each channel gets only the errors that fit its filter.
Does BugsRadar store my errors?
No. An event stays in memory only until it is delivered to your channels; nothing is written to a database. BugsRadar keeps only what it needs to run: your email, your projects and the encrypted settings of your channels.
Connect PagerDuty in a few minutes
Sign in with your email, upgrade to Business, create a project, paste the integration key.
All channels →