
<!-- 
   MODIFIED    (MM/DD/YY)
      ajayshar    08/29/05 - Bug-4520858-Response metric to use snmp ping function
      ajayshar    06/16/05 - 4432765 - Changed message for  STATUS COLUMN
      ajayshar    05/11/05 - Shortened two longer NLSID names for regeneration. 
      ajayshar    04/07/05 - ONTAP 7.X changes 
      ajayshar    04/30/05 - 4342423 - Change IsSnapEnabled to IsSnapLicensed 
      ajayshar    03/23/05 - Modified Messages(MESSAGE) and added Clear messages(CLEAR_MESSAGE).
      ajayshar    03/22/05 - 4158302- Response-scheduled(2min),status-occurences=1
      ajere       06/30/04 - Filter out CPU Util > 100% and provide additional 
                             info about Health Metric error messages 
      ajere       06/25/04 - Remove ValidIf statements enclosing 
                             IsClusterEnabled metric column. (workaround for 
                             agent bug.)
      ajayshar    06/11/04 - ValidIf blocks added to SnapMirror and IsClusterEnabled Metrices
 -->
<TargetCollection TYPE="netapp_filer">

  <CollectionItem NAME = "Response"> 

      <Schedule>
      <IntervalSchedule INTERVAL = "2" TIME_UNIT = "Min"/>
    </Schedule>

    <Condition COLUMN_NAME="Status" 
               CRITICAL="0" 
               WARNING="NotDefined" 
               OPERATOR="EQ" 
               OCCURRENCES="1" 
               MESSAGE="%target% is unreachable over the network or is down." 
               MESSAGE_NLSID="netapp_filer_response_status"
               CLEAR_MESSAGE="%target% is Up." 
               CLEAR_MESSAGE_NLSID="netapp_filer_response_status_clear"/>
               
  </CollectionItem>

  <CollectionItem NAME = "CPU">

    <Schedule>
      <IntervalSchedule INTERVAL = "5" TIME_UNIT = "Min"/>
    </Schedule>

    <Filter COLUMN_NAME="PctBusy" OPERATOR="LE">100</Filter>

    <Condition COLUMN_NAME="PctBusy" 
               CRITICAL="95" 
               WARNING="80" 
               OPERATOR="GT" 
               OCCURRENCES="6" 
               MESSAGE="CPU Utilization is %value%%% ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold." 
               MESSAGE_NLSID="netapp_filer_cpu_pct_busy"
               CLEAR_MESSAGE="CPU Utilization is %value%%% ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
               CLEAR_MESSAGE_NLSID="netapp_filer_cpu_pct_busy_clear"/>
  </CollectionItem>

  <CollectionItem NAME = "GigabitCardStats">
    <ValidIf>
      <CategoryProp NAME="Filer_Version" CHOICES="6.X"/>
    </ValidIf>  
    <Schedule>
      <IntervalSchedule INTERVAL = "30" TIME_UNIT = "Sec"/>
    </Schedule>
    <MetricColl NAME = "GigabitCardStats">
      <Filter COLUMN_NAME="Type" OPERATOR="NE">24</Filter>
      <Filter COLUMN_NAME="NetworkSentRate" OPERATOR="LT">1000000</Filter>
      <Filter COLUMN_NAME="NetworkRecdRate" OPERATOR="LT">1000000</Filter>
  <!--
      <Condition COLUMN_NAME="PercentBandwidthUsed" 
                 CRITICAL="90" 
                 WARNING="80" 
                 OPERATOR="GT" 
                 OCCURRENCES="60" 
                 MESSAGE="Network Interface %Index% has used %PercentBandwidthUsed%%% of its bandwidth." 
                 MESSAGE_NLSID="netapp_filer_gbit_card_stats_per_bandwidth_used"/>
  -->
    </MetricColl>
  </CollectionItem>
  
  
  
  <!-- Collection interval changed to 5 minutes for ONTAP due to high/low 32-bit counters -->
  <CollectionItem NAME = "GigabitCardStats_7X">
    <ValidIf>
      <CategoryProp NAME="Filer_Version" CHOICES="7.X"/>
    </ValidIf>  
    <Schedule>
      <IntervalSchedule INTERVAL = "5" TIME_UNIT = "Min"/>
    </Schedule>
    <MetricColl NAME = "GigabitCardStats">
      <Filter COLUMN_NAME="Type" OPERATOR="NE">24</Filter>
      <Filter COLUMN_NAME="NetworkSentRate" OPERATOR="LT">1000000</Filter>
      <Filter COLUMN_NAME="NetworkRecdRate" OPERATOR="LT">1000000</Filter>
    </MetricColl>
  
  </CollectionItem>

  <CollectionItem NAME = "100_MegabitCardStats">

    <Schedule>
      <IntervalSchedule INTERVAL = "5" TIME_UNIT = "Min"/>
    </Schedule>

    <Filter COLUMN_NAME="Type" OPERATOR="NE">24</Filter>
    <Filter COLUMN_NAME="NetworkSentRate" OPERATOR="LT">100000</Filter>
    <Filter COLUMN_NAME="NetworkRecdRate" OPERATOR="LT">100000</Filter>
