# OK Merethis [SunFire E4500/E5500] system.match = ^System Configuration:.*Sun Enterprise E4500/E5500 system.checks = Memory,Leds,Fans,Temperatures,PSU checks.Memory.description = memory banks status checks.Memory.begin_match = ^=+ Memory checks.Memory.end_match = ^= checks.Memory.data_match = ^\s*(\d+)\s+(\d+)\s+\S+\s+(.*?)\s+(.*?)\s+ checks.Memory.data_labels = Board,Bank,Status,Condition checks.Memory.ok_condition = "%Condition%" eq "OK" checks.Memory.output_string = Memory Board '%Board%' on bank '%Bank%' status is '%Condition%' checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status: checks.Leds.end_match = :$ checks.Leds.data_match = ^\S+\s+(\S+)\s+(\S+)\s+(\S+) checks.Leds.data_labels = Power,Failure,Running checks.Leds.ok_condition = "%Failure%" ne "ON" checks.Leds.output_string = System failure led status is '%Failure%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fans: checks.Fans.end_match = ^$ checks.Fans.skip_match = ^(-+|Unit) checks.Fans.data_match = ^(\S+)\s+(\S+) checks.Fans.data_labels = Unit,Status checks.Fans.ok_condition = "%Status%" eq "OK" checks.Fans.output_string = Fan '%Unit%' status is '%Status%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^System Temperatures checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^(Brd|-+) checks.Temperatures.data_match = ^\s*(\S+)\s+(\S+)\s+(\S+)\s+\S+\s+\S+\s+(.*?)$ checks.Temperatures.data_labels = Location,State,Temperature,Trend checks.Temperatures.ok_condition = "%Trend%" =~ m/^stable|rising|falling$/i checks.Temperatures.output_string = Trend status '%Trend%' for temperature sensor '%Location%' (temp.: %Temperature% deg.) checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^$ checks.PSU.data_match = ^\s*(.*?)\s{2}\s+(.*?)$ checks.PSU.skip_match = ^(Supply|-+) checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "OK" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' # OK Merethis (v1280) [Netra-T12] system.match = ^System Configuration:.*Sun Fire V1280 system.checks = Memory,Fans,Temperatures,Voltages,FRU checks.Memory.description = memory module checks.Memory.begin_match = ^Memory Module Groups: checks.Memory.end_match = ^$ checks.Memory.skip_match = ^(-+|ControllerID) checks.Memory.data_match = ^(\S+)\s+(\S+)\s+(\S+)\s+(\S+) checks.Memory.data_labels = ControllerID,GroupID,Labels,Status checks.Memory.ok_condition = "%Status%" eq "okay" checks.Memory.output_string = Memory Module '%ControllerID%' '%Labels%' status is '%Status%' checks.Fans.description = fan status checks.Fans.begin_match = ^Fan (Status|Speeds): checks.Fans.end_match = ^$|:$ checks.Fans.skip_match = ^(-+|Location) checks.Fans.data_match = ^(\S+)\s+(\S+)\s+(\S+) checks.Fans.data_labels = Location,Sensor,Status checks.Fans.ok_condition = "%Status%" =~ m/self-regulating|okay/i checks.Fans.output_string = Fan '%Location%' status is '%Status%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^Temperature sensors: checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^(-+|Location) checks.Temperatures.data_match = ^(\S+)\s+(\S+).*?(\S+)\s*$ checks.Temperatures.data_labels = Location,Sensor,Status checks.Temperatures.ok_condition = "%Status%" eq "okay" checks.Temperatures.output_string = Temperature sensor '%Location%' status is '%Status%' checks.Voltages.description = voltages sensors checks.Voltages.begin_match = ^Voltage sensors: checks.Voltages.end_match = :$ checks.Voltages.skip_match = ^(-+|Location|=+) checks.Voltages.data_match = ^(\S+)\s+(\S+).*?(\S+)\s*$ checks.Voltages.data_labels = Location,Sensor,Status checks.Voltages.ok_condition = "%Status%" eq "okay" checks.Voltages.output_string = Voltage sensor '%Location%' status is '%Status%' checks.FRU.description = FRU operational status checks.FRU.begin_match = ^Fru Operational Status: checks.FRU.end_match = ^$ checks.FRU.skip_match = ^(-+|Location) checks.FRU.data_match = ^(\S+)\s+(\S+) checks.FRU.data_labels = Location,Status checks.FRU.ok_condition = "%Status%" =~ m/^okay|online|ok$/i checks.FRU.output_string = FRU '%Location%' operationnal status is '%Status%' [SunFire 280R] system.match = ^System Configuration:.*Sun Fire 280R system.checks = Leds,Fans,Disks,PSU,IO checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status:\s+ checks.Leds.end_match = ^$ checks.Leds.fetch_mode = linear checks.Leds.data_match = ((?:\S+\s)*\S+),\[\s*(.*?)\s*\] checks.Leds.data_labels = Location,Status checks.Leds.ok_condition = not( ( "%Location%" =~ m/FAULT/i ) and ("%Status%" eq "ON") ) checks.Leds.output_string = System LED '%Location%' status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Bank : checks.Fans.end_match = ^= checks.Fans.data_match = ^(\S+)\s+\[\s*(\S+)\s*\] checks.Fans.data_labels = Bank,Status checks.Fans.ok_condition = "%Status%" eq "NO_FAULT" checks.Fans.output_string = Fan '%Bank%' status is '%Status%' checks.Disks.description = disks status checks.Disks.begin_match = ^Disk Status: checks.Disks.end_match = ^= checks.Disks.data_match = ^(.*?\d+)(?:.*?)\[\s*(\S+)\s*\]\s*$ checks.Disks.data_labels = Disk,Status checks.Disks.ok_condition = "%Status%" eq "NO_FAULT" checks.Disks.output_string = Disk '%Disk%' status is '%Status%' checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^= checks.PSU.data_match = ^(.*?\d+)\s+\[\s*(\S+)\s*\] checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" =~ m/^OK|NO_FAULT$/ checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' checks.IO.description = IO cards status checks.IO.begin_match = ^=+\sIO Cards checks.IO.end_match = ^= checks.IO.skip_match = ^(-|Brd) checks.IO.data_match = ^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+) checks.IO.data_labels = Brd,Type,ID,Side,Slot,BusFreq,MaxBus,DevFunc,State checks.IO.ok_condition = "%States%" eq "ok" checks.IO.output_string = IO Card '%Type%/%ID%/%Side%/%Slot%' state is '%State%' [Enterprise 150] system.match = ^System Configuration:.*Sun Ultra 1 SBus system.checks = Boards checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^(No) / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' [Enterprise 250] system.match = ^System Configuration:.*Sun \(TM\) Enterprise 250 system.checks = Memory,Leds,Disks,Fans,PSU,Boards checks.Memory.description = memory banks status checks.Memory.begin_match = ^=+ Memory checks.Memory.end_match = ^= checks.Memory.data_match = ^\s*(\d+)\s+\S+\s+(.*?)\s+.*?(\S+)$ checks.Memory.data_labels = Bank,Socket,Status checks.Memory.ok_condition = "%Status%" eq "OK" checks.Memory.output_string = Memory unit '%Socket%' on bank '%Bank%' status is '%Status%' checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status:\s+ checks.Leds.end_match = ^$ checks.Leds.fetch_mode = linear checks.Leds.data_match = ((?:\S+\s)*\S+),\[\s*(.*?)\s*\] checks.Leds.data_labels = Location,Status checks.Leds.ok_condition = not( ( "%Location%" =~ m/ERROR/i ) and ("%Status%" eq "ON") ) checks.Leds.output_string = System LED '%Location%' status is '%Status%' checks.Disks.description = disks status checks.Disks.begin_match = ^Disk LED Status: checks.Disks.end_match = ^= checks.Disks.data_match = (DISK\s+\d+):\s+\[\s*(.*?)\s*\] checks.Disks.data_labels = Disk,Status checks.Disks.ok_condition = "%Status%" =~ m/^(OK|EMPTY)$/ checks.Disks.output_string = Disk '%Disk%' status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Bank : checks.Fans.end_match = ^= checks.Fans.data_match = ^(\S+)\s+\d+\s+(\S+) checks.Fans.data_labels = Bank,Status checks.Fans.ok_condition = "%Status%" eq "OK" checks.Fans.output_string = Fan '%Bank%' status is '%Status%' checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^= checks.PSU.data_match = ^\s*(\d+).*?(\S+)$ checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "OK" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' [Enterprise 450] system.match = ^System Configuration:.*Sun Enterprise 450 system.checks = Memory,Leds,Disks,Fans,PSU,Boards checks.Memory.description = memory banks status checks.Memory.begin_match = ^=+ Memory checks.Memory.end_match = ^= checks.Memory.data_match = ^\s*(\d+)\s+\S+\s+(.*?)\s+.*?(\S+)$ checks.Memory.data_labels = Bank,Socket,Status checks.Memory.ok_condition = "%Status%" eq "OK" checks.Memory.output_string = Memory unit '%Socket%' on bank '%Bank%' status is '%Status%' checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status:\s+ checks.Leds.end_match = ^$ checks.Leds.fetch_mode = linear checks.Leds.data_match = ((?:\S+\s)*\S+),\[\s*(.*?)\s*\] checks.Leds.data_labels = Location,Status checks.Leds.ok_condition = not( ( "%Location%" =~ m/ERROR/i ) and ("%Status%" eq "ON") ) checks.Leds.output_string = System LED '%Location%' status is '%Status%' checks.Disks.description = disks status checks.Disks.begin_match = ^Disk LED Status: checks.Disks.end_match = ^= checks.Disks.data_match = (DISK\s+\d+):\s+\[\s*(.*?)\s*\] checks.Disks.data_labels = Disk,Status checks.Disks.ok_condition = "%Status%" =~ m/^(OK|EMPTY)$/ checks.Disks.output_string = Disk '%Disk%' status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fans: checks.Fans.end_match = ^$ checks.Fans.data_match = ^(\S+)\s+\d+\s+(\S+) checks.Fans.data_labels = Bank,Status checks.Fans.ok_condition = "%Status%" eq "OK" checks.Fans.output_string = Fan '%Bank%' status is '%Status%' checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^= checks.PSU.data_match = ^\s*(\d+).*?(\S+)$ checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "OK" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' [Enterprise 3000] system.match = Sun Enterprise 3000$ system.checks = Leds,Fans,Temperatures,PSU,Boards checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status: checks.Leds.end_match = :$ checks.Leds.data_match = ^\S+\s+(\S+)\s+(\S+)\s+(\S+) checks.Leds.data_labels = Power,Failure,Running checks.Leds.ok_condition = "%Failure%" ne "ON" checks.Leds.output_string = System failure led status is '%Failure%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fans: checks.Fans.end_match = ^$ checks.Fans.skip_match = ^(-+|Unit) checks.Fans.data_match = ^(\S+)\s+(\S+) checks.Fans.data_labels = Unit,Status checks.Fans.ok_condition = "%Status%" eq "OK" checks.Fans.output_string = Fan '%Unit%' status is '%Status%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^System Temperatures checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^Location checks.Temperatures.data_match = ^(\S+\s+\d+):\s+(.*?)\s+(\S+) checks.Temperatures.data_labels = Location,Temperature,Trend checks.Temperatures.ok_condition = ( "%Trend%" eq "stable" ) checks.Temperatures.output_string = Trend status '%Trend%' for temperature sensor '%Location%' (temp.: %Temperature% deg.) checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^$ checks.PSU.data_match = ^((?:\S+\s)*\S+)\s+(\S+) checks.PSU.skip_match = ^(Supply|-+) checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "OK" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+(\sIO Cards|Cartes ES) checks.Boards.end_match = ^=+\s\S+ checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' [Ultra 10] system.match = ^System Configuration:.*Sun Ultra 5\/10 UPA\/PCI system.checks = Boards checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' [SunFire V120] system.match = ^System Configuration:.*Sun Fire V120 system.checks = Boards checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' # OK Merethis [UltraSPARCengine_CP-40] system.match = ^System Configuration:.*sun4u SPARCengine CP2000 system.checks = Boards checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' # OK Merethis [SunFire V240] system.match = ^System Configuration:.*Sun Fire V240 system.checks = Fans,Leds,Temperatures,Voltages,Current,FRU checks.Fans.description = fans status checks.Fans.begin_match = ^Fan (Status|Speeds): checks.Fans.end_match = :$ checks.Fans.skip_match = ^Location checks.Fans.data_match = ^\s*(\S+)\s+(\S+)\s+(\S+) checks.Fans.data_labels = Location,Sensor,Status checks.Fans.ok_condition = "%Status%" eq "okay" checks.Fans.output_string = Fan '%Location%/%Sensor%' status is '%Status%' checks.Leds.description = system leds status checks.Leds.begin_match = ^Led State: checks.Leds.end_match = :$ checks.Leds.data_match = ^(\S+)\s+(?:SERVICE)\s+(\S+) checks.Leds.data_labels = Location,State checks.Leds.ok_condition = "%State%" eq "off" checks.Leds.output_string = Service indicator '%Location%' state is '%State%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^Temperature sensors: checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^Location checks.Temperatures.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Temperatures.data_labels = Location,Sensor,Status checks.Temperatures.ok_condition = ( "%Status%" eq "okay" ) checks.Temperatures.output_string = Temperature sensor '%Location%/%Sensor%' status is '%Status%' checks.Voltages.description = voltage sensors checks.Voltages.begin_match = ^Voltage sensors: checks.Voltages.end_match = :$ checks.Voltages.skip_match = ^Location checks.Voltages.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Voltages.data_labels = Location,Sensor,Status checks.Voltages.ok_condition = "%Status%" eq "okay" checks.Voltages.output_string = Voltage sensor '%Location%/%Sensor%' status is '%Status%' checks.Current.description = current sensors checks.Current.begin_match = ^Current sensors: checks.Current.end_match = ^$ checks.Current.skip_match = ^Location checks.Current.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Current.data_labels = Location,Sensor,Status checks.Current.ok_condition = "%Status%" eq "okay" checks.Current.output_string = Current sensor '%Location%/%Sensor%' status is '%Status%' checks.FRU.description = FRU operational status checks.FRU.begin_match = ^Fru Operational Status: checks.FRU.end_match = ^$ checks.FRU.skip_match = ^Location checks.FRU.data_match = ^(\S+)\s+(\S+) checks.FRU.data_labels = Location,Status checks.FRU.ok_condition = "%Status%" =~ m/present|okay/ checks.FRU.output_string = FRU '%Location%' status is '%Status%' # OK Merethis [SunFire V440] system.match = ^System Configuration:.*Sun Fire V440 system.checks = Fans,Leds,Temperatures,Voltages,Current,FRU checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Speeds: checks.Fans.end_match = :$ checks.Fans.data_match = ^(.*?\d+)\s+(\S+)\s+(\S+) checks.Fans.data_labels = Location,Sensor,Status checks.Fans.ok_condition = "%Status%" eq "okay" checks.Fans.output_string = Fan '%Location%/%Sensor%' status is '%Status%' checks.Leds.description = system leds status checks.Leds.begin_match = ^Led State: checks.Leds.end_match = :$ checks.Leds.data_match = ^(\S+)\s+(?:SERVICE)\s+(\S+) checks.Leds.data_labels = Location,State checks.Leds.ok_condition = "%State%" eq "off" checks.Leds.output_string = Service indicator '%Location%' state is '%State%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^Temperature sensors: checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^Location checks.Temperatures.data_match = ^(\S+)\s+(\S+)\s+(.*)$ checks.Temperatures.data_labels = Location,Sensor,Status checks.Temperatures.ok_condition = ( "%Status%" eq "okay" ) checks.Temperatures.output_string = Temperature sensor '%Location%/%Sensor%' status is '%Status%' checks.Voltages.description = voltage sensors checks.Voltages.begin_match = ^Voltage sensors: checks.Voltages.end_match = :$ checks.Voltages.skip_match = ^Location checks.Voltages.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Voltages.data_labels = Location,Sensor,Status checks.Voltages.ok_condition = "%Status%" eq "okay" checks.Voltages.output_string = Voltage sensor '%Location%/%Sensor%' status is '%Status%' checks.Current.description = current sensors checks.Current.begin_match = ^Current sensors: checks.Current.end_match = ^$ checks.Current.skip_match = ^Location checks.Current.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Current.data_labels = Location,Sensor,Status checks.Current.ok_condition = "%Status%" eq "okay" checks.Current.output_string = Current sensor '%Location%/%Sensor%' status is '%Status%' checks.FRU.description = FRU operational status checks.FRU.begin_match = ^Fru Operational Status: checks.FRU.end_match = ^$ checks.FRU.skip_match = ^Location checks.FRU.data_match = ^(\S+)\s+(\S+)$ checks.FRU.data_labels = Location,Status checks.FRU.ok_condition = "%Status%" =~ m/present|okay/ checks.FRU.output_string = FRU '%Location%' status is '%Status%' # Ok Merethis [SunFire V490] system.match = ^System Configuration:.*Sun Fire V490 system.checks = Temperatures,Leds,Disks,Fans,PSU checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^System Temperatures.*: checks.Temperatures.end_match = ^$ checks.Temperatures.skip_match = ^Device checks.Temperatures.data_match = ^(\S+)\s+(\S+)\s+(\S+)$ checks.Temperatures.data_labels = Sensor,Temperature,Status checks.Temperatures.ok_condition = ( "%Status%" eq "OK" ) checks.Temperatures.output_string = Temperature sensor '%Sensor%' status is '%Status%' (temp.: %Temperature% deg.) checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status: checks.Leds.end_match = :$ checks.Leds.data_match = ^\s+\[\s*(.*?)\s*\]\s+\[\s*(.*?)\s*\]\s+\[\s*(.*?)\s*\] checks.Leds.data_labels = Location,Failure,Running checks.Leds.ok_condition = "%Failure%" ne "ON" checks.Leds.output_string = System failure led status is '%Failure%' checks.Disks.description = disks status checks.Disks.begin_match = ^Disk Status: checks.Disks.end_match = ^$ checks.Disks.data_match = ^(.*?\d+)(?:.*?)\[\s*(\S+)\s*\]\s*$ checks.Disks.data_labels = Disk,Status checks.Disks.ok_condition = "%Status%" eq "NO_FAULT" checks.Disks.output_string = Disk '%Disk%' status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Status: checks.Fans.end_match = ^= checks.Fans.data_match = ^(\S+)\s+(\S+)\s+(.*?)\s+\[\s*(\S+)\s*\] checks.Fans.data_labels = Tray,Fan,Speed,Status checks.Fans.ok_condition = "%Status%" eq "NO_FAULT" checks.Fans.output_string = Fan '%Tray%/%Fan%' status is '%Status%' (speed: %Speed% rpm) checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^= checks.PSU.data_match = ^(.*?)\s+\[\s*(\S+)\s*\] checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "NO_FAULT" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' # Ok Merethis [SunFire 480] system.match = ^System Configuration:.*Sun Fire 480 system.checks = Temperatures,Leds,Disks,Fans,PSU checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^System Temperatures.*: checks.Temperatures.end_match = ^$ checks.Temperatures.skip_match = ^Device checks.Temperatures.data_match = ^(\S+)\s+(\S+)\s+(\S+)$ checks.Temperatures.data_labels = Sensor,Temperature,Status checks.Temperatures.ok_condition = ( "%Status%" eq "OK" ) checks.Temperatures.output_string = Temperature sensor '%Sensor%' status is '%Status%' (temp.: %Temperature% deg.) checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status: checks.Leds.end_match = :$ checks.Leds.data_match = ^\s+\[\s*(.*?)\s*\]\s+\[\s*(.*?)\s*\]\s+\[\s*(.*?)\s*\] checks.Leds.data_labels = Location,Failure,Running checks.Leds.ok_condition = "%Failure%" ne "ON" checks.Leds.output_string = System failure led status is '%Failure%' checks.Disks.description = disks status checks.Disks.begin_match = ^Disk Status: checks.Disks.end_match = ^$ checks.Disks.data_match = ^(.*?\d+)(?:.*?)\[\s*(\S+)\s*\]\s*$ checks.Disks.data_labels = Disk,Status checks.Disks.ok_condition = "%Status%" eq "NO_FAULT" checks.Disks.output_string = Disk '%Disk%' status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Status: checks.Fans.end_match = ^= checks.Fans.data_match = ^(\S+)\s+(\S+)\s+(.*?)\s+\[\s*(\S+)\s*\] checks.Fans.data_labels = Tray,Fan,Speed,Status checks.Fans.ok_condition = "%Status%" eq "NO_FAULT" checks.Fans.output_string = Fan '%Tray%/%Fan%' status is '%Status%' (speed: %Speed% rpm) checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^= checks.PSU.data_match = ^(.*?)\s+\[\s*(\S+)\s*\] checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "NO_FAULT" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' # OK Merethis [SunFire 880] system.match = ^System Configuration:.*Sun Fire 880 system.checks = Boards,Temperatures,Leds,Disks,Fans,PSU checks.Boards.description = IO cards status checks.Boards.begin_match = ^=+\sIO Cards checks.Boards.end_match = ^= checks.Boards.data_match = ^(No failures found in System|(?:No|Detected) System Faults) checks.Boards.data_labels = Diagnosis checks.Boards.ok_condition = "%Diagnosis%" =~ m/^No / checks.Boards.output_string = System diagnosis for IO cards is '%Diagnosis%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^System Temperatures checks.Temperatures.end_match = ^$ checks.Temperatures.skip_match = ^Device checks.Temperatures.data_match = ^(\S+)\s+(.*?)\s+(\S+) checks.Temperatures.data_labels = Device,Temperature,Status checks.Temperatures.ok_condition = ( "%Status%" eq "OK" ) checks.Temperatures.output_string = Temperature sensor '%Device%' status is '%Status%' (temp.: %Temperature% deg.) checks.Leds.description = system leds status checks.Leds.begin_match = ^System LED Status: checks.Leds.end_match = ^= checks.Leds.skip_match = ^$ checks.Leds.fetch_mode = linear checks.Leds.data_match = ((?:\S+\s)*\S+),\[\s*(.*?)\s*\] checks.Leds.data_labels = Location,Status checks.Leds.ok_condition = not( ( "%Location%" =~ /FAULT/ ) and ("%Status%" eq "ON") ) checks.Leds.output_string = System LED '%Location%' status is '%Status%' checks.Disks.description = disks status checks.Disks.begin_match = ^Disk Status: checks.Disks.end_match = ^$ checks.Disks.data_match = ^(.*?\d+)(?:.*?)\[PRESENT\]\s+\[\s*(\S+)\s*\] checks.Disks.data_labels = Disk,Fault checks.Disks.ok_condition = "%Fault%" eq "OFF" checks.Disks.output_string = Fault LED status '%Fault%' for disk '%Disk%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Bank : checks.Fans.end_match = ^= checks.Fans.data_match = ^(\S+)\s+(\d+)\s+\[ENABLED\]\s+(\S+) checks.Fans.data_labels = Fan,Speed,Status checks.Fans.ok_condition = "%Status%" eq "OK" checks.Fans.output_string = Fan '%Fan%' status is '%Status%' (speed: %Speed% rpm) checks.PSU.description = power supplies status checks.PSU.begin_match = ^Power Supplies: checks.PSU.end_match = ^= checks.PSU.data_match = ^(\S+\d+)\s+(\S+) checks.PSU.data_labels = Supply,Status checks.PSU.ok_condition = "%Status%" eq "GOOD" checks.PSU.output_string = Power supply '%Supply%' status is '%Status%' [SPARC T3-4] system.match = ^System Configuration:.*SPARC T3-4 system.checks = CPU,Fans,Temperatures,Current,Voltages,FRU checks.CPU.description = Virtual CPUs checks.CPU.begin_match = ^=+ Virtual CPUs = checks.CPU.skip_match = ^$ checks.CPU.end_match = ^==+ checks.CPU.data_match = ^\s*(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s*$ checks.CPU.data_labels = CPU,Frequence,Power,Implementation,Status checks.CPU.ok_condition = "%Status%" eq "on-line" checks.CPU.output_string = CPU%CPU% status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan sensors: checks.Fans.end_match = :$ checks.Fans.skip_match = ^Location checks.Fans.data_match = ^(\S+)\s+(\S+)\s+(\S+) checks.Fans.data_labels = Location,Sensor,Status checks.Fans.ok_condition = "%Status%" eq "ok" checks.Fans.output_string = Fan '%Location%/%Sensor%' status is '%Status%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^Temperature sensors: checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^Location checks.Temperatures.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Temperatures.data_labels = Location,Sensor,Status checks.Temperatures.ok_condition = ( "%Status%" eq "ok" ) checks.Temperatures.output_string = Temperature sensor '%Location%/%Sensor%' status is '%Status%' checks.Voltages.description = voltage sensors checks.Voltages.begin_match = ^Voltage sensors: checks.Voltages.end_match = :$ checks.Voltages.skip_match = ^Location checks.Voltages.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Voltages.data_labels = Location,Sensor,Status checks.Voltages.ok_condition = "%Status%" eq "ok" checks.Voltages.output_string = Voltage sensor '%Location%/%Sensor%' status is '%Status%' checks.Current.description = current indicators checks.Current.begin_match = ^Current indicators: checks.Current.end_match = :$ checks.Current.skip_match = ^Location checks.Current.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Current.data_labels = Location,Indicator,Status checks.Current.ok_condition = "%Status%" eq "ok" checks.Current.output_string = Current indicator '%Location%/%Indicator%' status is '%Status%' checks.FRU.description = FRU operational status checks.FRU.begin_match = ^Fru Operational Status: checks.FRU.end_match = ^$ checks.FRU.skip_match = ^Location checks.FRU.data_match = ^(\S+)\s+(\S+)\s+(\S+) checks.FRU.data_labels = Location,Name,Status checks.FRU.ok_condition = "%Status%" =~ m/enabled/ checks.FRU.output_string = FRU '%Location%/%Name%' status is '%Status%' [SunFire V210] system.match = ^System Configuration:.*Sun Fire V210 system.checks = CPU,Fans,Temperatures,Current,Voltages,Leds,FRU checks.CPU.description = CPU status checks.CPU.begin_match = ^=+ CPUs = checks.CPU.end_match = ^$ checks.CPU.data_match = ^\s*(\d+)\s+(?:.*?)\s+(\S+)\s+(\S+)\s*$ checks.CPU.data_labels = CPU,Status,Location checks.CPU.ok_condition = "%Status%" eq "on-line" checks.CPU.output_string = CPU%CPU% ('%Location%') status is '%Status%' checks.Fans.description = fans status checks.Fans.begin_match = ^Fan Status: checks.Fans.end_match = :$ checks.Fans.skip_match = ^Location checks.Fans.data_match = ^(\S+)\s+(\S+)\s+(\S+) checks.Fans.data_labels = Location,Sensor,Status checks.Fans.ok_condition = "%Status%" eq "okay" checks.Fans.output_string = Fan '%Location%/%Sensor%' status is '%Status%' checks.Leds.description = system leds status checks.Leds.begin_match = ^Led State: checks.Leds.end_match = :$ checks.Leds.data_match = ^(\S+)\s+(?:SERVICE)\s+(\S+) checks.Leds.data_labels = Location,State checks.Leds.ok_condition = "%State%" eq "off" checks.Leds.output_string = Service indicator '%Location%' state is '%State%' checks.Temperatures.description = temperature sensors checks.Temperatures.begin_match = ^Temperature sensors: checks.Temperatures.end_match = :$ checks.Temperatures.skip_match = ^Location checks.Temperatures.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Temperatures.data_labels = Location,Sensor,Status checks.Temperatures.ok_condition = ( "%Status%" eq "okay" ) checks.Temperatures.output_string = Temperature sensor '%Location%/%Sensor%' status is '%Status%' checks.Voltages.description = voltage sensors checks.Voltages.begin_match = ^Voltage sensors: checks.Voltages.end_match = :$ checks.Voltages.skip_match = ^Location checks.Voltages.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Voltages.data_labels = Location,Sensor,Status checks.Voltages.ok_condition = "%Status%" eq "okay" checks.Voltages.output_string = Voltage sensor '%Location%/%Sensor%' status is '%Status%' checks.Current.description = current sensors checks.Current.begin_match = ^Current sensors: checks.Current.end_match = :$ checks.Current.skip_match = ^Location checks.Current.data_match = ^(\S+)\s+(\S+).*?(\S+)$ checks.Current.data_labels = Location,Sensor,Status checks.Current.ok_condition = "%Status%" eq "okay" checks.Current.output_string = Current sensor '%Location%/%Sensor%' status is '%Status%' checks.FRU.description = FRU operational status checks.FRU.begin_match = ^Fru Operational Status: checks.FRU.end_match = ^$ checks.FRU.skip_match = ^Location checks.FRU.data_match = ^(\S+)\s+(\S+) checks.FRU.data_labels = Location,Status checks.FRU.ok_condition = "%Status%" =~ m/present|okay/ checks.FRU.output_string = FRU '%Location%' status is '%Status%'