Ejemplo n.º 1
0
        /// <summary>
        /// Get DiskPartitions
        /// </summary>
        private void GetDiskPartitions()
        {
            // Get
            var diskPartitions = SNMP.WalkSNMP(SNMP.sysHostDiskPartition, Address, Port, Community);

            if (diskPartitions.Count > 0)
            {
                // Create Device Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create DiskPartitions Group Object
                ManagementPackClass mpc_DiskPartitionGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.DiskPartitionsGroup");
                SCOM_Object_DiskPartitionGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DiskPartitionGroup);
                SCOM_Object_DiskPartitionGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DiskPartitionGroupName = mpc_DiskPartitionGroup.PropertyCollection["Name"];
                SCOM_Object_DiskPartitionGroup[mpp_DiskPartitionGroupName].Value = "Disks";


                // Create Management Pack Class Objects for DiskPartition and Needed Properties
                ManagementPackClass    mpc_DiskPartition           = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.DiskPartition");
                ManagementPackProperty mpp_DiskPartitionIndex      = mpc_DiskPartition.PropertyCollection["Index"];
                ManagementPackProperty mpp_DiskPartitionMountpoint = mpc_DiskPartition.PropertyCollection["Mountpoint"];

                // Set DiskPartition-Group Relationship
                ManagementPackRelationship mpr_DiskPartitionsGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.DiskPartitionsGroup.HostsDiskPartitions");


                for (int i = 0; i < diskPartitions.Count; i++)
                {
                    DiskPartition newDiskPartition = new DiskPartition();
                    string        index            = "." + diskPartitions[i].Id.ToString();
                    index = index.Replace(SNMP.sysHostDiskPartition, "");

                    // Create SCOM Fan Object
                    newDiskPartition.SCOM_Object_DiskPartition = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_DiskPartition);
                    // Set Key of Device
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of DiskPartitions Group
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DiskPartitionGroupName].Value = "Disks";
                    //Set Logical Entity Display Name
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_EntityDisplayName].Value = diskPartitions[i].Data.ToString();
                    // Set Fan Properties
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DiskPartitionIndex].Value      = index;
                    newDiskPartition.SCOM_Object_DiskPartition[mpp_DiskPartitionMountpoint].Value = diskPartitions[i].Data.ToString();

                    DiskPartitions.Add(newDiskPartition);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get Processors
        /// </summary>
        private void GetProcessors()
        {
            // Get
            var processors = SNMP.WalkSNMP(SNMP.sysMultiHostCpuIndex, Address, Port, Community);

            if (processors.Count > 0)
            {
                // Create Device Management Pack Class
                ManagementPackClass mpc_Device = SCOM_Functions.GetManagementPackClass("AP.F5.Device");

                // Create Root Entity Class & Display Name Prop
                ManagementPackClass    mpc_Entity            = SCOM_Functions.GetManagementPackClass("System.Entity");
                ManagementPackProperty mpp_EntityDisplayName = mpc_Entity.PropertyCollection["DisplayName"];

                // Parent Device Key Property (IP Address)
                ManagementPackProperty mpp_DeviceKey = mpc_Device.PropertyCollection["DeviceName"];

                // Create Processors Group Object
                ManagementPackClass mpc_DeviceProcessorsGroup = SCOM_Functions.GetManagementPackClass("AP.F5.Device.ProcessorsGroup");
                SCOM_Object_ProcessorGroup = new CreatableEnterpriseManagementObject(m_managementGroup, mpc_DeviceProcessorsGroup);
                SCOM_Object_ProcessorGroup[mpp_DeviceKey].Value = SystemNodeName; // Set Key of Device
                ManagementPackProperty mpp_DeviceProcessorsGroupName = mpc_DeviceProcessorsGroup.PropertyCollection["Name"];
                SCOM_Object_ProcessorGroup[mpp_DeviceProcessorsGroupName].Value = "Processors";


                // Create Management Pack Class Objects for Processor and Needed Properties
                ManagementPackClass    mpc_Processor      = SCOM_Functions.GetManagementPackClass(className: "AP.F5.Device.Processor");
                ManagementPackProperty mpp_ProcessorIndex = mpc_Processor.PropertyCollection["Index"];
                ManagementPackProperty mpp_ProcessorName  = mpc_Processor.PropertyCollection["Name"];

                // Set Processor-Group Relationship
                ManagementPackRelationship mpr_ProcessorsGroup = SCOM_Functions.GetManagementPackRelationship("AP.F5.Device.ProcessorsGroup.HostsProcessors");


                for (int i = 0; i < processors.Count; i++)
                {
                    Processor newProcessor = new Processor();
                    string    index        = "." + processors[i].Id.ToString();
                    index = index.Replace(SNMP.sysMultiHostCpuIndex, "");

                    // Create SCOM Fan Object
                    newProcessor.SCOM_Object_Processor = new CreatableEnterpriseManagementObject(SCOM_Functions.m_managementGroup, mpc_Processor);
                    // Set Key of Device
                    newProcessor.SCOM_Object_Processor[mpp_DeviceKey].Value = SystemNodeName;
                    // Set Key of Fans Group
                    newProcessor.SCOM_Object_Processor[mpp_DeviceProcessorsGroupName].Value = "Processors";
                    //Set Logical Entity Display Name
                    newProcessor.SCOM_Object_Processor[mpp_EntityDisplayName].Value = "CPU-" + i.ToString();
                    // Set Fan Properties
                    newProcessor.SCOM_Object_Processor[mpp_ProcessorIndex].Value = index;
                    newProcessor.SCOM_Object_Processor[mpp_ProcessorName].Value  = "CPU-" + i.ToString();

                    Processors.Add(newProcessor);
                }
            }
        }