<!--
    <Condition COLUMN_NAME="PercentBandwidthUsed" 
               CRITICAL="90" 
               WARNING="80" 
               OPERATOR="GT" 
               OCCURRENCES="6" 
               MESSAGE="Network Interface %Index% has used %PercentBandwidthUsed%%% of its bandwidth." 
               MESSAGE_NLSID="netapp_filer_100mbit_card_stats_per_bandwidth_used"/>
-->
  </CollectionItem>

  <CollectionItem NAME = "10_MegabitCardStats">

    <Schedule>
      <IntervalSchedule INTERVAL = "15" TIME_UNIT = "Min"/>
    </Schedule>

    <Filter COLUMN_NAME="Type" OPERATOR="NE">24</Filter>
    <Filter COLUMN_NAME="NetworkSentRate" OPERATOR="LT">10000</Filter>
    <Filter COLUMN_NAME="NetworkRecdRate" OPERATOR="LT">10000</Filter>
<!--
    <Condition COLUMN_NAME="PercentBandwidthUsed" 
               CRITICAL="90" 
               WARNING="80" 
               OPERATOR="GT" 
               OCCURRENCES="3" 
               MESSAGE="Network Interface %Index% has used %PercentBandwidthUsed%%% of its bandwidth." 
               MESSAGE_NLSID="netapp_filer_10mbit_card_stats_per_bandwidth_used"/>
-->
  </CollectionItem>
  
  <CollectionItem NAME = "Load" UPLOAD_ON_FETCH="TRUE">

    <Schedule OFFSET_TYPE="INCREMENTAL">
      <IntervalSchedule INTERVAL = "15" TIME_UNIT = "Min"/>
    </Schedule>

    <MetricColl NAME = "NfsOperations">
<!--
  Work around for bug#2957683, investigation is showing that
  netapp NfsOperations counter typically gives one bad value
  soon after the 32-bit counter resets and crosses 0
-->
      <Filter COLUMN_NAME="NfsCallsRate" OPERATOR="LE">100000</Filter>
<!--
      <Condition COLUMN_NAME="RpcPercentBadCalls" CRITICAL="10" WARNING="5" OPERATOR="GT" OCCURRENCES="3" MESSAGE="RPC Bad Calls are %value%%%." MESSAGE_NLSID="netapp_filer_nfs_operations_rpc_per_bad_calls"/>
-->

      <Condition COLUMN_NAME="NfsServPercentBadCalls" 
                 CRITICAL="10" 
                 WARNING="5" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="NFS Bad Calls are %value%%% ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_nfs_operations_nfs_per_bad_calls"
                 CLEAR_MESSAGE="NFS Bad Calls are %value%%% ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds."
                 CLEAR_MESSAGE_NLSID="netapp_filer_nfs_operations_nfs_per_bad_calls_clear"/>
    </MetricColl>

    <MetricColl NAME = "CifsOperations">
<!--
  Work around for bug#2957683
