BIFL: Paper Shredders - My Preemptive Parts Procurement Request to Fellowes

This may seem odd...

I'm a big proponent of the BIFL mindset (Buy It For Life).  If one buys a product, it should be designed to last a lifetime... even if it means paying a little bit extra.  So when I spent over $200 on a shredder (after careful research), I chose a Fellowes 99ci, based on reliability reviews and the excellent Customer Service record you have amassed over the years.

Being of the slightly... fixated... variety, I know from my research that virtually no shredder (short of a $2,500 GSA-schedule-listed model that's designed to shred a man-sized safe's worth of documents) has end-to-end metal gearing and/or a chain drive.

My last shredder (non-Fellowes-brand) died in this fashion... the single nylon gear finally became brittle and decided to unceremoniously off itself.  Naturally, the single nylon gear is impossible to obtain, which forced me to grudgingly haul its otherwise-still-good-except-for-a-designed-to-fail-nylon-gear carcass to my dumpster's gaping maw.

I therefore beseech you, o kind reader of support requests... can I please possibly preemptively procure (alliteratively) the replacement nylon gear(s) for this shredder such that I can pass this beast of a shredder on to the next generation?

My shredder serial number is: [REDACTED]

Respectfully submitted,

Brian Dagan

brian@briandagan.com

How To: Eliminate Superfluous "Critical" Alerts From APC Network Management Cards

Here’s another one to file under the, “web UI is inferior to the command line interface” category of gotchas.  First, the basics:

·         APC Symmetra UPS

·         AP9619 Network Management Card (latest firmware)

·         “Critical” alerts set to page On-Call Engineers

Ever since this UPS was installed, we had all “Critical” events being sent to the distribution list for paging the On-Call Engineers.

Here’s the problem… every time the UPS would pass a self-test, we’d receive a Critical Ticket, which would wake up the On-Call Engineers, who would then proceed to curse my name, close the ticket, and go back to bed after punching the pillow repeatedly.  Imagine getting this alert at 3 AM… how would that make you feel?

Each time this would happen, I would:

·         Check for upgraded firmware

·         Run through the wizards to #1) Clear the alerts and #2) Re-instate the alerts

·         Get cursed out again two weeks later when the scheduled self-test ran again

This got to be so frustrating that I just turned off self-tests altogether (not advised).

Finally, I called APC (thanks, D. Petrarc!) and they showed me the solution: The web UI doesn’t display all of the alerts and their clearing actions, so no matter how many times you run through the wizard, you’ll still get these alerts… unless you do the following:

1) Clear all alerts

2) Reinstate critical alerting to your “Critical” distribution list

3) Manually disable (via hex code) the alerts that aren’t shown in the web UI

Step 1: Clear all alerts

This walkthrough assumes you already have the latest firmware loaded on your APC NMC.  If this looks nothing like your UPS (e.g. your tabs are along the left-hand side), you’re not running the latest firmware.  Upgrade your firmware first by going to http://www.apc.com, clicking on “Software & Firmware,” locating & downloading the appropriate firmware specific to the model number of your Network Management Card, and following the directions in the ReadMe to get the firmware up-to-date.  In my experience, if you’re going from a way-outdated firmware version to the current version, you may have to try a couple of times, but it will work eventually (be patient).

1A) Go ahead and log into your APC NMC’s web UI, then go to Administration > Notification > Event Actions > by group:

     

1B) Choose “Events by Severity,” check all three boxes and hit Next:

      

1C) Choose “E-mail Recipients” and click Next:

      

1D) Check the box next to the e-mail address (you’ve already configured this under Administration > Notification > E-mail > recipients, right?) and click Next:

     

1E) Confirm the information matches the screenshot below (in particular the “Disable Notifications” radio button) and click Next:
     

1F) Confirm the “will not be notified” phrasing and click Apply… this will take 5-10 seconds:

     

1G) Click Finish:
     

Step 2: Reinstate critical alerting to your “Critical” distribution list

2A) Back on the Administration > Notification > Event Actions > by group page (see Step 1A), choose “Events by Severity” and check only the box next to “All Critical Events” and click Next:
     

2B) Choose “E-mail Recipeints” and click Next:

     

2C) Check the box next to the e-mail address and click Next:

     

