Configuring SNMP

The Simple Network Management Protocol (SNMP) is an application layer protocol that facilitates the exchange of management information between network devices. Nutanix systems include an SNMP agent that provides interoperability with industry standard SNMP manager systems. Nutanix also provides a custom Management Information Base (MIB) for Nutanix-specific information. To configure SNMP v3 (versions 1 and 2 are not supported), do the following:
  1. In the gear icon  pull-down list of the main menu (see Main Menu Options), select SNMP.The SNMP Configuration dialog box appears.

    Figure: SNMP Configuration Window

  2. To enable SNMP for this cluster, check the Enable SNMP box. To disable SNMP, uncheck the box.

    Note:

    SNMP traps are sent by the Controller VM that functions as the Alert Manager leader. If you need to open your firewall to receive the traps, keep in mind that the Alert Manager leader can rotate during tasks like AOS or host upgrades. Therefore, it might be necessary to open all the Controller VM IP addresses to ensure that the traps are received.

  3. To view the Nutanix MIB (NUTANIX-MIB.txt), click the Download MIB link. To download NUTANIX-MIB.txt, right-click and select the appropriate download action for your browser and then copy NUTANIX-MIB.txt to your SNMP manager systems.See your SNMP manager documentation for instructions on how to install the Nutanix MIB.
  4. To add an SNMP transport, click the Transports tab and the New Transport button, and then do the following in the indicated fields. An SNMP transport is a combination of the transport protocol and port number on which you want the Nutanix SNMP agent to receive queries. SNMP transports enable you to combine transport protocols and port numbers other than the default port number. The port numbers that are specified in SNMP transports are unblocked on the Controller VM, making them available to receive queries:

    Figure: SNMP Transport Fields

    1. Protocol: Select the protocol to use from the pull-down list.The options are TCP, TCP6, UDP, and UDP6.
    2. Port: Enter the port number to use.The standard SNMP port number is 161.
    3. When the fields are correct, click the Save button (lower right).This saves the configuration and redisplays the dialog box with the new transport appearing in the list.
      Note: To return to the SNMP Configuration window without saving, click the Cancel button.
  5. To add an SNMP user entry, click the Users tab and the New User button and then do the following in the indicated fields:

    Figure: SNMP User Fields

    1. Username: Enter a user name.
    2. Priv Type: Select the privacy encryption type from the pull-down list.The only option is AES (Advanced Encryption Standard). In the nCLI, this setting is optional.
    3. Priv Key: Enter a privacy key phrase (password) into this field.The key phrase is AES encrypted when the user is created.
    4. Auth Type: Select the authentication hash function type from the pull-down list.The only option is SHA (Secure Hash Algorithm).
    5. Auth Key: Enter an authentication key phrase (password) into this field.The key phrase is SHA-1 encrypted when the user is created.
    6. When all the fields are correct, click the Save button (lower right).This saves the configuration and redisplays the dialog box with the new user entry appearing in the list.
  6. To add an SNMP trap receiver, click the Traps tab and the New Trap Receiver button, and then do the following in the indicated fields:

    Figure: SNMP Trap Fields

    1. Address: Enter the target address.An SNMP target address specifies the destination and user that receives outgoing notifications, such as trap messages. SNMP target address names must be unique within the managed device.
    2. Port: Enter the port number to use.The standard SNMP port number is 161.
    3. Engine ID: Optionally, enter an engine identifier value, which must be a hexadecimal string between 5 and 32 characters long.If you do not specify an engine ID, an engine ID is generated for you for use with the receiver. Every SNMP v3 agent has an engine ID that serves as a unique identifier for the agent. The engine ID is used with a hashing function to generate keys for authentication and encryption of SNMP v3 messages.
    4. Inform: Select True from the pull-down list to use inform requests as the SNMP notification method; select Falseto use traps as the SNMP notification method.SNMP notifications can be sent as traps or inform requests. Traps are one-way transmissions; they do not require an acknowledgment from the receiver. Informs expect a response. If the sender never receives a response, the inform request can be sent again. Therefore, informs are more reliable than traps. However, informs consume more resources. Unlike a trap, which is discarded as soon as it is sent, an inform request must be held in memory until a response is received or the request times out. Also, traps are sent only once, while an inform may be retried several times. The retries increase traffic and add overhead on the network. Thus, traps and inform requests provide a trade-off between reliability and resources.
    5. Transport Protocol: Select the protocol to use from the pull-down list.The options are TCP, TCP6, UDP, and UDP6.
    6. Trap Username: Select a user from the pull-down list.All users added previously (see step 5) appear in the pull-down list. You cannot add a trap receiver entry until at least one user has been added.
    7. When all the fields are correct, click the Save button (lower right).This saves the configuration and redisplays the dialog box with the new trap entry appearing in the list.
    8. To test all configured SNMP traps, click the Traps tab, and then click Test All.

      Figure: Test All Button

      The Nutanix cluster sends test alerts to all the SNMP trap receivers configured on the cluster.

  7. To edit a user or trap receiver entry, click the appropriate tab (Users or Traps) and then click the pencil icon  for that entry in the list.An edit window appears for that user or trap receiver entry with the same fields as the add window. (Transport entries cannot be edited.) Enter the new information in the appropriate fields and then click the Save button.
  8. To delete an SNMP entry, click the appropriate tab (Transports, Users, or Traps) and then click the X icon for that entry in the list.A window prompt appears to verify the delete action; click the OK button. The entry is removed from the list.
  9. Click the Close button to close the SNMP Configuration window.

