340 likes | 523 Views
EMC and VMware vCOps. Current state of EMC technology with VMware vCenter Operations. Clint Kitson EMC vSpecialist @ clintonskitson Google: “Everything VMware at EMC”. What should we expect from vCOps plugins?. Metrics ResourceKindKey Application Tiers Relationships Thresholds
E N D
EMC and VMware vCOps Current state of EMC technology with VMware vCenter Operations Clint Kitson EMC vSpecialist @clintonskitson Google: “Everything VMware at EMC”
What should we expect from vCOps plugins? • Metrics • ResourceKindKey • Application Tiers • Relationships • Thresholds • Threshold Violations • Events • Geolocation
What EMC technology currently works with vCOps? • EMC Storage • Midrange (Unified/VNX) Block/NAS • Enterprise (Symmetrix) Scaleout Block • Enterprise (Isilon) Scaleout NAS • Replication (VPlex) • EMC Backup • Avamar • VMware • vSCSISTATS • ESXTOP
How do you use the EMC vCOPScmdlets? EMC Platform Specific Powershellcmdlets VMware vCenter Operations EMC Powershell ps_vcops_HTTPOST cmdlet https://community.emc.com/message/568368
How does it work? VMware vCenter Operations A Wrapper EMC Powershell ps_vcops_HTTPOST cmdlet EMC Platform Specific Powershellcmdlets • Gather Metrics • Standardize Metric Names • Post-collection calculations • Report on relationships, resourcekindkey • Widgets • Analytics • Alerts • Solution monitoring • Receive PSObjects • Work with vCOps API https://community.emc.com/message/568368
What are the options for integration? • Collection script and HTTPOST script (easy) • HTTPOST script lives on device being collected and the device pushes data to vCOps natively (claim VMware integration) (medium) • vCOps adapter built for device using SDK (harder)
Option #2 Device -> vCOps VMware vCenter Operations HTTPOST
Example commands Stats Collection Tier Configuration Relationship Configuration
What do you get from tiers and relationships? Relationships Tiers
.. And they relate to widgets how? Tiers or ResourceKindKey’s
..and more reasons? Relationships
VMAX/Symmetrix details The symmcli commands I run.. symdev list -wwn -output xml symdev show $dev_name -output xml (in parallel) symstat -i $interval -c 1 -type REQUESTS symstat -i $interval -c 1 -type DISK -sid $symid symstat -i $interval -c 1 -dir ALL Yielding.. Devices (kb_r_per_second,kb_w_per_second,r_cache_hit_pct,r_per_second,sequential_r_pct,w_cache_hit_pct,w_per_second,wp_tracks) Disks (kb_r_per_second,kb_w_per_second,r_per_second,w_per_second) Directors (io_per_second,r_per_second,w_per_second)
VNX BLOCK details (1) Pool Virtual Disk Collecting stats Performance stats retrieved live through naviseccli.exe Parallel operations in order to retrievedetails from both storage processors Delta calculation between two collections for stats Backend Disk
VNX BLOCK details (2) LUN Storage Processor
VNX NAS details Collecting stats Collection by running server_stats command from SSH Collection of all NAS stats is possible Yielding.. CPU Util % NETWORK INTERFACES (Network In/Out KiB/s, Network In/Out Pkts/s, Network In Out Errors/s) NFS (Read/Write Ops/s, Read/Write KiB/s, Avg Read/Write Size Bytes, Op v3Read/Write Op uSec/Call) META VOLUMES (Read/Write Ops/s, Read/Write KiB/s, Avg Read/Write Size Bytes) DISK VOLUMES (Queue Depth, Read/Write Ops/s, Read/Write KiB/s, Avg Read/Write Size Bytes, AvguSec/call)
Isilon details Collecting stats Executing commands via SSH isistatistics system/pstat/client/protocol/query/heat All stats are available! Yielding.. *.*
VPlex details Collecting stats Done by downloading PERPETUAL log files from VPlexmgmt node via SSH Also a more detailed view per port and device is done by doing a REST call to generate new perf data followed by a download of the CSV files via SSH Yielding.. CLUSTER (avg latency us, max latency us, min latency us) DIRECTOR (async-write KB/s,be-aborts,be-ops,be-ops-read,be-ops-write,be-read KB/s,be-write KB/s,busy%,dr1-rbld-recv/sent KB/s,fe-ops,fe-ops-act,fe-ops-q,e-ops-read,fe-ops-write,fe-read/write KB/s,heap-used %,udt-conn-drop,udt-pckt-retrans,udt-recv/send bytes/drops/pckts) FE-DIRECTOR (aborts,read/write-lat average, read/write-lat recent average) DIRECTORY(ch-remote, chk-total,dir-total,dr-remote,ops-local,ops-rem) RAMF (cur-op,exp-op,exp-rd/wr KB/s,imp-op counts, imp-rd/wr KB/s)RDMA (read/write KB/s) STORAGE-VOLUME (read/write latency average/recent-average us) +port/device stats
Avamar details Collecting stats Using postgresql database on Avamar grid along with standard views v_dpnsummary, v_node_util, v_node_space, v_activities Yielding.. Load_avg Cpu_user_percentage Cpu_sys_percentage Net_ping Net_in_kbytes_per_sec Net_out_kbytes_per_sec Disk_reads_per_sec Disk_writes_per_sec State Utilization diskreadonly
vSCSISTATS details Collecting stats Using SSH to execute vscsistats on VMware hypervisor’s Doing calculations between collections to get actual gauge counters Yielding.. *.*
ESXTOP details Path per Datastore Collecting stats Using PowerCLI to do ESXTOP collections against each VMware hypervisor Doing calculations between collections to get gauge value HBA
Building collection scripts • What is my data source • Examples in powershell for SSH, REST, CSV, executables • Formatting • RAW = 1 metric per PSObject row, split things more than less into different properties in the object • RAWPOST = 1 metric per PSObjectrow, only properties that contain data outputted • DEFAULT = all parameters (metrics) of all devices shown on each row (makes powershell table viewing possible for all stats at one time) • Is there going to be a refreshing Powershell view? • Metric names should be parseable my a regular expression when they get to vCOps if you want to group merics
What’s important when bringing data into vCOps? • ResourceKindKey should represent the type of object being reported on • A storage processor has stats unique to it, so “SP” should be the ResourceKindKey • This can be accomplished during collection into the ResourceKindKey or done as a tier (not preferred) • Common metric names for common values • Simplifies and expands graphing/widget capabilities • Common device names • Bad example - DIRECTOR (latency stats), FE-DIRECTOR (throughput) • Good example – DIRECTOR (latency stats,throughput) • Metric type in metric name (network in KB/s) • Data must be a gauge (not a counter) • Counters continually grow and typically require a delta calculation between performance runs • Gauges are representations of a counter at two different times and then divided by the seconds between the collections to determine per second gauge value, ie. KB/s
Addendum - Identifiers • Resource name must be unique in vCOpsif there are no identifiers specified • SP A from array #1 needs resource name of array1 SP A if no identifiers used • Currently identifiers aren’t working through the post script The following can be added to the collection commands to make the resource name unique (change VNX5700 out for a real name) COLLECTIONSCRIPT | select *,@{n="name";e={"VNX5700 "+$_.name}} -excludepropertyname | VCOPSSCRIPT TIERSCRIPT | %{ $_ -replace "\|","|VNX5700 "} | VCOPSSCRIPT RELATIONSHIPSCRIPT | %{ $_ -replace "\|","|CX230 "} | VCOPSSCRIPT