2D) Confirm the settings below, especially the “Enable Notifications” selection… and turn off the repeat option so you don’t generate a heap of Critical tickets, then click Next:

   

2E) Confirm the settings and click Apply:

   

2F) Click Finish:
     

Step 3: Manually disable (via hex code) the alerts that aren’t shown in the web UI

3A) Go to the  Administration > Notification > Event Actions > by event page:

     

3B) Choose a random event category… I’m going to choose Battery:

     

3C) Now choose a random event… I’m going to choose “UPS: The number of batteries increased”:
     

3D) Take a look at your browser’s address bar… notice the hex code at the end?  This is what we’ll be changing in the next step:
     

3E) Substitute the hex code for 0x0105 (for “UPS: Passed a self-test”) and hit Enter:
     

3F) Un-check the box for the e-mail recipient and click Apply:
     

3G) If there are any other superfluous events (mostly “clearing” events) that you don’t want sent to the “Critical” distribution list, you can repeat steps 3E and 3F for those alerts as well… see “APC_NMC_Events.txt” (attached)

Hooray for not unnecessarily waking people up!

; System: Coldstart.
E0001=ES,E[:::],T[:::::],P[:::]

; System: Warmstart.
E0002=ES,E[:::],T[:::::],P[:::]

; System: SNMP configuration change.
E0003=ES,E[-:::],T[:::::],P[:::]

; System: Detected an unauthorized user attempting to access the SNMP interface.
E0004=ES,E[-:::],T[:::::],P[:::]

; System: Detected an unauthorized user attempting to access the Control Console interface.
E0005=ES,E[-:::],T[:::::],P[:::]

; System: Detected an unauthorized user attempting to access the Web interface.
E0006=ES,E[-:::],T[:::::],P[:::]

; System: Detected an unauthorized user attempting to access the FTP interface.
E0045=ES,E[-:::],T[:::::],P[:::]

; System: Network service started.
E0007=E,E[:+:+:],T[:::::],P[:::]

; System: Password changed.
E0008=ES,E[-:::],T[:::::],P[:::]

; System: Restarting.
E0009=E,E[:+:+:],T[:::::],P[:::]

; System: FTP File transfer started.
E000C=E,E[:+:+:],T[:::::],P[:::]

; System: TFTP File transfer started.
E000D=E,E[:+:+:],T[:::::],P[:::]

; System: File transfer failed.
E000F=E,E[:+:+:],T[:::::],P[:::]

; System: Console user logged in.
E0014=E,E[:+:+:],T[:::::],P[:::]

; System: Web user logged in.
E0015=E,E[:+:+:],T[:::::],P[:::]

; System: FTP user logged in.
E0016=E,E[:+:+:],T[:::::],P[:::]

; System: Reset to Defaults.
E0018=E,E[:+:+:],T[:::::],P[:::]

; System: Initializing data in the file.
E0019=E,E[:::],T[:::::],P[:::]

; System: Email information.
E001A=E,E[:+:+:],T[:::::],P[:::]

; System: TCP/IP stack failure.
E001D=E,E[:+:+:],T[:::::],P[:::]

; System: Console user logged out.
E001E=E,E[:+:+:],T[:::::],P[:::]

; System: Web user logged out.
E001F=E,E[:+:+:],T[:::::],P[:::]

; System: FTP user logged out.
E0020=E,E[:+:+:],T[:::::],P[:::]

; System: Set Date or Time.
E0021=E,E[:::],T[:::::],P[:::]

; System: Trace information.
E0024=,E[:::],T[:::::],P[:::]

; System: Data Log cleared.
E0023=E,E[:+:+:],T[:::::],P[:::]

; System: Modem dial-out failed.
E0025=ES,E[-:::],T[:::::],P[:::]

; System: RMS CLI user logged in.
E0026=E,E[:+:+:],T[:::::],P[:::]

; System: RMS CLI user logged out.
E0027=E,E[:+:+:],T[:::::],P[:::]

; System: Network service information.
E002A=E,E[:::],T[:::::],P[:::]

; System: Network service could not start.
E002B=E,E[:+:+:],T[:::::],P[:::]

; System: Network service stopped.
E002C=E,E[:::],T[:::::],P[:::]

