
[[glossary]]
= Glossary
:description: View definitions for common terms used in OpenNMS {page-component-title}.

== A

ActiveMQ:: Java-based, open-source message broker supported by the Apache community (see xref:deployment:core/setup-message-broker.adoc[]).

alarms:: Indicators for problems occurring on entities that {page-component-title} monitors (see xref:operation:deep-dive/alarms/introduction.adoc[]).

https://docs.opennms.com/alec/latest/[Architecture for Learning Enabled Correlation (ALEC)]:: An OpenNMS framework that uses artificial intelligence and machine learning to provide alarm triage.
It groups related alarms so you can better manage the more complex situations that they might represent.

application perspective monitoring:: A method that uses the Minion infrastructure to monitor a service's availability from different perspectives.
It helps to identify if nodes are down for everyone, or if an outage affects only certain sites.
When a service is not responsive, an outage is generated using the perspective that detects the outage (see xref:operation:deep-dive/service-assurance/application-perspective-monitoring/introduction.adoc[]).

asset categories:: A set of configuration categories that are specific to nodes (for example, Display Category, Notification Category).

asset information:: A set of optional fields, similar to metadata, that can be associated with a node to provide additional information (for example, physical location, hardware specifications).

auto-discovered nodes:: Nodes that are automatically added to {page-component-title} through routine or one-time discovery (see xref:operation:deep-dive/provisioning/auto-discovery.adoc[]).

https://azure.microsoft.com/en-us/[Azure]:: A cloud hosting platform that allows users to host a variety of services.

== B

https://commons.apache.org/proper/commons-bsf/[Bean Scripting Framework (BSF)]:: A framework that allows scripting to be used in Java code via a set of classes.
The {page-component-title} xref:provisioning/detectors/BsfDetector.adoc[BSFDetector] runs arbitrary BSF scripts to determine the existence of a service, and the xref:service-assurance/monitors/BSFMonitor.adoc[BSFMonitor] uses scripts to determine the status of a service.

business service monitoring:: A {page-component-title} feature that lets you monitor and generate alerts for issues affecting complex business services spanning multiple nodes (see xref:operation:deep-dive/bsm/introduction.adoc[]).

== C

https://cassandra.apache.org/_/index.html[Cassandra]:: An open-source distributed/scale-out NoSQL database designed to hold large amounts of structured or unstructured data across many servers.
The optional xref:deployment:time-series-storage/newts/introduction.adoc[Newts storage strategy] requires a Cassandra instance for back-end storage.

