Extracting Text by Pattern

I need a solution


I have a piece of text that I’m capturing from an email which looks like the following:

Order Number: A123

Details: This is an alert from system 1


Issue 1 is A

Issue 2 is B

Issue 3 is C

Order Number: B123

Details: This is an alert from System 2


Issue 1 is 1

Issue 2 is 2


I’ve got an array which has the order number it in and then I’m using the For Each Element in Collection

This then has a Extract Text by Pattern where its setup to start with the Array Variable, ie the order number, and then use the following pattern as the end looking for “Issues:”

So I basically get the result:

Details: This is an alert from system 1

This works great the first item in the array, but when it goes around the loop again it find the next order number so B123 fine, however when it searches for the end text I’m guessing it finds the first Issues: and seems to therefore not bring back any data, I assumed it would carry forward down the email from the Order ID but I don’t think it is, I had a look at the Extract Text from Text but you cant use a variable as the begin location as its looking for a number and I want to use a text variable.

Am I missing something obvious here?

Thanks in advance 🙂




VNX5100 SPA blinking amber, while SPB is blinking blue

Long story made short:

I recently recieved this array from a friend. he had some old config on the array, and some disk pools i couldn’t delete. in the end i figured it would be better to factory reset the entire SAN. i hooked SPA to a com-port and invalidated the data on the array, and proceeded to reimage it.

after letting the array do some work reimaging (3-4 hours) i decided to reboot, as i was getting a “navi error access denied.” in the browser when trying to acces it. i rebooted the system and it started its normal startup procedure. after a while, SPB seem to advance to the next step in the boot process, while SPA is stuck at the first part. after a while, SPB is blinking blue rapidly, while SPA is blinking amber rapidly. i’ve let them stand like this for hours now with no change.

If anyone knows anything about this problem and want to help me out, that would be greatly appreciated!


Unisphere for PowerMax Real Time

In Unisphere for PowerMax 9.0 and PowerMax O/S 5978 we introduced a new feature called Storage Group Real Time which allows customers a more granular view of their performance data on the array.

Traditionally we offer the ability to view System wide performance data at the director level at 5 seconds but this new ability refers to the SG level whereby we can now see data at 30 second intervals rather than 5 minutes. This enhanced ability gives you the ability to more easily identify performance spikes as they occur.

There are certain caveats in order to use SG Real Time:

  • Unisphere for PowerMax 9.0 Required
  • PowerMax O/S 5978
  • 1 Array at a time can be monitored per Unisphere Instance.
  • Maximum of 5 SG’s at a time
  • Limited set of KPI Metrics (Host I/O’s/Sec, Host MB’s/Sec, Host Reads/Sec, Host Writes/Sec, Read RT (ms), Response Time (ms), Write RT (ms).

To begin let’s see how we register an array for SG Real Time, we go to Settings:


To register the array select Performance>System Registrations. You can see in the 4th column we have SG Real Time enabled on array 0156 as it is running the level of code required. By selecting the icon “Real Time Storage Groups” we can make our selection of what 5 SG’s we wish to monitor.


Presently we are monitoring 2 SG’s and if required we can 3 more if required.

Now let’s go to the charting section to see how it works in practice:


In the new chart section you can see we have called our chart RT1 and specified the last hour. In terms of objects we have selected Storage Groups and then we select the SG we can to chart on. Finally we have 7 KPI metrics of which we have chosen 3 here to draw our chart on.


Here on the X axis you can see how the time values are reduced down to minutes and we can get finer granularity as required if we are in troubleshooting mode.

I hope you find this useful and for a video on this please see here Unisphere for PowerMax Real Time.


  • No Related Posts

How can I add dual RDF ports while setting up SRDF-S replication in VMAX via vApp manager


I have setup a new SRDF connection in the environment, during the process I selected RDF ports of the local array and the remote array.

However I was only able to select single RDF ports on the local as well as the remote array. Could you tell me why is that ? and how can I add the second RDF port on the local and remote array for SRDF?

Below are the some details

Symm frame : VMAX 250 AF

Hypermax version (Enginuity Version) : 5977

Any details or response will be appreciated !!



Re: Health Check and Capacity Reporting for Heterogeneous SAN Environments

Large service delivery accounts often find it difficult to perform health checks and monitor capacity on hundreds of arrays and switches spread across different environments, in various locations. To guarantee Service Level Agreements (SLA), a health check report is prepared several times a day to closely monitor the arrays and to ensure that all failures are handled appropriately. This time-consuming, tedious task requires the effort of multiple engineers dedicated for this purpose. The complexity increases as fabrics may be spread across different environments and locations. Moreover, due to the heterogeneity of the arrays and switches, a single tool may not serve the purpose of monitoring the entire environment.

In this Knowledge Sharing article, Mumshad Mannambeth and Salem Sampath, list the methodologies used in implementing a time-saving, automated, health check and capacity report generation process for large numbers of different types of arrays and switches in a shared cloud environment. This process uses numerous scripts developed in OS-specific shells and presentation tools, such as Excel, that can be prepared in minutes. The process eliminates the need for users to log in to each management workstation to inspect the array. Instead, health check scripts are run on the workstations using scheduled tasks and reports are automatically emailed to the administrators group.

The article explores Health Check routines for different types of heterogeneous arrays and switches, including:

EMC Symmetrix/VMAX


Hitachi HDS Arrays

IBM XIV Arrays

HP EVA/XP Arrays

Brocade Switches

Cisco Switches

The authors also discuss:

Scripts to perform health check on the above mentioned arrays and switches

Data gathering techniques

Emailing techniques from different OS Platforms

Automatic FTP uploading and downloading scripts

Analysis of collated reports using Excel VBA – Automation of health check reports from multiple Outlook emails to a single Excel-based report

The procedure described in this article has been successfully implemented in multiple major accounts reducing manual effort and time to perform health checks on a large number of arrays and switches. It is especially suitable for accounts monitoring multiple domains and heterogeneous products that cannot be monitored with a single tool.

Read the full article.


Re: Vipr SRM – Status or Replication report

I am working on a report that monitors data received or transmitted on an array that is a target of replication. ie. MB/s received by the target array for a Replicated device. I have set thresholds to indicate status.. green is data is being transmitted, so any value greater than zero, and red data was not transferred, so value = 0. My problem is, when a device is deleted and there is no numeric value, so it would be a NULL until that device is considered a non active metric in SRM. In my report that type of condition is represented by the last known value and never changes. My report polling is Last Day, 1 Hr, Last.

I want to be able to show that in my report by using a threshold so it is investigated. I am using the Status report type. Does anyone know of a way to set a threshold to NULL

Or has anyone created a report that they use to show replication status, VMAX, Recoverpoint, Netapp…