; System: SSL Error: Invalid certificate.
E002D=E,E[:+:+:],T[:::::],P[:::]

; System: New certificate loaded.
E002E=E,E[:+:+:],T[:::::],P[:::]

; System: SSL enabled (now using HTTPS).
E002F=E,E[:+:+:],T[:::::],P[:::]

; System: SSL disabled (now using HTTP).
E0030=E,E[:+:+:],T[:::::],P[:::]

; System: Session Management enabled.
E0039=E,E[:::],T[:::::],P[:::]

; System: Session Management disabled.
E003A=E,E[:::],T[:::::],P[:::]

; System: WebServer could not start
E0031=E,E[:::],T[:::::],P[:::]

; System: DNS Network Error.
E0032=E,E[:+:+:],T[:::::],P[:::]

; System: Configuration change.
E0033=E,E[:+:+:],T[:::::],P[:::]

; System: Configuration file uploaded complete.
E0034=E,E[:+:+:],T[:::::],P[:::]

; System: Paging: Failed to send message.
E0035=E,E[:+:+:],T[:::::],P[:::]

; System: SSL information.
E0036=E,E[:+:+:],T[:::::],P[:::]

; System: SSH/SCP information.
E0037=E,E[:+:+:],T[:::::],P[:::]

; System: Certificate, host key, and log store information.
E0038=E,E[:::],T[:::::],P[:::]

; System: Set Daylight Saving Time.
E003D=E,E[:+:+:],T[:::::],P[:::]

; System: NTP update failure.
E003F=E,E[:+:+:],T[:::::],P[:::]

; System: Data Log Upload event.
E0040=E,E[:+:+:],T[:::::],P[:::]

; System: RMS failed to send email/modem.
E0041=E,E[:+:+:],T[:::::],P[:::]

; System: Event Log cleared.
E0013=E,E[:::],T[:::::],P[:::]

; System: Lost communications event manually cleared.
E0044=E,E[:+:+:],T[:::::],P[:::]

; UPS: Restored the local network management interface-to-UPS communication.
E0101=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: Lost the local network management interface-to-UPS communication.
E0102=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The load exceeds 100% of rated capacity.
E0103=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The load no longer exceeds 100% of rated capacity.
E0104=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: Passed a self-test.
E0105=ES,E[:::],T[:::::],P[:::]

; UPS: Failed a self-test.
E0106=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The battery power is too low to support the load; if power fails, the UPS will be shut down immediately.
E0107=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A discharged battery condition no longer exists.
E0108=ES,E[:::],T[:::::],P[:::]

; UPS: On battery power in response to an input power problem.
E0109=ES,E[--05S-30S00:::],T[:::::],P[:::]

; UPS: No longer on battery power.
E010A=ES,E[-:::],T[:::::],P[:::]

; UPS: The battery power is too low to continue to support the load; the UPS will shut down if input power does not return to normal soon.
E010F=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A low battery condition no longer exists.
E0110=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The output power is now turned on.
E0113=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The output power is turned off.
E0114=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: Turned off for a defined period of time in response to a software command, or off while waiting for input power to return to normal.
E0115=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: Turned on after a defined period of time, or input power has returned to normal.
E0116=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: Started a reboot process.
E0117=ES,E[-:::],T[:::::],P[:::]

; UPS: At least one faulty battery exists.
E0119=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A faulty battery no longer exists.
E011A=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: In bypass in response to the UPS front-panel or a user-initiated software command, typically for maintenance.
E011C=ES,E[--05S-30S00:::],T[:::::],P[:::]

; UPS: No longer in bypass.
E011E=ES,E[-:::],T[:::::],P[:::]

; UPS: Started a runtime calibration.
E0123=ES,E[-:::],T[:::::],P[:::]

; UPS: Completed a runtime calibration.
E0124=ES,E[-:::],T[:::::],P[:::]

; UPS: Graceful shutdown in progress.
E0125=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A battery charger fault exists.
E012A=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A battery charger fault no longer exists.
E012B=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The internal battery temperature exceeds the critical threshold.
E012C=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The internal battery temperature no longer exceeds the critical threshold.
E012D=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: Started a scheduled shutdown.
E0131=ES,E[-:::],T[:::::],P[:::]