-->
      <Filter COLUMN_NAME="CifsCallsRate" OPERATOR="LE">100000</Filter>
      <Condition COLUMN_NAME="CifsPercentBadCalls" 
                 CRITICAL="10" 
                 WARNING="5" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="CIFS Bad Calls are %value%%% ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_cifs_operations_cifs_per_bad_calls"
                 CLEAR_MESSAGE="CIFS Bad Calls are %value%%% ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_cifs_operations_cifs_per_bad_calls_clear"/>
    </MetricColl>

    <MetricColl NAME = "SystemLoad" />

  </CollectionItem>

  <CollectionItem NAME = "SnapMirror" UPLOAD="4">
    <ValidIf>
      <CategoryProp NAME="IsSnapLicensed" CHOICES="2"/>
    </ValidIf>   
    
      <Schedule>
        <IntervalSchedule INTERVAL = "15" TIME_UNIT = "Min"/>
      </Schedule>

      <Condition COLUMN_NAME="SMTimeLag" 
                 CRITICAL="NotDefined" 
                 WARNING="NotDefined" 
                 OPERATOR="GT" 
                 MESSAGE="SnapMirror Time lag between Source:%SMSource% and Destination:%SMDestination% is %value% minutes ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold." 
                 MESSAGE_NLSID="netapp_filer_snap_mirror_sm_time_lag"
                 CLEAR_MESSAGE="SnapMirror Time lag between Source:%SMSource% and Destination:%SMDestination% is %value% minutes ,fallen below warning (%warning_threshold%) and critical (%critical_threshold%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_snap_mirror_sm_time_lag_clear"/>
                 
  </CollectionItem>

  <CollectionItem NAME = "SnapMirrorLoad">

         <Schedule>
        <IntervalSchedule INTERVAL = "6" TIME_UNIT = "Hr"/>
      </Schedule>

  </CollectionItem>

  <CollectionItem NAME = "UploadOnceADayByDefault" UPLOAD="96">

    <Schedule>
      <IntervalSchedule INTERVAL = "15" TIME_UNIT = "Min"/>
    </Schedule>

    <MetricColl NAME = "Volumes">
      <Filter COLUMN_NAME="Volume" OPERATOR="MATCH">\/$</Filter>
      <Condition COLUMN_NAME="VolumePercentUsed" 
                 CRITICAL="98" 
                 WARNING="95" 
                 OPERATOR="GT" 
                 MESSAGE="%VolumeTypeString% %keyValue% is %value%%% full ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_volumes_type_vol_per_used"
                 CLEAR_MESSAGE="%VolumeTypeString% %keyValue% is %value%%% full , fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_volumes_type_vol_per_used_clear"/>

      <Condition COLUMN_NAME="VolumePercentFiles" 
                 CRITICAL="98" 
                 WARNING="95" 
                 OPERATOR="GT" 
                 MESSAGE="%VolumeTypeString% %keyValue% has used %value%%% files of its limit ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_volumes_type_vol_per_files_used"
                 CLEAR_MESSAGE="%VolumeTypeString% %keyValue% has used %value%%% files of its limit,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_volumes_type_vol_per_files_used_clear"/>
                 
               
    </MetricColl>

    <MetricColl NAME = "Snapshots">
      <Filter COLUMN_NAME="Snapshot" OPERATOR="MATCH">\/\..*</Filter>
      <Condition COLUMN_NAME="SnapshotPercentUsed" 
                 CRITICAL="NotDefined" 
                 WARNING="95" 
                 OPERATOR="GT" 
                 MESSAGE="Snapshot %keyValue% is %value%%% full ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_snapshots_snapshot_per_used"
                 CLEAR_MESSAGE="Snapshot %keyValue% is %value%%% full ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds. " 
                 CLEAR_MESSAGE_NLSID="netapp_filer_snapshots_snapshot_per_used_clear"/>
    </MetricColl>

    <MetricColl NAME = "Qtrees">
      <Condition COLUMN_NAME="QtreePercentUsed" 
                 CRITICAL="98" 
                 WARNING="95" 
                 OPERATOR="GT" 
                 MESSAGE="Qtree %QtreeName% is %value%%% full ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_qtrees_qtree_per_used"
                 CLEAR_MESSAGE="Qtree %QtreeName% is %value%%% full,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_qtrees_qtree_per_used_clear"/>
    </MetricColl>


<!--
  Can it be the following?
  <CollectionItem NAME = "DiskSummary" UPLOAD="NO">