categories:: Custom collections of entities on {page-component-title}-monitored networks.
They let you define a matrix for aggregating monitoring results (see xref:operation:deep-dive/visualizations/surveillance-view.adoc#categorize-nodes[Categorize nodes]).

CI/CD:: The practice of continuous integration (frequently merging small changes into a repository's main branch) and continuous delivery (short software development cycles with repeatable deployment processes).

https://circleci.com/[CircleCI]:: A continuous integration and delivery platform that hosts The OpenNMS Group's CI/CD environment.
It integrates with and monitors the OpenNMS GitHub repositories, and automatically launches and tests a new build when it detects a commit.

command line interface (CLI):: A program that lets you run commands for various operating system functions (for example, compiling code).

== D

daemons:: {page-component-title} sub-services that perform specific sets of tasks (see xref:reference:daemons/introduction.adoc[]).

direct-discovered nodes:: Nodes that are added to {page-component-title} manually through a requisition (see xref:operation:deep-dive/provisioning/directed-discovery.adoc[]).

https://www.discourse.org/[Discourse]:: An open-source forum platform that hosts the https://opennms.discourse.group/[OpenNMS community forums].
There, users can find knowledge base articles, support, announcements, and general discussion about all things OpenNMS.

discovery:: A process that uses ICMP to find network devices and services in your network, then automatically adds them to monitoring (see xref:operation:deep-dive/provisioning/introduction.adoc#discovery-auto[Automatic discovery]).

https://docs.docker.com/[Docker]:: An open-source container virtualization service that lets you deploy application-level services without worrying about operating system maintenance.
{page-component-title} components may optionally be deployed as Docker containers.

Dominion:: The service on a {page-component-title} instance that controls Minion operations (see xref:reference:configuration/minion-confd/minion-confd.adoc[]).

https://www.drools.org/[Drools]:: A system to manage business rules that supports the Java Rules Engine API standard.
It helps provide a more robust infrastructure for workflow and problem state management in alarmd (see xref:operation:deep-dive/alarms/introduction.adoc[]).

== E

https://www.elastic.co/elasticsearch/[Elasticsearch]:: A component of the Elastic Stack (comprised of Elasticsearch, Logstash, and Kibana).
It is a NoSQL database with an integrated search engine based on the Lucene library.
{page-component-title} persists and forwards certain data to Elasticsearch to store flow records, and warehouse events and alarm history for long-term storage of this data (see xref:operation:deep-dive/elasticsearch/introduction.adoc[]).

events:: Structured historical records of activities in {page-component-title} and the nodes, interfaces, and services it manages (see xref:operation:deep-dive/events/introduction.adoc[]).

== F

flows:: Summaries of network traffic sent by network devices (see xref:operation:deep-dive/flows/introduction.adoc[]).

foreign source:: A unique identifier for a provisioning source that is located outside of your local network.

foreign source definition:: A custom set of service detectors and provisioning policies for a foreign source (see xref:operation:deep-dive/provisioning/foreign-source.adoc[]).

== G

geolocation:: The actual physical location of a node monitored by {page-component-title}, represented by its latitude and longitude.
Nodes can be manually assigned a location, or the location can be automatically determined using the xref:reference:provisioning/adapters/geoip.adoc[GeoIP Provisioning Adapter].

https://grafana.com/[Grafana]:: An open-source analysis and visualization web application.
It connects to data sources and generates dashboards with charts, graphs, and alerts.

https://www.opennms.com/horizon/[Horizon]:: An open-source solution from The OpenNMS Group that lets you visualize and monitor everything on your local and remote networks.
The free, community-driven project includes the latest technology and features and is delivered through a rapid release cycle.

== I

https://ifttt.com/[If This Then That (IFTTT)]:: An automation and workflow service that integrates apps, devices, and services.
{page-component-title} can integrate with IFTTT to trigger actions on other services based on customized alarms (see xref:operation:deep-dive/alarms/ifttt-integration.adoc[]).

instance:: (1) A single, unique occurrence of an element, document, or running program.
(2) A data structure that is used in data collection to store tabular data as individual data points.
(3) A single implementation of {page-component-title}.

interface availability:: The percentage of time that a node interface is detected as being accessible.
{page-component-title} typically shows availability statistics for the past 24 hours; this is calculated by subtracting the amount of outage time for an interface during the given time period.

== J

Java Management Extensions (JMX):: A set of tools for managing and monitoring services, resources, and service-oriented networks.
{page-component-title} uses it to collect long-term performance data for Java applications (see xref:operation:deep-dive/admin/jmx-config-generator/introduction.adoc[]).

https://www.atlassian.com/software/jira[Jira]:: A project management platform that The OpenNMS Group uses to track software issues, feature requests, and IT requests for its projects, including {page-component-title} (see https://issues.opennms.com[OpenNMS Jira]).

JRobin:: A clone of RRDTool written in Java.
This RRD implementation was available in previous releases of {page-component-title}. It was deprecated in version 34 and removed in version 35.

== K

https://kafka.apache.org/[Kafka]:: A clusterable, open-source message broker designed for high-throughput/low-latency event streaming.
Originally developed at LinkedIn, it is now supported by the Apache community (see xref:deployment:core/setup-message-broker.adoc[]).

https://www.elastic.co/kibana/[Kibana]:: A component of the Elastic Stack (comprised of Elasticsearch, Logstash, and Kibana).
It enables visualizations for data indexed in an Elasticsearch cluster.

KSC reports:: Key SNMP customized (KSC) reports provide a way to generate prefabricated graphical views of collected data.
They let you display data from different devices and sources (SNMP, ICMP, HTTP) on one page (see xref:operation:deep-dive/visualizations/ksc-reports.adoc[]).

https://kubernetes.io/[Kubernetes]:: An open-source container orchestration system for automating software deployments, scaling, and management.
Originally designed by Google, the Cloud Native Computing Foundation now maintains it.

== M

https://www.opennms.com/meridian/[Meridian]:: A subscription-based, optimized, and stable version of the OpenNMS Horizon platform that includes only the most stable and secure Horizon features.
It is distributed via annual release with monthly security patches.

message broker:: An asynchronous service that enables communication between an application's distributed components.
When using Minions and Sentinels, a message broker is required for communication between servers.
{page-component-title} has an embedded ActiveMQ server available for smaller deployments.
You can swap the broker with a dedicated ActiveMQ, gRPC, or Kafka cluster to provide scalability and load balancing.

Minion:: A distributed component that enables {page-component-title} to monitor devices and services in locations that it normally cannot reach.
Minions communicate with these remote devices while {page-component-title} performs coordination and task delegation (see xref:development:minion/introduction.adoc[]).

monitoring location:: Also referred to as "Minion location" or "location."
Nodes assigned to a location are monitored by Minions assigned to the same location. +
This is distinct from geolocation, which is the actual physical location of a monitored entity.

== N

https://github.com/OpenNMS/nephron[Nephron]:: An OpenNMS component that enables horizontal scaling of flow processing.
It is not required for flow processing, but can improve performance for deployments with a very high volume of flow documents.

network operations center (NOC):: One or more locations where a network is monitored and controlled (see https://en.wikipedia.org/wiki/Network_operations_center[Network Operations Center]).

xref:deployment:time-series-storage/newts/introduction.adoc[New-Fangled Time Series Datastore (Newts)]:: An OpenNMS time series datastore based on Apache Cassandra.
You can use it as an alternative persistence strategy (instead or RRDtool).

node:: A device or application that sends communications over a network (for example, a server).
They can be provisioned to and monitored by {page-component-title}.
A node must include at least one IP interface, otherwise it is removed from your {page-component-title} inventory.

node availability:: The percentage of time that a node is detected as being accessible.
A node is considered "down" when its critical path is inaccessible.
{page-component-title} typically shows availability statistics for the past 24 hours; this is calculated by subtracting the amount of outage time for a node during the given time period.

northbounder:: An interface responsible for conveying details of {page-component-title}-generated alarms to a higher-level component.

notifications:: Messages delivered to a set of recipients.
{page-component-title} notifications inform you about events in their monitored networks without forcing you to sign in and look at the UI (see xref:operation:deep-dive/notifications/introduction.adoc[]).

== O

https://docs.opennms.com/grafana-plugin/latest[OpenNMS plugin for Grafana]:: A Grafana plugin for creating flexible dashboards to display and customize fault, flow, and performance data from {page-component-title}.
Previously known as Helm.

observability:: The ability to measure the internal state of a system by examining its output.
If the system's state can be estimated using only its output, it is considered "observable."

outage:: Also known as "downtime," this is a period of time that a service is unavailable or offline.
It can be caused by systems or communications failures, or planned as part of routine maintenance.

== P

passive discovery:: The process by which a `newSuspect` event is detected by provisiond and converted into a new node.
You can configure trapd and syslogd to generate this event when {page-component-title} receives messages from nodes that do not exist in the database (see xref:operation:deep-dive/provisioning/directed-discovery.adoc#requisition-new-suspect[Add nodes via newSuspect events]).

https://www.postgresql.org/[PostgreSQL]:: A commonly used open-source relational database known for its stability.
PostgreSQL scales up, but not out (see xref:deployment:core/install.adoc#setup-postgresql[Set up PostgreSQL]).

provisioning:: The process of importing node and service definitions to a {page-component-title} instance from either an external source (for example, DNS, HTTP) or via the web UI (see xref:operation:deep-dive/provisioning/introduction.adoc[]).

https://pris.opennms.eu/[PRovisioning Integration Server (PRIS)]:: An optional service that gathers node inventory information from an external source.
You can use it to generate requisition XML files for creating, updating, or removing nodes for monitoring.

== R

Relational Database Management System (RDBMS):: A common type of database that stores data in tables, with relationships between tables to structure data (for example, a PostgreSQL database).

Remote Method Invocation (RMI):: A Java API that lets one object running in a Java Virtual Machine (JVM) invoke methods on an object running in another JVM.
RMI integration lets you access a remote Horizon or Meridian instance for monitoring and management (see xref:operation:deep-dive/admin/configuration/rmi.adoc[]).

requisitions:: Sets of nodes to import into {page-component-title} for monitoring and management.
You can build requisitions iteratively and import them at a later date (see xref:operation:quick-start/inventory.adoc#requisition-create[Create a requisition]).

resource:: Any hardware or software that {page-component-title} can access.

round robin database (RRD):: A database designed for collection, visualization, and analysis of time series data.
Data is maintained as a fixed-size circular buffer that overwrites the oldest data with new data.

== S

sample:: A small set of data collected from a {page-component-title}-monitored source.

xref:deployment:sentinel/introduction.adoc[Sentinel]:: A Karaf container that provides scalability for data processing of flow data.
It also supports thresholding for streaming telemetry if you are using the xref:deployment:time-series-storage/newts/introduction.adoc[Newts time series strategy].

service availability:: The percentage of time that a service is detected as being accessible.
{page-component-title} typically shows availability statistics for the past 24 hours; this is calculated by subtracting the amount of outage time for a service during the given time period.

Simple Mail Transfer Protocol (SMTP):: An internet standard protocol.
{page-component-title} monitors SMTP availability on network nodes to ensure that email messages can be sent and received (see xref:reference:service-assurance/monitors/MailTransportMonitor.adoc[]).

Simple Network Management Protocol (SNMP):: An internet standard protocol used to collect, organize, and modify information about managed devices on an IP network (see xref:operation:quick-start/inventory.adoc#provision-snmp-configuration[Configure SNMP for provisioning]).

snaps:: Self-contained software packages that run in a sandbox and have mediated access to host systems.
The OpenNMS Appliance Service uses snaps to distribute operating system packages and Minion service updates.

SNMP Management Information Base (MIB):: A hardware or software vendor file that describes SNMP objects their products provide.
MIB files can be processed to convert the definition into data collection and event objects for {page-component-title} to work with.
Many of the major vendor MIB definitions are included out of the box.

== T

telemetry:: The process of automatically recording and transmitting data from an external source to a system in a different location for monitoring or analysis.
Telemetryd accepts data sent from nodes in one of the supported protocol formats.

time series:: A sequence of data points that occur in successive order over a period of time.

time series database (TSDB):: A database that is designed to store and serve time series data (see xref:deployment:time-series-storage/timeseries/time-series-storage.adoc[] and https://en.wikipedia.org/wiki/Time_series_database[Time Series Database]).

topology:: A description or visual representation of a network's elements (devices, services) and the relationships among them (see xref:operation:deep-dive/topology/introduction.adoc[]).

traps:: Event triggers generated by SNMP-capable devices on the network and sent to trapd (see xref:operation:deep-dive/events/sources/snmp-traps.adoc[]).

== U

unique event identifier (UEI):: A string that uniquely identifies an event's type.
UEIs must begin with `uei.` (see xref:operation:deep-dive/notifications/concepts.adoc#events-and-ueis[Events and UEIs]).