; UPS: Failed a scheduled shutdown.
E0132=ES,E[-:::],T[:::::],P[:::]

; UPS: deleted a scheduled shutdown.
E0133=ES,E[-:::],T[:::::],P[:::]

; UPS: A synchronization command information message occurred.
E0136=ES,E[-:::],T[:::::],P[:::]

; UPS: Started a self-test.
E0137=E,E[-:::],T[:::::],P[:::]

; UPS: Lost the management interface-to-UPS communication while the UPS was on battery.
E0148=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: SNMP was used to issue a control command.
E0149=ES,E[-:::],T[:::::],P[:::]

; UPS: A power module fault exists.
E0201=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A power module fault no longer exists.
E0202=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A main intelligence module fault exists.
E0203=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A main intelligence module fault no longer exists.
E0204=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A redundant intelligence module fault exists.
E0205=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A redundant intelligence module fault no longer exists.
E0206=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A battery fault exists.
E0207=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A battery fault no longer exists.
E0208=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A load (kVA) alarm threshold violation exists.
E0209=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A load (kVA) alarm threshold violation no longer exists.
E020A=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: Redundancy lost.
E020B=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: Redundancy returned.
E020C=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A redundancy alarm threshold violation exists.
E020D=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A redundancy alarm threshold violation no longer exists.
E020E=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: An input voltage or frequency problem prevents switching to bypass mode.
E020F=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: An input voltage or frequency problem no longer prevents switching to bypass mode.
E0210=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The bypass relay is stuck in its bypass position.
E0211=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The bypass relay is no longer stuck in its bypass position.
E0212=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The bypass relay is stuck in its online position.
E0213=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The bypass relay is no longer stuck in its online position.
E0214=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: In bypass in response to an internal hardware fault.
E0215=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: No longer in bypass.
E0216=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: In bypass in response to an overload.
E0217=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: No longer in bypass.
E0218=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: In bypass for maintenance.
E0219=ES,E[--05S-30S00:::],T[:::::],P[:::]

; UPS: No longer in bypass.
E021A=ES,E[-:::],T[:::::],P[+:+:+:+]

; UPS: The input circuit breaker is open.
E021B=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The input circuit breaker is no longer open.
E021C=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: System level fan fault exists.
E021D=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: System level fan fault no longer exists.
E021E=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The redundant intelligence module is in control.
E021F=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The main intelligence module is now in control.
E0220=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: An internal communication bus fault exists.
E0221=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: An internal communication bus fault no longer exists.
E0222=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: No power modules detected as installed.
E0223=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: Power modules are now detected.
E0224=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: An input voltage or frequency problem occurred while in bypass, turning off the UPS.
E0225=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The power problem that caused the UPS to turn off while in bypass no longer exists.
E0226=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A runtime alarm threshold violation exists.
E0227=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A runtime alarm threshold violation no longer exists.
E0228=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: An extended run frame fault exists.
E0229=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: An extended run frame fault no longer exists.
E022A=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The output voltage is outside its defined limits.
E022B=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The output voltage is no longer outside its defined limits.
E022C=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A phase synchronization fault exists.
E022D=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A phase synchronization fault no longer exists.
E022E=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The battery is not installed properly.
E022F=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The battery is now installed.
E0230=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The battery voltage exceeds the nominal battery voltage rating.
E0231=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: The battery voltage no longer exceeds the nominal battery voltage rating.
E0232=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: Non-specific fault; Access UPS keyboard for details.
E0233=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: Non-specific fault cleared.
E0234=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A site wiring fault exists.
E0235=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A site wiring fault no longer exists.
E0236=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: The number of batteries increased.
E0241=ES,E[-:::],T[:::::],P[:::]

; UPS: The number of batteries decreased.
E0242=ES,E[-:::],T[:::::],P[:::]

; UPS: Number of Power Modules increased.
E0243=ES,E[-:::],T[:::::],P[:::]

; UPS: Number of Power Modules decreased.
E0244=ES,E[-:::],T[:::::],P[:::]

; UPS: The main intelligence module was inserted.
E0245=ES,E[-:::],T[:::::],P[:::]

; UPS: The main intelligence module was removed.
E0246=ES,E[-:::],T[:::::],P[:::]