-->

    <MetricColl NAME = "DiskSummary">
      <Condition COLUMN_NAME="SpareTotal" 
                 CRITICAL="1" 
                 WARNING="2" 
                 OPERATOR="LT" 
                 OCCURRENCES="3" 
                 MESSAGE="Appliance has %value% spare disk(s) ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold." 
                 MESSAGE_NLSID="netapp_filer_disk_summary_spare_total"
                 CLEAR_MESSAGE="Appliance has %value% spare disk(s),risen above warning (%warning_threshold%) and critical (%critical_threshold%) thresholds. " 
                 CLEAR_MESSAGE_NLSID="netapp_filer_disk_summary_spare_total_clear"/>
                 
               
      <Condition COLUMN_NAME="Failed" 
                 CRITICAL="NotDefined" 
                 WARNING="0" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="Appliance has at least %value% failed disk(s) ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold. Additional info - %DiskFailedMessage%"
                 MESSAGE_NLSID="netapp_filer_disk_summary_failed_disks"
                 CLEAR_MESSAGE="Appliance has %value% failed disk(s) ,fallen below warning (%warning_threshold%) and critical (%critical_threshold%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_disk_summary_failed_disks_clear"/>

    </MetricColl>

<!--
  Can we change it to the following?
  <CollectionItem NAME = "Cluster" UPLOAD="NO">
