What is the difference between an alert and an incident? - pagerduty

I see both the terms "alert" and "incident" being used on PagerDuty. What are the differences? How are they related?

When PagerDuty receives a qualifying event (from a monitoring tool, for example), it triggers an alert, which in turn triggers an incident. Multiple alerts can be aggregated into a single incident for triage, which streamlines incident handoff between teams, centralizes critical information, and reduces notification fatigue. Alerts can move from one incident to another, either manually or via an automated process, such as Alert Grouping. Here is more information on it: https://support.pagerduty.com/docs/alerts

Related

How to schedule questionnaires with hapi-fhir Java API?

My question seems similar to Access and scheduling of FHIR Questionnaire resource but I have something different to get understanding
As per my understanding with fhir supports many complex data types to support scheduling events. I came across many such types including Timing, Period, Schedule, CarePlan and CarePlanActivityDetailComponent So I can manage to store my frequency settings somehow with above types but I can't understand how will actual scheduler work?
Does fhir supports to schedule events and provide event notifications based on scheduler settings (like weekly every Monday 10 AM)? If yes, is there any simple reference example where we can see usage for scheduling?
FHIR is a data exchange standard. Schedule allows you to share a particular Practitioner or Location's schedule (what time slots they have available). You can then create Appointment instances to occupy those slots. You can use Subscription to receive notifications when data changes. You can also schedule events (therapy, patient communications, medications, etc.) to occur at a particular frequency (using the ServiceRequest, CommunicationRequest and MedicationRequest resources respectively). But FHIR is not a general timing service for sending system-level events.
PS(for beginner) : Read first three comments for better understanding

Unable to setup Azure alert on resource specific events

In the past, it was possible to setup an Azure alert on a single event for a resource e.g. on data factory single RunFinished where the status is Failed*.
This appears to have been superseded by "Activity Log Alerts"
However these alerts only seem to either work on a metric threshold (e.g. number of failures in 5 minutes) or on events which are related to the general admin of the resource (e.g. has it been deployed) not on the operations of the resource.
A threshold doesn't make sense for data factory, as a data factory may only run once a day, if a failure happens and then it doesn't happen X minutes later it doesn't mean it's been resolved.
The activity event alerts, don't seem to have things like failures.
Am I missing something?
It it because this is expected to be done in OMS Log Analytics now? Or perhaps even in Event Grid later?
*n.b. it is still possible to create these alert types via ARM templates, but you can't see them in the portal anymore.
The events you're describing are part of a resource type's diagnostic logs, which are not alertable in the same way that the Activity Log is. I suggest routing the data to Log Analytics and setting the alert there: https://learn.microsoft.com/en-us/azure/data-factory/monitor-using-azure-monitor

How can I create and email an invite for two unrelated recipients to a meeting between them and allow them to control further scheduling

I have a system that matches two unrelated parties, after they engage through my system I want to enable them to schedule a meeting that will appear on their calendars.
It would be best that after the original scheduling they will be able to communicate over the event (accept, reject, reschedule etc. ) without me being the mediator (a bonus would be if I can be notified of any action they've taken).
I'm trying to achieve this creating the event using ical4j and sending it using Java Mail API 1.4.7. , but I don't mind other better options if available (even a 3rd party service).
If the relationship between the two parties is somehow asymmetric, you can make one of them the ORGANIZER (and ATTENDEE with ROLE=CHAIR) and the other one an ATTENDEE (with ROLE=REQUIRED-PARTICIPANT). You can also add yourself as ATTENDEE (with ROLE=NON-PARTICIPANT).
If the relationship is strictly symmetric, then, unfortunately, iTIP/iMIP has no way to model that. So the best you can do is to put yourself as the ORGANIZER (but then you have to manage yourself the iMIP workflow, i.e. upon receiving a REPLY from one party, you will have to resend a REQUEST to the other party, etc...).

MongoDB MMS-like alert generation

I'm curious how MMS generates alerts on all the metrics, across all the alert configuration across all the groups across all the accounts.
What I would do is query alert configs and active alerts when a ping with new data comes in, and then generate an alert based on the new data.
However, what if some of the metrics can't be determined from the current ping alone, such as page faults avg/sec. This metric is derived from previous pings.
Would there be a background worker of sorts that polls periodically for every alert config in every group in every account? Or would every new ping quickly go get the last minute/5 minute's data for that metric (perhaps only if such an alert configuration exists)?
Also, when no new pings come in, the averages should decay and fire new alerts or update existing ones.
I get the pre-aggregated metrics as shown in this blog post, and even reporting, but how does one link this with alert generation and management.
This seems to be non-trivial to solve.

good architecture for quartz based email processor

I need to write a windows service to send emails. The emails will likely be stored in a database table and they should be sent as early as convenient. It would be advantages to have multiple threads sending messages as there will be hurts at certain times of the day however it is not good to send the same message multiple times.
So I'm having a little bit of trouble understanding in this kind of scenario how I can best leverage quartz.net to alleviate some of queueing and concurrency issues. So my architecture questions are:
1. For this kind of scenario, is it best for a Job to check if there are emails to send or should a job be to actually send one email?
2. If the answer to 1) is to check for emails to be sent then that would leave me with a concurrency issue and I would need to use DisallowConcurrentExecution which would result in only 1 email being sent at a time?
3. If there answer to 1) is send a single email then I take it the job details would need to reflect the specific ID of the email to be sent?
4. In either case - two web users could trigger the creation of the same email job (concurrently). So it doesn't seem that Quartz really helps solve my problem - it might provide a nice architecture for a unit of work and controlling polling frequency but not really the core of my problem? Or am I mssing / over thinking something?
Finally, just to be clear, each email relates to a specific Order so there is ID and state potential. So because two web users can send the same email at the same instant in time should not result in two emails being sent.
Look forward to any advice.
Thanks
Josh
Quartz.Net would meet your scheduling needs.
However, you have conflicting needs. You want "more than one thread" to send the emails, but you also want "Do not want duplicate emails".
The DisallowConcurrentExecution will prevent multiple instances of the same job running at the same time. However, if you have only one instance of the job running, you don't know which individuals emails have been sent or not sent.
If you only keep "these emails have been sent, and these haven't" in memory.....you're always at risk of sending duplicates.
You can solve this, but you're gonna have to have a "pessimistic" flag on which emails have already been sent. Like at the database level.
So if you want multiple threads to send emails...that's ok. But your "get some emails to send" code is going to have to 'mark' the emails it is working on. (So the next thread doesn't get them). Then you have to mark them again right after they are sent.
Quartz is good for scheduling the "when" your jobs run. But it doesn't have the ability to "track" which emails you need to send and which ones have already been sent. That's gonna be your responsibility.
I had this similar problem....where I had many many users trying to "get at" a bunch of to-do items. Thus why I wrote this blog entry for Sql Server. I needed to "mark" the rows, but also had to order them before I marked them.
http://granadacoder.wordpress.com/2009/07/06/update-top-n-order-by-example/
I also added some "hints".......
WITH ( UPDLOCK, READPAST , ROWLOCK ) –<<Optional Hints
because so many different users were trying to "get-at" the items.
(Think about how T1cket M#ster has to work.......there has to be some pessimistic locking on the tickets....and they have a timer that releases the locks if you don't buy the tickets in time).
Hope that helps.