; UPS: The redundant intelligence module was inserted.
E0247=ES,E[-:::],T[:::::],P[:::]

; UPS: The redundant intelligence module was removed.
E0248=ES,E[-:::],T[:::::],P[:::]

; UPS: The number of extended run frames increased.
E0249=ES,E[-:::],T[:::::],P[:::]

; UPS: The number of extended run frames decreased.
E024A=ES,E[-:::],T[:::::],P[:::]

; UPS: A system fault exists.
E0A01=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A system fault no longer exists.
E0A02=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A bypass relay failure exists.
E0A03=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A bypass relay failure no longer exists.
E0A04=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A power module turn off failure exists.
E0A05=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A power module turn off failure no longer exists.
E0A06=ES,E[:::],T[:::::],P[+:+:+:+]

; UPS: A frame identification failure exists.
E0A07=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; UPS: A frame identification failure no longer exists.
E0A08=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A critical fault exists for external Environmental Monitor input contact 1 ({name} at {location}).
E0301=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A fault no longer exists for external Environmental Monitor input contact 1 ({name} at {location}).
E0302=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A critical fault exists for external Environmental Monitor input contact 2 ({name} at {location}).
E0303=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A fault no longer exists for external Environmental Monitor input contact 2 ({name} at {location}).
E0304=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A critical fault exists for external Environmental Monitor input contact 3 ({name} at {location}).
E0305=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A fault no longer exists for external Environmental Monitor input contact 3 ({name} at {location}).
E0306=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A critical fault exists for external Environmental Monitor input contact 4 ({name} at {location}).
E0307=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A fault no longer exists for external Environmental Monitor input contact 4 ({name} at {location}).
E0308=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A minimum temperature threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting under {threshold}.
E0331=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A minimum temperature threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E0332=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A low temperature threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting under {threshold}.
E0309=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A low temperature threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E030A=ES,E[-:::],T[:::::],P[:::]

; Environment: A high temperature threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting over {threshold}.
E030B=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A high temperature threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E030C=ES,E[-:::],T[:::::],P[:::]

; Environment: A maximum temperature threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting over {threshold}.
E032F=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A maximum temperature threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E0330=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A minimum humidity threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting under {threshold}.
E0335=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A minimum humidity threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E0336=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A low humidity threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting under {threshold}.
E030D=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A low humidity threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E030E=ES,E[-:::],T[:::::],P[:::]

; Environment: A high humidity threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting over {threshold}.
E030F=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A high humidity threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E0310=ES,E[-:::],T[:::::],P[:::]

; Environment: A maximum humidity threshold violation exists for external Environmental Monitor sensor 1 ({name} at {location}) reporting over {threshold}.
E0333=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A maximum humidity threshold violation no longer exists for external Environmental Monitor sensor 1 ({name} at {location}).
E0334=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A minimum temperature threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting under {threshold}.
E0339=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A minimum temperature threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E033A=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A low temperature threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting under {threshold}.
E0311=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A low temperature threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E0312=ES,E[-:::],T[:::::],P[:::]

; Environment: A high temperature threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting over {threshold}.
E0313=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A high temperature threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E0314=ES,E[-:::],T[:::::],P[:::]

; Environment: A maximum temperature threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting over {threshold}.
E0337=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A maximum temperature threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E0338=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A minimum humidity threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting under {threshold}.
E033D=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A minimum humidity threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E033E=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A low humidity threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting under {threshold}.
E0315=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A low humidity threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E0316=ES,E[-:::],T[:::::],P[:::]

; Environment: A high humidity threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting over {threshold}.
E0317=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A high humidity threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E0318=ES,E[-:::],T[:::::],P[:::]