Nutanix MIB

The Simple Network Management Protocol (SNMP) enables administrators to monitor network-attached devices for conditions that warrant administrative attention. In the Nutanix SNMP implementation, information about entities in the cluster is collected and made available through the Nutanix MIB (NUTANIX-MIB.txt). The Nutanix enterprise tree is located at 1.3.6.1.4.1.41263.

The Nutanix MIB is divided into the following sections:

  • Cluster information. Status information about the cluster as a whole.
  • Software version information. Version information about the software packages that comprise the Controller VM.
  • Service status information. Information about the status of essential services on each Controller VM.
  • Hypervisor information. Information about each hypervisor instance.
  • Virtual machine information. Information about hosted virtual machines.
  • Disk information. Status information about the disks in the cluster.
  • Controller VM resource information. Indicate how much CPU and memory capacity is available to a Controller VM.
  • Storage pool information. Status information about the storage pools in the cluster.
  • Container information. Status information about the disks in the cluster.
  • Alerts information. Information about generated alerts that can be captured through the SNMP trap (or inform) mechanism.

The following table describes the Nutanix MIB fields. The table is subdivided by the MIB sections.

Table: Nutanix MIB Fields
Name Description Data Type
Cluster Information Fields
clusterName Cluster name. Display string
clusterVersion Cluster version number. This is the Nutanix core package version expected on all the Controller VMs. Display string
clusterStatus Current status of the cluster. Possible values are “started” and “stopped”. Display string
clusterTotalStorageCapacity Total storage capacity of the cluster in bytes. Unsigned 64-bit integer
clusterUsedStorageCapacity Storage used on the cluster, in bytes. Unsigned 64-bit integer
clusterIops Average I/O operations per second (IOPS) in the cluster. Unsigned 64-bit integer
clusterLatency Average I/O latency in the cluster, in milliseconds. Unsigned 64-bit integer
clusterIOBandwidth Cluster-wide I/O bandwidth in kilobytes per second (KBps). Unsigned 64-bit integer
Software Version Information Fields
svtIndex Unique index that is used to identify an entry in the software version information table. Signed 32-bit integer
svtControllerVMId Nutanix Controller VM identification number. Display string
svtNutanixBootstrap Nutanix bootstrap software package version. Display string
svtNutanixInfrastructure Nutanix infrastructure software package version. Display string
svtNutanixCore Nutanix core software package version. Display string
svtNutanixToolchain Nutanix toolchain software package version. Display string
svtNutanixServiceability Nutanix serviceability software package version. Display string
svtLinuxKernel Linux kernel version currently installed. Display string
Service Status Information Fields
cstIndex Unique index that is used to identify an entry in the service status information table. Signed 32-bit integer
cstControllerVMId Nutanix Controller VM identification number. Display string
cstControllerVMStatus Status of the Nutanix node. Display string
cstDataServiceStatus Status of the core data services on the Controller VM. Display string
cstMetadataServiceStatus Status of the metadata services on the Controller VM. Display string
Hypervisor Information Fields
hypervisorIndex Number that is used to uniquely identify an entry in the hypervisor information table. Signed 32-bit integer
hypervisorID System-generated string that Nutanix uses to uniquely identify a hypervisor instance. Display string
hypervisorName Name of the hypervisor instance. Display string
hypervisorVmCount Number of VMs configured on the hypervisor instance. Unsigned 32-bit integer
hypervisorCpuCount Number of CPU cores available to the hypervisor instance. Unsigned 32-bit integer
hypervisorCpuUsagePercent Percentage of CPU resources in use by the hypervisor instance. Unsigned 32-bit integer
hypervisorMemory Total memory available to the hypervisor instance, in bytes. Unsigned 64-bit integer
hypervisorMemoryUsagePercent Memory in use by the hypervisor instance, as a percentage of the total available memory. Unsigned 64-bit integer
hypervisorReadIOPerSecond Total number of read I/O operations per second (IOPS) being performed by the hypervisor. Unsigned 32-bit integer
hypervisorWriteIOPerSecond Total number of write I/O operations per second (IOPS) being performed by the hypervisor. Unsigned 32-bit integer
hypervisorAverageLatency Average I/O latency of the hypervisor in microseconds (µs). Unsigned 64-bit integer
hypervisorIOBandwidth I/O bandwidth of the hypervisor in kilobytes per second (KBps). Unsigned 64-bit integer
hypervisorRxBytes Total number of bytes received by the hypervisor. Unsigned 64-bit integer
hypervisorTxBytes Total number of bytes transmitted by the hypervisor. Unsigned 64-bit integer
hypervisorRxDropCount Total number of packets dropped by the hypervisor when receiving data. Unsigned 64-bit integer
hypervisorTxDropCount Total number of packets dropped by the hypervisor when transmitting data. Unsigned 64-bit integer
Virtual Machine Information Fields
vmIndex Number that is used to uniquely identify an entry in the VM information table. Signed 32-bit integer
vmId System-generated string that Nutanix uses to uniquely identify a virtual machine. Display string
vmName Name of the VM. Display string
vmHypervisorId System-generated ID of the hypervisor on which the VM is provisioned. Display string
vmPowerState Power state of the VM. Display string
vmCpuCount Number of CPU cores available to the VM. Unsigned 32-bit integer
vmCpuUsagePercent Percentage of CPU resources in use by the VM. Unsigned 32-bit integer
vmMemory Total memory allocated to the VM, in bytes. Unsigned 64-bit integer
vmMemoryUsagePercent Memory in use by the VM, as a percentage of the total allocated memory. Unsigned 64-bit integer
vmReadIOPerSecond Total number of read I/O operations per second (IOPS) being performed by the VM. Unsigned 32-bit integer
vmWriteIOPerSecond Total number of write I/O operations per second (IOPS) being performed by the VM. Unsigned 32-bit integer
vmAverageLatency Average I/O latency of the VM, in microseconds (µs). Unsigned 64-bit integer
vmIOBandwidth I/O bandwidth of the VM in kilobytes per second (KBps). Unsigned 64-bit integer
vmRxBytes Total number of bytes received by the VM. Unsigned 64-bit integer
vmTxBytes Total number of bytes transmitted by the VM. Unsigned 64-bit integer
vmRxDropCount Total number of packets dropped by the VM when receiving data. Unsigned 64-bit integer
vmTxDropCount Total number of packets dropped by the VM when transmitting data. Unsigned 64-bit integer
Disk Information Fields
dstIndex Number that is used to uniquely identify an entry in the disk information table. Signed 32-bit integer
dstDiskId Disk identification number. The number is unique for each disk. Display string
dstControllerVMId Nutanix Controller VM identification number. Display string
dstSerial Disk serial number. Display string
dstNumRawBytes Physical storage capacity on the device, in terms of number of raw bytes. Unsigned 64-bit integer
dstNumTotalBytes Usable storage on the device through its file system, in terms of number of usable bytes. Unsigned 64-bit integer
dstNumFreeBytes Available storage on the device through its file system for non-root users, in terms of number of free bytes. Unsigned 64-bit integer
dstNumTotalInodes Total number of usable inodes on the device through its file system. Unsigned 64-bit integer
dstNumFreeInodes Total number of available (free) inodes on the device through its file system for non-root users. Unsigned 64-bit integer
dstAverageLatency Average I/O latency of the disk in microseconds (µs). Unsigned 64-bit integer
dstIOBandwidth I/O bandwidth of the disk in kilobytes per second (KBps). Unsigned 64-bit integer
dstNumberIops Current number of I/O operations per second (IOPS) for the disk. Unsigned 64-bit integer
dstState State of the disk. Signed 32-bit integer
Controller VM Resource Information Fields
crtIndex Number that is used to uniquely identify an entry in the Controller VM resource information table. Signed 32-bit integer
crtControllerVMId Nutanix Controller VM identification number. Display string
crtMemory Total memory available to the Controller VM in bytes. Unsigned 64-bit integer
crtNumCpus Total number of CPUs allocated to the Controller VM. Signed 32-bit integer
Storage Pool Information Fields
spitIndex Number that is used to uniquely identify an entry in the storage pool information table. Signed 32-bit integer
spitStoragePoolId Storage pool identification number. Display string
spitStoragePoolName Storage pool name. Display string
spitTotalCapacity Total storage pool capacity in bytes. Unsigned 64-bit integer
spitUsedCapacity Used storage pool capacity in bytes. Unsigned 64-bit integer
spitIOPerSecond Current number of I/O operations per second (IOPS) for this storage pool. Signed 32-bit integer
spitAvgLatencyUsecs Average I/O latency for the storage pool in microseconds. Unsigned 64-bit integer
spitIOBandwidth I/O bandwidth of the storage pool in kilobytes per second (KBps). Unsigned 64-bit integer
Container Information Fields
citIndex Number that is used to uniquely identify an entry in the container information table. Signed 32-bit integer
citContainerId Container identification number. Display string
citContainerName Container name. Display string
citTotalCapacity Total container capacity in bytes. Unsigned 64-bit integer
citUsedCapacity Used container storage in bytes. Unsigned 64-bit integer
citIOPerSecond Current number of I/O operations per second (IOPS) for this container. Signed 32-bit integer
citAvgLatencyUsecs Average I/O latency for the container in microseconds. Unsigned 64-bit integer
citIOBandwidth I/O bandwidth of the container in kilobytes per second (KBps). Unsigned 64-bit integer
Alerts Information Fields
ntxAlertCreationTime Time of alert creation. The value is the number of seconds since the UNIX epoch (01/01/1970). Unsigned 64-bit integer
ntxAlertDisplayMsg Alert message text. All Nutanix SNMP alerts are generated with the same SNMP OID. The differentiating factor is the description of the event, which is included in the alert. The following sample alerts have the same SNMP OID but different event descriptions:

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (110276) 0:18:22.76 …SNMPv2-SMI::enterprises.41263.999.2 = STRING: “Failed to send email from Controller VM 192.0.2.244 via SMTP server 192.0.2.242:2525 due to following error : Connection refused.”

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (156330) 0:26:03.30 …SNMPv2-SMI::enterprises.41263.999.2 = STRING: “Controller VM 192.0.2.243 has been rebooted on Mon Sep 21 21:30:00 2015.”

The set of alert messages that the SNMP agent includes in traps is the same as the set of alert messages that is exposed through the web console. For a list of the alert messages and corrective actions, see Alerts/Health checks.

Display string

Be the first to comment

Leave a Reply

Your email address will not be published.


*