1 .. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
3 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.
4 (the "License"); you may not use this documentation except in compliance
5 with the License. You may obtain a copy of the License at
7 .. https://creativecommons.org/licenses/by/4.0/
9 .. Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
15 Monitoring & Management
16 -----------------------
18 In ONAP, DCAE is responsible of collecting, receiving, and analyzing
19 NF monitoring data. This data serves the basis for tracking the health,
20 performance, and operational status of the NF. DCAE provides a
21 number of predefined interfaces based upon accepted, open standards to support
22 monitoring data ingestion. Some of these interfaces collect data by polling or
23 pulling data from the NF using standard protocols. Other DCAE interfaces receive
24 monitoring data (such as VES events) that are pushed from the NFs.
26 A NF that produces monitoring data and uses protocols that are compatible with
27 ONAP's predefined monitoring ingestion capabilities can easily be integrated
28 with ONAP through simple configuration rather than custom development.
30 This chapter will define the expected requirements for a NF to easily integrate
31 with an instance of ONAP.
33 Monitoring and Fault Protocol Selection
34 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
36 This section provides the proper guidance on how a NF should determine the
37 protocol and data format for providing a specific types of telemetry data to
46 The VNF or PNF **MUST** report faults and alarms using either
47 :ref:`Virtual Function Event Streaming (VES) <ves_monitoring_requirements>`
48 or :ref:`SNMP <snmp_monitoring_requirements>`. (NOTE: See relevant sections
49 for more detailed requirements)
57 The VNF or PNF **MUST** report performance metrics using
58 :ref:`Virtual Function Event Streaming (VES) <ves_monitoring_requirements>`
59 or :ref:`bulk_performance_measurement`.
67 The VNF or PNF **MUST** report application logs using either
68 :ref:`Virtual Function Event Streaming (VES) <ves_monitoring_requirements>`
69 or Syslog in compliance with
70 `RFC 5424 <https://tools.ietf.org/html/rfc5424>`__ .
79 The VNF or PNF producing VES syslog events **SHOULD** restrict these
80 events to those that convey significant errors or warnings needed to support
81 the operation or troubleshooting of the VNF or PNF. It is expected the
82 volume of such events would be lower (e.g. less than 2000 per day) than
83 more detailed events produced in the course of normal operations.
90 :validation_mode: in_service
91 :introduced: casablanca
94 The VNF or PNF producing VES events **SHOULD** deliver syslog messages
95 that meet the criteria in R-209104 to the VES Event Listener using the
96 ``syslog`` VES domain.
104 The VNF or PNF **MUST** report heartbeats using
105 :ref:`Virtual Function Event Streaming (VES) <ves_monitoring_requirements>`.
111 :introduced: casablanca
114 :validation_mode: in_service
116 The VNF or PNF **MAY** leverage ONAP's High Volume VNF Event Streaming
117 (HV-VES) when there is a need to deliver large volumes of real-time
118 performance management metrics. See
119 `HV-VES Collector <https://onap-doc.readthedocs.io/projects/onap-dcaegen2/en/latest/sections/services/ves-hv/index.html>`__
120 service details for more information.
124 :target: VNF or PNF PROVIDER
128 :validation_mode: none
130 VNF or PNF Provider **MUST** have agreement with the Service Provider before
131 utilizing the HV-VES option for monitoring as this option does not fully
132 integrate with the ONAP's DCAE event processing capabilities.
138 :introduced: casablanca
139 :impacts: dcae, dmaap
140 :validation_mode: in_service
143 The VNF or PNF **MAY** leverage a bulk VNF or PNF telemetry transmission
144 mechanism in instances where other transmission
145 methods are not practical or advisable.
147 NOTE: For additional information and use cases for the Bulk Telemetry
148 Transmission Mechanism, please refer to
149 the :ref:`bulk_performance_measurement` requirements and the
150 `5G - Bulk PM ONAP Development <https://wiki.onap.org/display/DW/5G+-+Bulk+PM>`__
153 .. _snmp_monitoring_requirements:
155 SNMP Monitoring Requirements
156 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
164 If the VNF or PNF is using SNMP, then the VNF or PNF Provider **MUST**
165 provide a Management Information Base (MIB) file that uniquely identifies
166 and describes all SNMP events exposed by the network function.
174 If the VNF or PNF is using SNMP, then the VNF or PNF Provider **SHOULD**
175 provide examples of all SNMP alarms.
177 .. _ves_monitoring_requirements:
179 Virtual Function Event Streaming (VES) Client Requirements
180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
182 The VES protocol enables NFs to transmit telemetry data in a non-proprietary,
183 extensible format to ONAP using the HTTP protocol. This chapter will define
184 the requirements for a NF to deliver events to ONAP's VES event listeners in
185 a manner that conforms with the appropriate VES Event Listener specifications,
186 and ensures the NF can be configured to maximize the reliability of telemetry
190 Event Definition and Registration
191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195 :target: VNF or PNF PROVIDER
197 :introduced: casablanca
198 :validation_mode: static
202 If the VNF or PNF is using VES, then the VNF or PNF Provider **MUST** provide
203 a YAML file formatted in adherence with the
204 :ref:`VES Event Registration specification <ves_event_registration_3_2>`
205 that defines the following information for each event produced by the VNF:
210 * Any special handling to be performed for that event
214 :target: VNF or PNF PROVIDER
216 :introduced: casablanca
218 :validation_mode: static
221 A VNF or PNF Provider utilizing VES **MUST** indicate specific conditions
222 that may arise, and recommend actions that may be taken at specific
223 thresholds, or if specific conditions repeat within a specified time
224 interval, using the semantics and syntax described by the
225 :ref:`VES Event Registration specification <ves_event_registration_3_2>`.
227 **NOTE:** The Service Provider may override VNF or PNF provider Event
228 Registrations using the ONAP SDC Design Studio to finalizes Service
229 Provider engineering rules for the processing of the VNF or PNF events.
230 These changes may modify any of the following:
233 * Specified actions related to conditions
237 :target: VNF or PNF PROVIDER
239 :introduced: casablanca
240 :validation_mode: in_service
244 The VNF or PNF Provider **MAY** require that specific events, identified by
245 their ``eventName``, require that certain fields, which are optional in the
246 common event format, must be present when they are published.
248 Event Formatting and Usage
249 ~~~~~~~~~~~~~~~~~~~~~~~~~~
255 :introduced: casablanca
257 :validation_mode: in_service
260 The VES events produced by the VNF or PNF **MUST** be compliant with the
261 common event formats defined in one of the following specifications:
263 * :ref:`VES Event Listener 5.4.1<ves_event_listener_5_4_1>`
264 * :ref:`VES Event Listener 7.1.1<ves_event_listener_7_1>`
265 * :ref:`VES Event Listener 7.2<ves_event_listener_7_2>`
267 The latest version (7.2) should be preferred. Earlier versions are
268 provided for backwards compatibility.
273 :introduced: casablanca
274 :validation_mode: in_service
279 The VES events produced by the VNF or PNF **MUST** conform to the schema and
280 other formatting requirements specified in the relevant VES Event Listener
286 :introduced: casablanca
288 :validation_mode: in_service
292 A VNF or PNF producing VES events **MUST NOT** send information through
293 extensible structures if the event specification has explicitly defined
294 fields for that information.
299 :introduced: casablanca
301 :validation_mode: in_service
305 A VNF or PNF producing VES events **SHOULD** leverage camel case to
306 separate words and acronyms used as keys that will be sent through extensible
307 fields. When an acronym is used as the key, then only the first letter shall
314 :introduced: casablanca
316 :validation_mode: none
319 A VNF or PNF producing VES events **MUST** pass all information it is
320 able to collect even if the information field is identified as optional.
321 However, if the data cannot be collected, then optional fields can be
324 Configuration Requirements
325 ~~~~~~~~~~~~~~~~~~~~~~~~~~
327 This section defines the types the configuration options and defaults a NF
328 producing VES events should provide to ensure the NF can be configured properly
329 for the Service Provider's ONAP environment and ensure reliable delivery of
332 There are several methods available to provide configuration settings to a
333 network function. This document does not specify the exact manner in which
334 the configuration elements described below must be required. The
335 configuration can be provided during instantiation (e.g. preload), provided by
336 an ONAP controller action, or provided manually.
344 The VNF or PNF producing VES events **MUST** allow the configuration of
345 the attributes defined in Table 1 and utilize the provided default value
346 (where applicable) when the configuration value is not provided by the
355 A VNF or PNF producing VES events **SHOULD** use the recommended parameter
356 name for the configurable value from Table 1.
358 .. table:: **Table 1**: VES Configurable Values
360 +----------------------+-----------------------------------+----------------+-------------------------------------+
361 |Parameter | Description | Default | Parameter Name (VES 7.2+) |
362 +======================+===================================+================+=====================================+
363 |VES Listener Endpoint | FQDN or IP of the Event Listener | n/a | ves_listener_endpoint |
364 +----------------------+-----------------------------------+----------------+-------------------------------------+
365 |Heartbeat Interval | Frequency in seconds the NF must | 60 | ves_heartbeat_interval_seconds |
366 | | send a heartbeat to the event | | |
368 +----------------------+-----------------------------------+----------------+-------------------------------------+
369 |Timeout Value | Duration in seconds the NF should | 5 | ves_timeout_seconds |
370 | | wait for ACK from the event | | |
371 | | listener before timeout | | |
372 +----------------------+-----------------------------------+----------------+-------------------------------------+
373 |Measurement Interval | Window size in seconds to use for | 300 | ves_measurement_interval_seconds |
374 | | aggregated measurements | | |
375 +----------------------+-----------------------------------+----------------+-------------------------------------+
376 |HTTP Username | Required if NF supports HTTP | n/a | ves_http_username |
377 | | Basic Authentication with the | | |
378 | | VES Event Listener | | |
379 +----------------------+-----------------------------------+----------------+-------------------------------------+
380 |HTTP Password | Required if NF supports HTTP | n/a | ves_http_password |
381 | | Basic Authentication with the | | |
382 | | VES Event Listener | | |
383 +----------------------+-----------------------------------+----------------+-------------------------------------+
386 VES Listener Endpoint and DNS Resolution
387 ++++++++++++++++++++++++++++++++++++++++
389 In a high availability deployment of a VES Event Listener, a round-robin DNS or
390 dynamic DNS may be used to either load balance or provide fault tolerance of
391 the Event Listener. Adherence to the following requirements ensure the VNF or
392 PNF interacts properly with this deployment configuration.
400 The VNF or PNF **MUST** support DNS resolution of the VES Listener Endpoint
401 if a Fully Qualified Domain Name (FQDN) is provided.
409 The VNF or PNF **MUST** respect the Time To Live provided by the DNS for
410 the VES Event Listener FQDN.
412 Event Delivery Requirements
413 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
421 The VNF or PNF producing VES events **MUST** deliver VES events as it
422 becomes available or according to the configured measurement interval.
430 The VNF or PNF producing VES events **MUST** respect the configured
431 VES Timeout Value when delivering VES events, and abort any call where
432 the VES Event Listener does not successfully acknowledge the delivery of
433 event(s) within the Timeout Value. These failed transactions should be
434 buffered and retried in accordance with the
435 :ref:`ves_buffering_requirements` Requirements.
443 The VNF or PNF producing VES events **SHOULD NOT** send syslog events to the
444 VES Event Listener during debug mode, but rather store syslog events locally
445 for access or possible file transfer.
447 .. _ves_buffering_requirements:
449 Buffering and Redelivery
450 ~~~~~~~~~~~~~~~~~~~~~~~~
452 To maximize the reliable delivery of VES events when the VES Listener becomes
453 unavailable or unhealthy, the NF must adhere to these requirements.
461 A VNF or PNF producing VES events **MUST** buffer events that meet the
462 following criteria if the VES Event Listener is unreachable or the request
463 encounters a timeout.
465 * Faults with eventSeverity of ``MINOR``, ``MAJOR``, ``NORMAL``, or
467 * Syslog with syslogSev of ``Emergency``, ``Alert``, ``Critical``,
468 ``Error``, or ``Warning``
469 * All measurement events
477 A VNF or PNF producing VES events **MUST** size the event buffer
478 referenced in R-658596 such that it can buffer a minimum of 1 hours of
479 events under nominal load.
487 A VNF or PNF producing VES events **MAY** discard buffered events older
488 than a maximum retention period, not less than 1 hour, even if the event
489 was never successfully delivered to the event listener. While discarding
490 based on this retention period is supported for backwards compatibility, it
491 is recommended to retain events until the maximum buffer size is reached per
492 R-346137 as that will maximize the number of events delivered.
500 A VNF or PNF producing VES events that is buffering events per R-658596
501 **MUST** store in-scope events even when the maximum capacity of the
502 buffer (defined in R-636251) has been reached. To make room for new events
503 in this situation, hte oldest event in the buffer shall be removed
504 as necessary. (i.e. First In First Out)
512 A VNF or PNF producing VES events that is buffering events due to an
513 unavailable VES Event Listener **MUST** redeliver all buffered events
514 according to the following rules when the VNF or PNF detects the VES Event
515 Listener has become available:
517 * Deliver all previously buffered events before sending new events
518 * Deliver buffered events in the order they were received
526 The VNF or PNF producing VES events **MUST** not allow an unavailable or
527 timing out VES Event Listener to impact the performance, stability, or
528 correct execution of network function.
536 A VNF or PNF producing VES events that is buffering events due to an
537 unavailable VES Event Listener **MAY** leverage to ``publishEventBatch``
538 operation to redeliver buffered events. Please note this can only be
539 used when all buffered events belong to the same domain due to the
540 restrictions in place for the operation.
551 The VNF or PNF **MUST** encrypt any content containing Sensitive Personal
552 Information (SPI) or certain proprietary data, in addition to applying the
553 regular procedures for securing access and delivery.
563 The VNF or PNF **MUST** utilize one of the authentication methods
564 prescribed by the relevant VES Event Listener specification.
566 .. _bulk_performance_measurement:
568 Bulk Performance Measurement
569 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
575 :introduced: casablanca
576 :impacts: dcae, dmaap
579 The VNF or PNF **SHOULD** support FileReady VES event for event-driven bulk transfer
586 :introduced: casablanca
587 :impacts: dcae, dmaap
590 The VNF or PNF **SHOULD** support File transferring protocol, such as FTPES or SFTP,
591 when supporting the event-driven bulk transfer of monitoring data.
597 :introduced: casablanca
598 :impacts: dcae, dmaap
601 The VNF or PNF **SHOULD** support the data schema defined in 3GPP TS 32.435, when
602 supporting the event-driven bulk transfer of monitoring data.
609 :impacts: dcae, dmaap
611 The VNF or PNF **SHOULD** report the files in FileReady for as long as they are
612 available at VNF or PNF.
614 Note: Recommended period is at least 24 hours.
617 .. |image0| image:: ../Data_Model_For_Event_Records.png
619 .. |image1| image:: ../VES_JSON_Driven_Model.png
623 .. |image2| image:: ../Protocol_Buffers_Driven_Model.png
627 .. |image3| image:: ../Bulk_Data_Transfer_Mechv1.png