.. include:: vars.rst .. _section-cloud-discovery-service-monitoring: ********** Monitoring ********** This section provides documentation on |CDS| remote monitoring. .. Note:: |CDS| monitoring is based on the *Monitoring Distribution Platform* described in :ref:`section-Common-Mon`. We recommend that you read :ref:`section-Common-Mon` before using |CDS| monitoring. .. _section-cloud-discovery-service-monitoring-overview: Overview ========= .. _section-cloud-discovery-service-monitoring-enabling: Enabling Service Monitoring ---------------------------- By default, monitoring is disabled in |CDS|. To enable monitoring you can use the ```` tag (see :ref:`section-config-monitoring-tag`) or the ``-remoteMonitoringDomainId`` command-line parameter, which enables remote monitoring and sets the domain ID for data publication (see :ref:`section-cloud-discovery-service-command-line-parameters`). .. _section-cloud-discovery-service-monitoring-types: Monitoring Types ----------------- The available *Keyed Resource* classes and their types that can be present in the distribution monitoring topics are listed in :numref:`TableCDSKeyedResources`. The complete type relationship is shown in :numref:`FigureCDSMonitoringTypes`. .. list-table:: |CDS| *Keyed Resources* :name: TableCDSKeyedResources :widths: 25 25 25 25 :header-rows: 1 :class: longtable * - Keyed Resource Class - Config - Event - Periodic * - :ref:`Service ` - ``ServiceConfig`` - ``ServiceEvent`` - ``ServicePeriodic`` * - :ref:`Forwarder ` - ``ForwarderConfig`` - ``ForwarderEvent`` - ``ForwarderPeriodic`` * - :ref:`Sender ` - ``SenderConfig`` - ``SenderEvent`` - ``SenderPeriodic`` * - :ref:`Receiver ` - ``ReceiverConfig`` - ``ReceiverEvent`` - ``ReceiverPeriodic`` * - :ref:`Database ` - ``DatabaseConfig`` - ``DatabaseEvent`` - ``DatabasePeriodic`` .. figure:: static/CdsMonitoringTypes.svg :figwidth: 100% :name: FigureCDSMonitoringTypes :align: center Keyed Resource Types for |CDS| monitoring All the type definitions for |CDS| monitoring information are in ``[NDDSHOME]/resource/idl/ServiceCommon.idl`` and ``[NDDSHOME]/resource/idl/CdsMonitoring.idl``. |CDS| creates a |DW| for each distribution |TOPIC|. All |DWs| are created from a single |PUB|, which is created from a dedicated |DP|. See :ref:`section-cloud-discovery-service-tag` for details on configuring the QoS for these entities. .. _section-cloud-discovery-service-monitoring-metrics: Monitoring Metrics Reference ============================= This section provides a reference to all the monitoring metrics |CDS| distributes, organized by service resource class. .. _section-cloud-discovery-service-metrics-service: Service -------- .. literalinclude:: ../resource/idl/CdsMonitoring.idl :caption: |CDS| Types :start-after: /* Service :end-before: /* --- Top-level .. list-table:: ``ServiceConfig`` :name: TableCDSServiceConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. * - ``application_name`` - Name of the |CDS| instance. The application name is provided through: - ``appName`` command-line option when run as executable. - ``ServiceProperty::service_name`` field when run as a library. * - ``application_guid`` - GUID of the |CDS| instance. Unique across all service instances. * - ``host`` - See :numref:`TableCommonHostConfig`. * - ``process`` - See :numref:`TableCommonProcessConfig`. .... .. list-table:: ``ServiceEvent`` :name: TableCDSServiceEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``ServicePeriodic`` :name: TableCDSServicePeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - ``host`` - See :numref:`TableCommonHostPeriodic`. * - ``process`` - See :numref:`TableCommonProcessPeriodic`. .. _section-cloud-discovery-service-metrics-forwarder: Forwarder ---------- .. literalinclude:: ../resource/idl/CdsMonitoring.idl :caption: Forwarder Types :start-after: /* Forwarder :end-before: /* Service .. list-table:: ``ForwarderConfig`` :name: TableCDSForwarderConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. .... .. list-table:: ``ForwarderEvent`` :name: TableCDSForwarderEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``ForwarderPeriodic`` :name: TableCDSForwarderPeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - ``new_participant_announcements`` - Provides network performance metrics as an aggregation of the same metrics across the contained *Sender* and *Receiver*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``repeat_participant_announcements`` - Provides network performance metrics as an aggregation of the same metrics across the contained *Sender* and *Receiver*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``change_participant_announcements`` - Provides network performance metrics as an aggregation of the same metrics across the contained *Sender* and *Receiver*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``thread_pool`` - Sequence of ``ThreadPeriodic`` objects, one for each thread of the *Forwarder*'s thread pool. See :numref:`TableThreadPeriodic`. .. _section-cloud-discovery-service-metrics-sender: Sender ------- .. literalinclude:: ../resource/idl/CdsMonitoring.idl :caption: Sender Types :start-after: /* Sender :end-before: /* Forwarder .. list-table:: ``SenderConfig`` :name: TableCDSSenderConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. .... .. list-table:: ``SenderEvent`` :name: TableCDSSenderEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``SenderPeriodic`` :name: TableCDSSenderPeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - ``new_participant_announcements`` - Provides network performance metrics for the ``new`` participant announcements class dispatched by the *Sender*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``repeat_participant_announcements`` - Provides network performance metrics for the ``repeat`` participant announcements class dispatched by the *Sender*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``change_participant_announcements`` - Provides network performance metrics for the ``change`` participant announcements class dispatched by the *Sender*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. .. _section-cloud-discovery-service-metrics-receiver: Receiver --------- .. literalinclude:: ../resource/idl/CdsMonitoring.idl :caption: Receiver Types :start-after: /* Receiver :end-before: /* Sender .. list-table:: ``ReceiverConfig`` :name: TableCDSReceiverConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. .... .. list-table:: ``ReceiverEvent`` :name: TableCDSReceiverEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``ReceiverPeriodic`` :name: TableCDSReceiverPeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - ``new_participant_announcements`` - Provides network performance metrics for the ``new`` participant announcements class received by the *Receiver*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``repeat_participant_announcements`` - Provides network performance metrics for the ``repeat`` participant announcements class received by the *Receiver*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. * - ``change_participant_announcements`` - Provides network performance metrics for the ``change`` participant announcements class received by the *Receiver*. |br| See :ref:`section-Common-Mon-Metrics-NetworkPerformance`. .. _section-cloud-discovery-service-metrics-database: Database --------- .. literalinclude:: ../resource/idl/CdsMonitoring.idl :caption: Database Types :start-after: /* Database :end-before: /* Receiver .. list-table:: ``DatabaseConfig`` :name: TableCDSDatabaseConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. .... .. list-table:: ``DatabaseEvent`` :name: TableCDSDatabaseEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``DomainIdInfo`` :name: TableCDSDatabaseDomainIdInfo :widths: 25 75 :header-rows: 1 * - Field Name - Description * - ``domain_id`` - Identifies the DDS domain ID * - ``locator_count`` - Indicates the aggregate number of network locators present from all the |DPs| for a given DDS domain ID in the |CDS| *Database*. .... .. list-table:: ``DatabasePeriodic`` :name: TableCDSDatabasePeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - ``domain_id_info_seq`` - Sequence of ``DomainIdInfo`` objects (See :numref:`TableCDSDatabaseDomainIdInfo`) for all the domain IDs currently known to |CDS|. |br| * - ``thread_pool`` - Sequence of ``ThreadPeriodic`` objects, one for each thread of the *Database*'s thread pool. See :numref:`TableThreadPeriodic`.