; Environment: A maximum humidity threshold violation exists for external Environmental Monitor sensor 2 ({name} at {location}) reporting over {threshold}.
E033B=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A maximum humidity threshold violation no longer exists for external Environmental Monitor sensor 2 ({name} at {location}).
E033C=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: Restored the local network management interface-to-external Environmental Monitoring Card communication.
E0319=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: Lost the local network management interface-to-external Environmental Monitoring Card communication.
E031A=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A critical fault exists for integrated Environmental Monitor input contact {number} ({name} at {location}).
E031B=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A fault no longer exists for integrated Environmental Monitor input contact {number} ({name} at {location}).
E031C=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A minimum temperature threshold violation exists for integrated Environmental Monitor sensor ({name} at {location}) reporting under {threshold}.
E0329=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A minimum temperature threshold violation no longer exists for integrated Environmental Monitor sensor ({name} at {location}).
E032A=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A low temperature threshold violation exists for integrated Environmental Monitor sensor ({name} at {location}) reporting under {threshold}.
E031D=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A low temperature threshold violation no longer exists for integrated Environmental Monitor sensor ({name} at {location}).
E031E=ES,E[-:::],T[:::::],P[:::]

; Environment: A high temperature threshold violation exists for integrated Environmental Monitor sensor ({name} at {location}) reporting over {threshold}.
E031F=ES,E[--05S-30S00:::],T[:::::],P[:::]

; Environment: A high temperature threshold violation no longer exists for integrated Environmental Monitor sensor ({name} at {location}).
E0320=ES,E[-:::],T[:::::],P[:::]

; Environment: A maximum temperature threshold violation exists for integrated Environmental Monitor sensor ({name} at {location}) reporting over {threshold}.
E0327=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A maximum temperature threshold violation no longer exists for integrated Environmental Monitor sensor ({name} at {location}).
E0328=ES,E[:::],T[:::::],P[+:+:+:+]

; Environment: A minimum humidity threshold violation exists for integrated Environmental Monitor sensor ({name} at {location}) reporting under {threshold}.
E032D=ES,E[+-05S-30S00:::],T[:::::],P[:::]

; Environment: A minimum humidity threshold violation no longer exists for integrated Environmental Monitor sensor ({name} at {location}).
E032E=ES,E[:::],T[:::::],P[+:+

Best Practices: Do NOT Use External DNS Servers For Internal Servers' IP Configurations... Here's Why...

First, yes… I’ll let the cat out of the bag…

Figure 1: Bag Cat

…that this is not new information.  Y’all know (and have known) for some time that it’s never a good idea to use external DNS servers for internal servers’ IP configurations, but you may be asking yourself:

“But Dagan, what’s the harm?   I mean, if it’s not a Domain Controller, why shouldn’t I add an external DNS server as my tertiary DNS server in the server’s IP configuration?  You know… just in case the DCs decide to call Ralph on the porcelain telephone, they’ll still be able to get to the Internet… so who cares?”

Well, for one, the folks who can’t use Citrix.

Huh?

Let me explain by way of example.

I received a critical call at 3:00 PM today from a client who said that, “Nobody can connect to Citrix… everybody is getting an ‘RPC server unavailable’ message!”

Looking back in the Event Logs, I see the following error:

Event Type: Error

Event Source:     Userenv

Event Category:   None

Event ID:   1053

Date:       12/5/2011

Time:       1:55:07 PM

User:       NT AUTHORITY\SYSTEM

Computer:   [REDACTED]

Description:

Windows cannot determine the user or computer name. (The RPC server is unavailable. ). Group Policy processing aborted.

I also saw a whole slew of errors pertaining to an inability “to start XXXXX.exe.  The RPC server is unavailable.”  It’s only after digging further that I found the “magic event” that pointed me in the networking direction (emphasis added):

Event Type: Error

Event Source:     NETLOGON

Event Category:   None

Event ID:   5719

Date:       12/5/2011

Time:       2:56:58 PM

User:       N/A

Computer:   [REDACTED]

Description:

This computer was not able to set up a secure session with a domain controller in domain [REDACTED] due to the following:

The RPC server is unavailable. 

This may lead to authentication problems. Make sure that this computer is connected to the network. If the problem persists, please contact your domain administrator.

ADDITIONAL INFO

If this computer is a domain controller for the specified domain, it sets up the secure session to the primary domain controller emulator in the specified domain. Otherwise, this computer sets up the secure session to any domain controller in the specified domain.

So, the server can’t contact any domain controllers in the domain.

Let’s ping the internal domain (yes, this company had matching internal and external domains… we’ll ignore this bad juju for now):

[REDACTED]>ping internaldomain.com

Pinging internaldomain.com [74.205.X.X] with 32 bytes of data:

Reply from 74.205.X.X: bytes=32 time=10ms TTL=246

Reply from 74.205.X.X: bytes=32 time=10ms TTL=246

Reply from 74.205.X.X: bytes=32 time=9ms TTL=246

Reply from 74.205.X.X: bytes=32 time=9ms TTL=246

Ping statistics for 74.205.X.X:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 9ms, Maximum = 10ms, Average = 9ms

So, as we can see, this is resolving outside of the 192.168.X.X network to a public IP range of 74.205.X.X… that’s odd…

Even more odd… if I do an nslookup, the primary DNS server in the 192.168.X.X range responds happily with the correct information… so, that means one of two things:

Option 1: There’s a HOSTS file entry.

Option 2: It’s a cached DNS entry.

So, I checked %WINDIR%\System32\Drivers\etc\HOSTS, but it’s unmodified.  Option 1 is out.

A quick check of the IP configuration (in the Advanced screen, no less) revealed the following DNS servers:

192.168.X.X

192.168.X.X

4.2.2.2

So, then the question becomes, “How did the first two DNS servers fail to the point where the DNS query hit the tertiary DNS record?”

A quick check of the patching/reboot schedules shows the problem… the Domain Controllers are rebooting within half an hour of each other, so it’s possible (though calamitously unlikely) that both servers were inaccessible either due to patching operations or reboot operations taking place simultaneously.

So, let’s fix this puppy…

Get it?  Moving on…

1) I removed the 4.2.2.2 tertiary DNS server entry from the IP configuration of the Citrix server

