Alarming is a core feature of the Ignition platform. Alarms are conditions that are evaluated with respect to a specific numeric datapoint. Most commonly, alarms are configured on a tag or a Transaction Group item.
Any number of alarms can be attached to a datapoint. When the alarm condition becomes true, the alarm is considered to be "active". For example, on an analog tag you might add a high-level alarm that goes active when the tag's value is over 50.0. You could add another alarm onto the same tag for a high-high-level when the value is over 75.0. On a discrete tag, you might configure an alarm to be active when the value is non-zero. Each alarm has its own name, priority, and many other settings.
When the alarm condition becomes false after it has been true, the alarm is said to have "cleared". Each alarm has a numeric deadband and time delay deadbands that can affect when alarms go active and clear to prevent frequent oscillations of an alarm between active and clear when the value is hovering near the setpoint. At some point, an operator can acknowledge an alarm, confirming that they have seen the event.
The history of alarms is stored in any configured alarm journals. These will journal all state changes to each alarm, as well as acknowledgement, to an external SQL database of your choosing.
Information about configuring alarms can be found in Alarm Properties under SQLTag configuration.