8. Monitoring
This section provides documentation on Cloud Discovery Service remote monitoring.
Note
Cloud Discovery Service monitoring is based on the Monitoring Distribution Platform described in Monitoring Distribution Platform. We recommend that you read Monitoring Distribution Platform before using Cloud Discovery Service monitoring.
8.1. Overview
8.1.1. Enabling Service Monitoring
By default, monitoring is disabled in Cloud Discovery Service. To enable monitoring you can use
the <monitoring>
tag (see Monitoring) or the
-remoteMonitoringDomainId
command-line parameter, which enables
remote monitoring and sets the domain ID for data publication
(see Command-Line Options).
8.1.2. Monitoring Types
The available Keyed Resource classes and their types that can be present in the distribution monitoring topics are listed in Table 8.1. The complete type relationship is shown in Figure 8.1.
Keyed Resource Class |
Config |
Event |
Periodic |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All the type definitions for Cloud Discovery Service monitoring information are in
[NDDSHOME]/resource/idl/ServiceCommon.idl
and
[NDDSHOME]/resource/idl/CdsMonitoring.idl
.
Cloud Discovery Service creates a DataWriter for each distribution Topic. All DataWriters are created from a single Publisher, which is created from a dedicated DomainParticipant. See Cloud Discovery Service for details on configuring the QoS for these entities.
8.2. Monitoring Metrics Reference
This section provides a reference to all the monitoring metrics Cloud Discovery Service distributes, organized by service resource class.
8.2.1. Service
@mutable @nested
struct ServiceConfig : Service::Monitoring::EntityConfig {
Service::BoundedString application_name;
Service::Monitoring::ResourceGuid application_guid;
@optional Service::Monitoring::HostConfig host;
@optional Service::Monitoring::ProcessConfig process;
};
@mutable @nested
struct ServiceEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct ServicePeriodic {
@optional Service::Monitoring::HostPeriodic host;
@optional Service::Monitoring::ProcessPeriodic process;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
|
Name of the Cloud Discovery Service instance. The application name is provided through:
|
|
GUID of the Cloud Discovery Service instance. Unique across all service instances. |
|
See Table 12.10. |
|
See Table 12.12. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
|
See Table 12.11. |
|
See Table 12.13. |
8.2.2. Forwarder
@mutable @nested
struct ForwarderConfig : Service::Monitoring::EntityConfig {
};
@mutable @nested
struct ForwarderEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct ForwarderPeriodic {
@optional Service::Monitoring::NetworkPerformance
new_participant_announcements;
@optional Service::Monitoring::NetworkPerformance
repeat_participant_announcements;
@optional Service::Monitoring::NetworkPerformance
change_participant_announcements;
@optional Service::Monitoring::ThreadPoolPeriodic thread_pool;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
|
Provides network performance metrics as an aggregation of the same metrics
across the contained Sender and Receiver. |
|
Provides network performance metrics as an aggregation of the same metrics
across the contained Sender and Receiver. |
|
Provides network performance metrics as an aggregation of the same metrics
across the contained Sender and Receiver. |
|
Sequence of |
8.2.3. Sender
@mutable @nested
struct SenderConfig : Service::Monitoring::EntityConfig {
};
@mutable @nested
struct SenderEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct SenderPeriodic {
@optional Service::Monitoring::NetworkPerformance
new_participant_announcements;
@optional Service::Monitoring::NetworkPerformance
repeat_participant_announcements;
@optional Service::Monitoring::NetworkPerformance
change_participant_announcements;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
|
Provides network performance metrics for the |
|
Provides network performance metrics for the |
|
Provides network performance metrics for the |
8.2.4. Receiver
@mutable @nested
struct ReceiverConfig : Service::Monitoring::EntityConfig {
};
@mutable @nested
struct ReceiverEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct ReceiverPeriodic {
@optional Service::Monitoring::NetworkPerformance
new_participant_announcements;
@optional Service::Monitoring::NetworkPerformance
repeat_participant_announcements;
@optional Service::Monitoring::NetworkPerformance
change_participant_announcements;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
|
Provides network performance metrics for the |
|
Provides network performance metrics for the |
|
Provides network performance metrics for the |
8.2.5. Database
@mutable @nested
struct DatabaseConfig : Service::Monitoring::EntityConfig {
};
@mutable @nested
struct DatabaseEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct DatabasePeriodic {
@optional Service::Monitoring::ThreadPoolPeriodic thread_pool;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
|
Sequence of |