2) I ran an ipconfig /flushdns from the command line

3) I checked for name resolution both of the internal domain and the primary DNS server… happily, we’re now getting a 192.168.X.X response (like we should)

4) I attempted to connect to the Citrix server and was able to get in

So, in a timeline:

·         3:49 AM: Both DCs go down at the same time, and the Citrix server resolves the internal domain to an external IP address on account of the tertiary DNS server being set to the external DNS IP address of 4.2.2.2… this entry gets cached until the TTL expires (evidently 4.2.2.2, being a caching DNS server, gave the internaldomain.com A records a long TTL)

·         1:55 PM: The Citrix server starts quietly freaking out about the fact that it can’t contact the domain

·         2:57 PM: The Citrix server slams on the brakes and says, “Nope, I’m not running any more programs or allowing any more connections until you let me talk to my lawyer… erm, I mean, the domain!”

·         3:00 PM: The client calls to say that his Citrix server is down

·         3:35 PM: After the troubleshooting & changes 1-4 detailed above, the Citrix server started working again without a reboot

…and in summary:

Please only use internal DNS server IP addresses on internal servers’ respective IP configurations.  Oh, and tip your wait staff.  :-)

How To: Cancel Your Verio Web Hosting Account Without Waiting On Hold

If your company, like mine, is not tolerant of 5+ days of downtime for your website hosted on Verio, this should help you through the process of running for the hills…

As Verio’s official “party line” is that you must call Customer Care to close your account (Reference: http://support.verio.com/documents/view_article.cfm?doc_id=3755), I figured I’d save you the hassle of sitting on hold for an hour+ by telling you what they’ll tell you to do after you sit on hold.

1) Log into your website control panel… if you don’t know where that lives, go here: http://support.verio.com/apps/p_custtools/accountAccess.php and put in your domain and the primary account holder’s e-mail address as follows:

   

2) Once logged in, click the “Account Administration” link (it’s at the top left of the page or thereabouts)

3) Log in again with the same username and password that you just used to log into your website’s control panel

4) At the top of the page, click the Account Management link:

   

5) Under “Profile,” choose “Account Options”:

   

6) You should see an icon to modify or close your account (sorry I don’t have a screenshot for this one)

7) Run through the wizard to close the account (it’s a few steps asking why you’re leaving, etc.)

8) Print or save your confirmation page… Verio has been known to continue charging after cancellation, so having this confirmation page saved is essential if you continue to see Verio charges on your credit card!

   

The cancellation e-mail will go to your primary e-mail contact and will probably get caught in your spam filter, so check there first before getting huffy with Customer Service :-)