-->

    <MetricColl NAME = "Cluster">
      <Condition COLUMN_NAME="PartnerStatus" 
                 CRITICAL="2" 
                 WARNING="NotDefined" 
                 OPERATOR="LT" 
                 MESSAGE="Cluster partner %PartnerName% may be down." 
                 MESSAGE_NLSID="netapp_filer_cluster_partner_status"
                 CLEAR_MESSAGE="Cluster partner %PartnerName% is Up." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_cluster_partner_status_clear"/>

      <!-- Interconnect Status :  notPresent(1),down(2),partialFailure(3),up(4) -->
      <Condition COLUMN_NAME="InterconnectStatus" 
                 CRITICAL="3" 
                 WARNING="4" 
                 OPERATOR="LT" 
                 MESSAGE="Cluster interconnect hardware with partner %PartnerName% may be down. Status is %value% ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold." 
                 MESSAGE_NLSID="netapp_filer_cluster_interconn_status"
                 CLEAR_MESSAGE="Cluster interconnect hardware with partner %PartnerName% is Up. Status is %value% , has risen above warning (%warning_threshold%) and critical (%critical_threshold%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_cluster_interconn_status_clear"/>
                 </MetricColl>
    

    <MetricColl NAME = "VolumeAllocation">
      <Condition COLUMN_NAME="VolumePercentAllocated" 
                 CRITICAL="NotDefined" 
                 WARNING="100" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="%VolumeTypeString% %keyValue% has been over allocated by %value%%%  ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_volume_type_allocation_vol_per_allocated"
                 CLEAR_MESSAGE="%VolumeTypeString% %keyValue% has been allocated by %value%%% , fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_vol_type_vol_per_allocated_clear"/>
                 
    </MetricColl>
  </CollectionItem>

  <CollectionItem NAME = "Config" UPLOAD_ON_FETCH="TRUE">

    <Schedule OFFSET_TYPE="INCREMENTAL">
      <IntervalSchedule INTERVAL = "1" TIME_UNIT = "Day"/>
    </Schedule>

    <MetricColl NAME = "Product" />

    <MetricColl NAME = "FilerCapacity" />

    <MetricColl NAME = "NetworkInterfaces">
      <Filter COLUMN_NAME="Type" OPERATOR="NE">24</Filter>
      <Condition COLUMN_NAME="InterfaceStatusError" 
                 CRITICAL="0" 
                 WARNING="NotDefined" 
                 OPERATOR="GT" 
                 MESSAGE="Network Interface %Index% failed." 
                 MESSAGE_NLSID="netapp_filer_network_interfaces_int_stat_error"
                 CLEAR_MESSAGE="Network Interface %Index% recovered." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_network_interfaces_int_stat_error_clear"/>

      <Condition COLUMN_NAME="PercentDiscards" 
                 CRITICAL="25" 
                 WARNING="15" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="Packets discarded at Network Interface %keyValue% are %value%%% ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_network_interfaces_per_discards"
                 CLEAR_MESSAGE="Packets discarded at Network Interface %keyValue% are %value%%% ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_network_interfaces_per_discards_clear"/>
                 		 
      <Condition COLUMN_NAME="PercentErrors" 
                 CRITICAL="25" 
                 WARNING="15" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="Errors at Network Interface %keyValue% are %value%%% ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_network_interfaces_per_errors"
                 CLEAR_MESSAGE="Errors at Network Interface %keyValue% are %value%%% ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_network_interfaces_per_errors_clear"/>
                 
                 

      <Condition COLUMN_NAME="PercentUnknownProtPackets" 
                 CRITICAL="30" 
                 WARNING="20" 
                 OPERATOR="GT" 
                 OCCURRENCES="3" 
                 MESSAGE="Unknown or unsupported protocol packets received at Network Interface %keyValue% are %value%%% ,crossed warning (%warning_threshold%%%) or critical (%critical_threshold%%%) threshold." 
                 MESSAGE_NLSID="netapp_filer_network_interfaces_per_unknown_proto_pkts"
                 CLEAR_MESSAGE="Unknown or unsupported protocol packets received at Network Interface %keyValue% are %value%%% ,fallen below warning (%warning_threshold%%%) and critical (%critical_threshold%%%) thresholds." 
                 CLEAR_MESSAGE_NLSID="netapp_filer_network_inf_per_unknown_proto_pkts_clear"/> 
                 
    </MetricColl>

  </CollectionItem>


  <CollectionItem NAME = "Health" UPLOAD="288">

    <Schedule OFFSET_TYPE="INCREMENTAL">
      <IntervalSchedule INTERVAL = "5" TIME_UNIT = "Min"/>
    </Schedule>

    <Condition COLUMN_NAME="TemperatureExceeded" 
               CRITICAL="1" 
               WARNING="NotDefined" 
               OPERATOR="GT" 
               MESSAGE="System is operating above its maximum rated temperature." 
               MESSAGE_NLSID="netapp_filer_health_temp_exceeded"
               CLEAR_MESSAGE="System is operating below its maximum rated temperature." 
               CLEAR_MESSAGE_NLSID="netapp_filer_health_temp_exceeded_clear"/>
               

    <Condition COLUMN_NAME="FansFailed" 
               CRITICAL="0" 
               WARNING="NotDefined" 
               OPERATOR="GT" 
               MESSAGE="%value% chassis fans failed ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold. Additional info - %FansFailedMessage%" 
               MESSAGE_NLSID="netapp_filer_health_fans_failed"
               CLEAR_MESSAGE="%value% chassis fans failed ,fallen below warning (%warning_threshold%) and critical (%critical_threshold%) thresholds." 
               CLEAR_MESSAGE_NLSID="netapp_filer_health_fans_failed_clear"/>
               
    
    <Condition COLUMN_NAME="PowerSuppliesFailed" 
               CRITICAL="0" 
               WARNING="NotDefined" 
               OPERATOR="GT" 
               MESSAGE="%value% power supplies or power rails failed, crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold.Additional info - %PowerSuppliesFailedMessage%"
               MESSAGE_NLSID="netapp_filer_health_power_sup_failed"
               CLEAR_MESSAGE="%value% power supplies or power rails failed, fallen below warning (%warning_threshold%) and critical (%critical_threshold%) thresholds."
               CLEAR_MESSAGE_NLSID="netapp_filer_health_power_sup_failed_clear"/>
               
               
    <!-- Status: ok(1),partiallyDischarged(2),fullyDisharged(3),notPresent(4),nearEndOfLife(5),atEndOfLife(6),unknown(7) -->
    <Condition COLUMN_NAME="NVRAMBatteryStatus" 
               CRITICAL="2" 
               WARNING="1" 
               OPERATOR="GT" 
               MESSAGE="Charge in the NVRAM battery is low. Status is %value% ,crossed warning (%warning_threshold%) or critical (%critical_threshold%) threshold." 
               MESSAGE_NLSID="netapp_filer_health_nvram_battery_status"
               CLEAR_MESSAGE="Charge in the NVRAM battery is Ok . Status is %value% ,fallen below warning (%warning_threshold%) and critical (%critical_threshold%) thresholds." 
               CLEAR_MESSAGE_NLSID="netapp_filer_health_nvram_battery_status_clear"/>
               
               

  </CollectionItem>

</TargetCollection>
