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

MonitorData object

Monitor states

Example

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

MonitoredObjectId

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)/"
} ]