How to change the VNX weekly heartbeat date and time

Changing the time for the weekly heartbeat

People with Clariion or VNX systems installed on site know that these arrays will email “home” (that’s EMC/you) once a week on a seemingly random date/time. Ok, once the day of the week and the time are set, each week the “I’m still alive” email will go out at that time. But what if you don’t want to have that email sent out at Thursday at 2:47AM and you want all of your arrays to send out that email on Saturday at noon sharp? You will need to adjust the parameters. I didn’t find a way to change the weekday, so I’m changing the time less than a day before it needs to run. So if I want it to run on Saturday at noon, I could run this script on Friday after noon. It will pick the next available day automatically.

The command line stuff

So I wrote 2 scripts (DOS batch files):

  • Heartbeat.cmd
  • Heartbeat_change.cmd

“Heartbeat_change” contains the actual syntax for the “naviseccli” command:

@echo off
REM Version 1.0; Rob Koper
REM This script adjusts the weekly heartbeat to the next day at %2h:%3m:%4s

naviseccli -h %1 eventmonitor -heartbeat -modify -hour %2
naviseccli -h %1 eventmonitor -heartbeat -modify -min %3
naviseccli -h %1 eventmonitor -heartbeat -modify -sec %4

If you have a large number of EMC CX/VNX arrays, you can “call” the first script from within another script. In my case I named it “Heartbeat” and it contains content similar to this:

@echo off
REM Version 1.0; Rob Koper
REM This script will adjust the weekly heartbeat for the named arrays to the named time
REM You only need to run the command to SPA of each array.

call Heartbeat_change 10.11.1.62 12 0 0
call Heartbeat_change 10.11.1.64 12 0 0
call Heartbeat_change 10.11.1.66 12 0 0
call Heartbeat_change 10.11.1.68 12 0 0
call Heartbeat_change 10.11.1.70 12 0 0
call Heartbeat_change 10.11.1.78 12 0 0
call Heartbeat_change 10.11.1.95 12 0 0
call Heartbeat_change 10.11.1.124 12 0 0
call Heartbeat_change 10.11.1.188 12 0 0
call Heartbeat_change 10.11.1.190 12 0 0
call Heartbeat_change 10.11.1.192 12 0 0
call Heartbeat_change 10.11.1.208 12 0 0
call Heartbeat_change 10.11.1.212 12 0 0
call Heartbeat_change 10.11.1.214 12 0 0
call Heartbeat_change 10.11.1.216 12 0 0
call Heartbeat_change 10.11.1.218 12 0 0
call Heartbeat_change 10.11.1.220 12 0 0

Oh, A remark though: I didn’t include name, password and scope, since I’m using a security file which contains the information for each of the Storage Processors I’m addressing. If you need to use these, you need to add a few parameters like this into the first script:

naviseccli -h %1 -user USERNAME -password -PASSWORD -scope SCOPE eventmonitor -heartbeat -modify -hour %2

…and so on…

Would you like to comment on this post?