Monitoring the State of Managed Resources
Read requests can be issued from any REST client to get states for supported resources from the monitor table, where system monitors gather and report state information for managed DataCore SANsymphony SAN resources.
In this topic:
Monitor Table
- The Monitor Table provides states for managed DataCore SANsymphony resources in the server group.
- Use the Get method for the resource /monitors to obtain the state of all managed resources, see operation Get Monitors in the DataCore REST API Reference Guide.
- The table can be queried by providing the MonitoredObjectId for any DataCore SANsymphony managed resource (object). The MonitorData object is returned.
The monitors in this table are supported:
Supported Resources | Monitor Type | Description | Monitored Object Type |
---|---|---|---|
/hosts |
ClientMachineStateMonitor |
Monitors the state of hosts. |
ClientMachine |
/hosts |
VimHostConnectionStateMonitor |
Monitors the connection state of vCenters. |
VimHost |
/hosts |
VimVirtualMachinePowerStateMonitor |
Monitors the power state of virtual machines in vCenters. |
VimVirtualMachine |
/logicaldisks (logical representation of a storage source) |
LogicalDiskAccessRightsMonitor |
Monitors the host access of virtual disk storage sources (logical disks). |
LogicalDisk |
/logicaldisks (logical representation of a storage source) |
LogicalDiskDataStatusMonitor |
Monitors the data status of virtual disk storage sources (logical disks). |
LogicalDisk |
/logicaldisks (logical representation of a storage source) |
LogicalDiskFailureMonitor |
Monitors the failure status of virtual disk storage sources (logical disks) . |
LogicalDisk |
/logicaldisks (logical representation of a storage source) |
LogicalDiskStateMonitor |
Monitors the state of virtual disk storage sources (logical disks). |
LogicalDisk |
/logicaldisks |
StreamLogicalDiskStateMonitor |
Monitors the state of the continuous data protection (CDP) of virtual disk sources (logical disks). |
StreamLogicalDisk |
/physicaldisks |
PhysicalDiskSmartMonitor |
Monitors the S.M.A.R.T. status of physical disks. |
PhysicalDisk |
/physicaldisks |
PhysicalDiskStateMonitor |
Monitors the state of physical disks. |
|
/poolmembers (physical disks in a pool) |
PoolMemberStateMonitor |
Monitors the state of the relationship between a pair of mirrored physical disks in a pool. |
PoolMember |
/pools |
DiskPoolStateMonitor |
Monitors the state of disk pools. |
DiskPool |
/ports |
ScsiPortConnectionStateMonitor |
Monitors the connection state of SCSI ports. |
ScsiPort |
/ports |
ServerFcPortStateMonitor |
Monitors the state of server FC ports. |
ServerFcPort |
/ports |
ServeriScsiPortStateMonitor |
Monitors the state of server iSCSI ports. |
ServeriScsiPort |
/ports |
ServerMSiScsiInitiatorStateMonitor |
Monitors the state of MS iSCSI Initiator ports. |
ServerMSiScsiInitiator |
/ports |
ServerPortLinkErrorMonitor |
Monitors the link errors on server ports. |
ServerFCPort |
/replications |
ReplicationNexusProxyStateMonitor |
Monitors the replication state of remote virtual disks. |
ReplicationNexusProxy |
/replications |
ReplicationNexusStateMonitor |
Monitors the replication state of virtual disks. |
ReplicationNexusBase |
/rollbacks |
RollbackRelationStateMonitor |
Monitors the state of the relationship between a rollback and the source virtual disk. |
RollbackRelation |
/servers |
ServerMachineLicenseMonitor |
Monitors the license expiration date of DataCore Servers. |
ServerMachine |
/servers |
ServerMachinePowerStateMonitor |
Monitors the battery power state for DataCore Servers. |
ServerMachine |
/servers (replication servers) |
ServerMachineProxyStateMonitor |
Monitor the state of remote DataCore Servers involved in virtual disk replications. |
ServerMachineProxy |
/servers |
ServerMachineStateMonitor |
Monitors the state of DataCore Servers. |
ServerMachine |
/snapshots |
SnapshotRelationStateMonitor |
Monitors the state of the relationship between a snapshot and the source virtual disk. |
SnapshotRelation |
/virtualdisks |
VirtualDiskAccessRightsMonitor |
Monitors the access rights of virtual disks. |
VirtualDisk |
/virtualdisks |
VirtualDiskDataStatusMonitor |
Monitors the data status of virtual disks. |
VirtualDisk |
/virtualdisks (replication virtual disks) |
VirtualDiskProxyStateMonitor |
Monitors the state of remote virtual disks in replications. |
VirtualDiskProxy |
MonitorData Object
Property Type | Property Name | Description | Notes |
---|---|---|---|
string |
Description |
A meaningful description of the monitor, including what object is being monitored. |
|
string |
The identification number (Id) of the object being monitored. |
The MonitoredObjectId can be passed to the /object resource to get the monitored object, such as /object?id=id of the object to return the specified object. |
|
string |
TemplateId |
The identification number (Id) of the template on which this monitor is based. |
|
MonitorState |
State |
Monitor states have these levels: Healthy, Attention, Warning and Critical, Undefined, or All. |
Provides the state of the monitor. See Monitor States. |
DateTime
|
TimeStamp |
The time that the last state change occurred. |
|
string
|
MessageText |
The message text of the monitor. |
|
string
|
Id
|
Immutable Id for the object. |
|
string |
Caption |
A short descriptive phrase that is unique among the class of objects and meaningful to an end user. |
|
string |
ExtendedCaption |
An optional longer description of the object instance.
|
|
Monitor States
Integer value | Enum name | Description |
1 | Undefined | The monitor is not yet defined. |
2 | Healthy | The monitor is healthy and the monitored object is within specified limits or conditions. |
4 | Attention | The monitor needs attention, the lowest level of alert. |
8 | Warning | The monitor is issuing a warning, the medium level of alert. |
16 | Critical | The monitor is critical, the highest level of alert. |
31 | All | All the states, for programming convenience. |
Example
Requests all monitors used for all resources in DataCore SANsymphony software.
Request:
https://StorageSvr001/RestService/rest.svc/monitors
Response:
[ {
"Caption" : "State",
"ExtendedCaption" : "State of HostVM1",
"Id" : "ClientMachineStateMonitor<5909e5ec1dbb460ca2273e6b8c7932ce>",
"Internal" : false,
"SequenceNumber" : 8868,
"Description" : "Monitors the state of hosts.",
"MessageText" : "Connected",
"MonitoredObjectId" : "5909e5ec1dbb460ca2273e6b8c7932ce",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.ClientMachineStateMonitor<DataCore.Executive.Controller.ClientMachine>)",
"TimeStamp" : "/Date(1435671304300-0400)/"
}, {
"Caption" : "State",
"ExtendedCaption" : "State of HostVM2",
"Id" : "ClientMachineStateMonitor<144dfcf36f8a46299a5ba3eefd31dd19>",
"Internal" : false,
"SequenceNumber" : 8869,
"Description" : "Monitors the state of hosts.",
"MessageText" : "Connected",
"MonitoredObjectId" : "144dfcf36f8a46299a5ba3eefd31dd19",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.ClientMachineStateMonitor<DataCore.Executive.Controller.ClientMachine>)",
"TimeStamp" : "/Date(1435671304301-0400)/"
}, {
"Caption" : "Battery Power State",
"ExtendedCaption" : "Battery Power State
of StorageSvr001 in Group1",
"Id" : "ServerMachinePowerStateMonitor<A3E78CFA-DBEC-44E1-A23C-E9E262EC4551>",
"Internal" : false,
"SequenceNumber" : 8870,
"Description" : "Monitors the battery power
state for DataCore Servers.",
"MessageText" : "AC line power available",
"MonitoredObjectId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.ServerMachinePowerStateMonitor<DataCore.Executive.Controller.ServerMachine>)",
"TimeStamp" : "/Date(1435671515063-0400)/"
}, {
"Caption" : "License Expiration",
"ExtendedCaption" : "License Expiration of
StorageSvr001 in Group1",
"Id" : "ServerMachineLicenseMonitor<A3E78CFA-DBEC-44E1-A23C-E9E262EC4551>",
"Internal" : false,
"SequenceNumber" : 8871,
"Description" : "Monitors the license expiration
date of DataCore Servers.",
"MessageText" : "License expires in more
than 14 days",
"MonitoredObjectId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.ServerMachineLicenseMonitor<DataCore.Executive.Controller.ServerMachine>)",
"TimeStamp" : "/Date(1435671515063-0400)/"
}, {
"Caption" : "State",
"ExtendedCaption" : "State of StorageSvr001
in Group1",
"Id" : "ServerMachineStateMonitor<A3E78CFA-DBEC-44E1-A23C-E9E262EC4551>",
"Internal" : false,
"SequenceNumber" : 8872,
"Description" : "Monitors the state of DataCore
Servers.",
"MessageText" : "Running",
"MonitoredObjectId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.ServerMachineStateMonitor<DataCore.Executive.Controller.ServerMachine>)",
"TimeStamp" : "/Date(1435671515063-0400)/"
}
.
.
.
{
"Caption" : "State",
"ExtendedCaption" : "State of DataCoreVirtual
Disk on StorageSvr002",
"Id" : "PhysicalDiskStateMonitor<{78e03909-7a89-410a-ad68-a020e14a970d}>",
"Internal" : false,
"SequenceNumber" : 9143,
"Description" : "Monitors the state of physical
disks.",
"MessageText" : "Off-line",
"MonitoredObjectId" : "{78e03909-7a89-410a-ad68-a020e14a970d}",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.PhysicalDiskStateMonitor<DataCore.Executive.Controller.PhysicalDisk>)",
"TimeStamp" : "/Date(1435672613701-0400)/"
}, {
"Caption" : "S.M.A.R.T. Status",
"ExtendedCaption" : "S.M.A.R.T. Status of
DataCoreVirtual Disk on StorageSvr002",
"Id" : "PhysicalDiskSmartMonitor<{78e03909-7a89-410a-ad68-a020e14a970d}>",
"Internal" : false,
"SequenceNumber" : 9144,
"Description" : "Monitors the S.M.A.R.T.
status of physical disks.",
"MessageText" : "No failure predicted by
S.M.A.R.T.",
"MonitoredObjectId" : "{78e03909-7a89-410a-ad68-a020e14a970d}",
"State" : 2,
"TemplateId" : "T(DataCore.Executive.Controller.PhysicalDiskSmartMonitor<DataCore.Executive.Controller.PhysicalDisk>)",
"TimeStamp" : "/Date(1435674796880-0400)/"
}, {
"Caption" : "I/O latency",
"ExtendedCaption" : "I/O latency of DataCoreVirtual
Disk on StorageSvr002",
"Id" : "RisingThresholdPerfMonitor`1<{78e03909-7a89-410a-ad68-a020e14a970d}>MaxReadWriteTime",
"Internal" : false,
"SequenceNumber" : 9145,
"Description" : "Monitors the physical disks
latency.",
"MessageText" : "Disabled",
"MonitoredObjectId" : "{78e03909-7a89-410a-ad68-a020e14a970d}",
"State" : 1,
"TemplateId" : "T(DataCore.Executive.Controller.RisingThresholdPerfMonitor`1[T]<{78e03909-7a89-410a-ad68-a020e14a970d}>MaxReadWriteTime)",
"TimeStamp" : "/Date(1435672538701-0400)/"
} ]