2017-04-08 37 views
0

我們有大約10臺服務器,它們都是NFS分區。 Icinga上的所有主機都會顯示該NFS分區,因此當達到NFS分區閾值時,會發送10個郵件通知來處理該特定錯誤。從Icinga2輸出中刪除掛載NFS的分區?

問題是如何從不同的主機上刪除NFS分區。

現在默認的配置是如下:

apply Service for (display_name => config in host.vars.snmp.disks) { 
    import "generic-service-faxir" 

    check_command = "snmp-storage-parameteric" 
    vars += config 

    if (vars.snmp_warn == ""){ 
     vars.snmp_warn = "70" 
    } 
    if (vars.snmp_crit == ""){ 
     vars.snmp_crit = "85" 
    } 

    //Converting capacity to percentage 
    if(vars.capacity != ""){ 
     if(vars.capacity_warn != ""){ 
      vars.snmp_warn = 100 * vars.capacity_warn/vars.capacity 
     } 
     if(vars.capacity_crit != ""){ 
      vars.snmp_crit = 100 * vars.capacity_crit/vars.capacity 
     } 
    } 

    //ext2, ext3, and ext4 has 5% reserved for OS 
    if (host.vars.os == "Linux"){ 
     vars.snmp_storage_reserved = 5 
    } 

    ignore where host.vars.os !in ["Linux", "Windows"] 
} 

EDIT1: 命令代碼如下:

/** 
* based on: 
* snmp storage - Disk/Memory 
* Url reference: http://nagios.manubulon.com/snmp_storage.html 
*/ 
object CheckCommand "snmp-storage-parameteric" { 
    import "snmp-manubulon-command" 

    command = [ ManubulonPluginDir + "/check_snmp_storage.pl" ] 

    arguments += { 
     "-m" = "$snmp_storage_name$" 
     "-f" = { 
      set_if = "$snmp_perf$" 
     } 
     "-R" = "$snmp_storage_reserved$" 
     "-T" = "$snmp_storage_type$" 
     "-G" = "" 
    } 

    vars.snmp_storage_name = "^/$$" 
    vars.snmp_storage_type = "pu" 
    vars.snmp_warn = 80 
    vars.snmp_crit = 90 
    vars.snmp_perf = true 
    vars.snmp_storage_reserved=0 
} 
+0

如果沒有關於checkcommand和used插件的知識,這是不清楚的。 – dnsmichi

+0

@dnsmichi請看看編輯部分。 – ALH

+0

啊,好吧。請記住 - 所有屬性仍然需要下層插件來支持它。將這些信息添加到未來的問題。 – dnsmichi

回答

0

我還沒有嘗試過,但你可以看看以下命令參數:

最佳是測試在各種參數命令行,然後將它們添加到CheckCommand和Service定義中。