I wanted to share my Synology DiskStation monitoring via SNMP.
Prerequisites
- Enable SNMPv2c in DiskStation
- Install OpenHAB SNMP1 Binding
- Install JavaScript and Map transformation service
snmp.cfg
# Listening Port (optional, defaults to '162')
# Dummy Port > 1024. Not used as DiskStation does not trigger traps
port=3126
# The SNMP community to listen to (optional, defaults to 'public')
community=public
# The SNMP retry timeout (in milliseconds). Defaults to 1500.
# Sets the number of milliseconds between retries.
timeout=1500
# The SNMP number of retries. Defaults to 0.
# Sets the number of retries before aborting the request.
retries=0
Synology.items
Group gSynology "Synology" <nas>
Group gSynologySystem "Synology System" <nas>
Number Synology_System_systemStatus "systemStatus" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.1.0:60000]" } // Normal(1) Failed(2) System partition status
Number Synology_System_temperature "temperature [%s °C]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.2.0:60000]" } // Temperature of this NAS
Number Synology_System_powerStatus "powerStatus" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.3.0:60000]" } // Normal(1) Failed(2) Returns error if power supplies fail
Number Synology_System_systemFanStatus "systemFanStatus" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.4.1.0:60000]" } // Normal(1) Failed(2) Returns error if system fan fails
Number Synology_System_cpuFanStatus "cpuFanStatus" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.4.2.0:60000]" } // Normal(1) Failed(2) Returns error if CPU fan fails
String Synology_System_modelName "modelName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.5.1.0:1800000]" } // Model name of this NAS
String Synology_System_serialNumber "serialNumber [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.5.2.0:1800000]" } // Model serial number
String Synology_System_version "version [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.5.3.0:1800000]" } // The version of DSM
Number Synology_System_upgradeAvailable "upgradeAvailable" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.1.5.4.0:60000]" } // Available(1) Unavailable(2) Connecting(3) Disconnected(4)Others(5) Checks whether a new version or update of DSM is available
Group gSynologyDisk "Synology Disk" <nas>
String Synology_Disk_diskID1 "diskID1 [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.2.0:1800000]" } //Disk name in DSM
String Synology_Disk_diskID2 "diskID2 [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.2.1:1800000]" } //Disk name in DSM
String Synology_Disk_diskModel1 "diskModel1 [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.3.0:1800000]" } //Disk model
String Synology_Disk_diskModel2 "diskModel2 [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.3.1:1800000]" } //Disk model
String Synology_Disk_diskType1 "diskType1 [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.4.0:1800000]" } //Disk type, e.g. SATA, SSD
String Synology_Disk_diskType2 "diskType2 [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.4.1:1800000]" } //Disk type, e.g. SATA, SSD
Number Synology_Disk_Status1 "Status1" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.5.0:60000]" } //Current disk status
Number Synology_Disk_Status2 "Status2" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.5.1:60000]" } //Current disk status
Number Synology_Disk_Temperature1 "Temperature1 [%s °C]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.6.0:60000]" } //Disk temperature
Number Synology_Disk_Temperature2 "Temperature2 [%s °C]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.2.1.1.6.1:60000]" } //Disk temperature
Group gSynologyRAID "Synology RAID" <nas>
String Synology_RAID_raidName "raidName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.3.1.1.2.0:1800000]" } //The name of each RAID in DSM
Number Synology_RAID_raidStatus "raidStatus" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.3.1.1.3.0:60000]" } //It shows the RAID status right now Services
Number Synology_RAID_raidFreeSize "raidFreeSize [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.3.1.1.4.0:60000]" } //The free size of volume / disk group
Number Synology_RAID_raidTotalSize "raidTotalSize [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.3.1.1.5.0:60000]" } //The total size of volume / disk group
Number Synology_RAID_raidUsedSize "raidUsedSize [JS(byte.js):%s]"
Number Synology_RAID_raidUsedPercent "raidUsedPercent [%s %%]" (gPersist5M)
Group gSynologySMART "Synology SMART" <nas>
Switch Synology_SMART_Raw_Read_Error_Rate1 "Raw_Read_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.1:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Spin_Up_Time1 "Spin_Up_Time" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.2:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Start_Stop_Count1 "Start_Stop_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.3:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Reallocated_Sector_Ct1 "Reallocated_Sector_Ct" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.4:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Seek_Error_Rate1 "Seek_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.5:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Power_On_Hours1 "Power_On_Hours" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.6:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Spin_Retry_Count1 "Spin_Retry_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.7:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Power_Cycle_Count1 "Power_Cycle_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.8:1800000:MAP(ok.map)]" }
Switch Synology_SMART_End_to_End_Error1 "End-to-End_Error" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.9:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Reported_Uncorrect1 "Reported_Uncorrect" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.10:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Command_Timeout1 "Command_Timeout" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.11:1800000:MAP(ok.map)]" }
Switch Synology_SMART_High_Fly_Writes1 "High_Fly_Writes" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.12:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Airflow_Temperature_Cel1 "Airflow_Temperature_Cel" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.13:1800000:MAP(ok.map)]" }
Switch Synology_SMART_G_Sense_Error_Rate1 "G-Sense_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.14:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Power_Off_Retract_Count1 "Power-Off_Retract_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.15:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Load_Cycle_Count1 "Load_Cycle_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.16:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Temperature_Celsius1 "Temperature_Celsius" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.17:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Hardware_ECC_Recovered1 "Hardware_ECC_Recovered" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.18:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Current_Pending_Sector1 "Current_Pending_Sector" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.19:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Offline_Uncorrectable1 "Offline_Uncorrectable" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.20:1800000:MAP(ok.map)]" }
Switch Synology_SMART_UDMA_CRC_Error_Count1 "UDMA_CRC_Error_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.21:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Multi_Zone_Error_Rate1 "Multi_Zone_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.22:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Head_Flying_Hours1 "Head_Flying_Hours" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.23:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Total_LBAs_Written1 "Total_LBAs_Written" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.24:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Total_LBAs_Read1 "Total_LBAs_Read" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.25:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Raw_Read_Error_Rate2 "Raw_Read_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.26:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Spin_Up_Time2 "Spin_Up_Time" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.27:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Start_Stop_Count2 "Start_Stop_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.28:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Reallocated_Sector_Ct2 "Reallocated_Sector_Ct" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.29:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Seek_Error_Rate2 "Seek_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.30:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Power_On_Hours2 "Power_On_Hours" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.31:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Spin_Retry_Count2 "Spin_Retry_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.32:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Power_Cycle_Count2 "Power_Cycle_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.33:1800000:MAP(ok.map)]" }
Switch Synology_SMART_End_to_End_Error2 "End-to-End_Error" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.34:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Reported_Uncorrect2 "Reported_Uncorrect" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.35:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Command_Timeout2 "Command_Timeout" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.36:1800000:MAP(ok.map)]" }
Switch Synology_SMART_High_Fly_Writes2 "High_Fly_Writes" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.37:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Airflow_Temperature_Cel2 "Airflow_Temperature_Cel" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.38:1800000:MAP(ok.map)]" }
Switch Synology_SMART_G_Sense_Error_Rate2 "G-Sense_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.39:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Power_Off_Retract_Count2 "Power-Off_Retract_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.40:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Load_Cycle_Count2 "Load_Cycle_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.41:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Temperature_Celsius2 "Temperature_Celsius" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.42:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Hardware_ECC_Recovered2 "Hardware_ECC_Recovered" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.43:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Current_Pending_Sector2 "Current_Pending_Sector" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.44:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Offline_Uncorrectable2 "Offline_Uncorrectable" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.45:1800000:MAP(ok.map)]" }
Switch Synology_SMART_UDMA_CRC_Error_Count2 "UDMA_CRC_Error_Count" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.46:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Multi_Zone_Error_Rate2 "Multi_Zone_Error_Rate" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.47:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Head_Flying_Hours2 "Head_Flying_Hours" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.48:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Total_LBAs_Written2 "Total_LBAs_Written" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.49:1800000:MAP(ok.map)]" }
Switch Synology_SMART_Total_LBAs_Read2 "Total_LBAs_Read" <alarm> { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.5.1.1.9.50:1800000:MAP(ok.map)]" }
Group gSynologyServices "Synology Services" <nas>
String Synology_Services_serviceName1 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.1:1800000]" } //The name of the service
Number Synology_Services_serviceUsers1 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.1:60000]" } //The number of users using this service
String Synology_Services_serviceName2 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.2:1800000]" } //The name of the service
Number Synology_Services_serviceUsers2 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.2:60000]" } //The number of users using this service
String Synology_Services_serviceName3 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.3:1800000]" } //The name of the service
Number Synology_Services_serviceUsers3 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.3:60000]" } //The number of users using this service
String Synology_Services_serviceName4 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.4:1800000]" } //The name of the service
Number Synology_Services_serviceUsers4 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.4:60000]" } //The number of users using this service
String Synology_Services_serviceName5 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.5:1800000]" } //The name of the service
Number Synology_Services_serviceUsers5 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.5:60000]" } //The number of users using this service
String Synology_Services_serviceName6 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.6:1800000]" } //The name of the service
Number Synology_Services_serviceUsers6 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.6:60000]" } //The number of users using this service
String Synology_Services_serviceName7 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.7:1800000]" } //The name of the service
Number Synology_Services_serviceUsers7 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.7:60000]" } //The number of users using this service
String Synology_Services_serviceName8 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.8:1800000]" } //The name of the service
Number Synology_Services_serviceUsers8 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.8:60000]" } //The number of users using this service
String Synology_Services_serviceName9 "serviceName [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.2.9:1800000]" } //The name of the service
Number Synology_Services_serviceUsers9 "serviceUsers [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.6.1.1.3.9:60000]" } //The number of users using this service
Group gSynologyStorageio "Synology Storageio" <nas>
String Synology_Storageio_storageIODevice1 "storageIODevice [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.2.1:1800000]" } //The name of the device we are counting/checking
Number Synology_Storageio_storageIOReads1 "storageIOReads [%s #]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.5.1:60000]" } //The number of read accesses from this device since boot
Number Synology_Storageio_storageIOWrites1 "storageIOWrites [%s #]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.6.1:60000]" } //The number of write accesses to this device since boot
Number Synology_Storageio_storageIOLA1 "storageIOLA [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.8.1:10000]" } //The load of disk (%)
Number Synology_Storageio_storageIOLA11 "storageIOLA1 [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.9.1:60000]" } //The 1-minute average load of disk (%)
Number Synology_Storageio_storageIOLA51 "storageIOLA5 [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.10.1:60000]" } //The 5-minute average load of disk (%)
Number Synology_Storageio_storageIOLA151 "storageIOLA15 [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.11.1:60000]" } //The- 15 minute average load of disk (%)
Number Synology_Storageio_storageIONReadX1 "storageIONReadX [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.12.1:60000]" } //The number of bytes read from this device since boot (64 bit VER.)
Number Synology_Storageio_storageIONWrittenX1 "storageIONWrittenX [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.13.1:60000]" } //The number of bytes written to this device since boot (64 bit VER.)
String Synology_Storageio_storageIODevice2 "storageIODevice [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.2.2:1800000]" } //The name of the device we are counting/checking
Number Synology_Storageio_storageIOReads2 "storageIOReads [%s #]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.5.2:60000]" } //The number of read accesses from this device since boot
Number Synology_Storageio_storageIOWrites2 "storageIOWrites [%s #]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.6.2:60000]" } //The number of write accesses to this device since boot
Number Synology_Storageio_storageIOLA2 "storageIOLA [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.8.2:10000]" } //The load of disk (%)
Number Synology_Storageio_storageIOLA12 "storageIOLA1 [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.9.2:60000]" } //The 1-minute average load of disk (%)
Number Synology_Storageio_storageIOLA52 "storageIOLA5 [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.10.2:60000]" } //The 5-minute average load of disk (%)
Number Synology_Storageio_storageIOLA152 "storageIOLA15 [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.11.2:60000]" } //The- 15 minute average load of disk (%)
Number Synology_Storageio_storageIONReadX2 "storageIONReadX [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.12.2:60000]" } //The number of bytes read from this device since boot (64 bit VER.)
Number Synology_Storageio_storageIONWrittenX2 "storageIONWrittenX [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.101.1.1.13.2:60000]" } //The number of bytes written to this device since boot (64 bit VER.)
Group gSynologySpaceio "Synology Spaceio" <nas>
String Synology_Spaceio_spaceIODevice "spaceIODevice [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.2.1:1800000]" } //The name of the device this volume mounted on
Number Synology_Spaceio_spaceIOReads "spaceIOReads [%s #]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.5.1:60000]" } //The number of read accesses from this volume since boot
Number Synology_Spaceio_spaceIOWrites "spaceIOWrites [%s #]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.6.1:60000]" } //The number of write accesses to this volume since boot
Number Synology_Spaceio_spaceIOLA "spaceIOLA [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.8.1:10000]" } //The load of disk in the volume (%)
Number Synology_Spaceio_spaceIOLA1 "spaceIOLA1 [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.9.1:60000]" } //The 1 minute average load of disk in the volume (%)
Number Synology_Spaceio_spaceIOLA5 "spaceIOLA5 [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.10.1:60000]" } //The 5 minute average load of disk in the volume (%)
Number Synology_Spaceio_spaceIOLA15 "spaceIOLA15 [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.11.1:60000]" } //The 15 minute average load of disk in the volume (%)
Number Synology_Spaceio_spaceIONReadX "spaceIONReadX [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.12.1:60000]" } //The number of bytes read from this volume since boot (64 bit VER.)
Number Synology_Spaceio_spaceIONWrittenX "spaceIONReadX [JS(byte.js):%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.6574.102.1.1.13.1:60000]" } //The number of bytes written to this volume since boot (64 bit VER.)
Group gSynologyCPU "Synology CPU" <nas>
String Synology_CPU_Cpu "CPU [%s]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.2.1.25.3.2.1.3.196608:1800000]" }
Number Synology_CPU_ssCpuUser "ssCpuUser [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.2021.11.9.0:60000]" } //The percentage of CPU time spent processing user-level code
Number Synology_CPU_ssCpuSystem "ssCpuSystem [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.2021.11.10.0:60000]" } //The percentage of CPU time spent processing system-level code, calculated over the last minute
Number Synology_CPU_laLoad "laLoad [%s %%]" (gPersist5M)
Number Synology_CPU_ssCpuIdle "ssCpuIdle [%s %%]" { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.2021.11.11.0:10000]" } //The percentage of processor time spent idle, calculated over the last minute
Number Synology_CPU_laLoadInt1 "laLoadInt1 [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.2021.10.1.5.1:60000]" } // 1 minute Load
Number Synology_CPU_laLoadInt5 "laLoadInt5 [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.2021.10.1.5.2:60000]" } // 5 minute Load
Number Synology_CPU_laLoadInt15 "laLoadInt15 [%s %%]" (gPersist5M) { snmp="<[192.168.69.68:v2c:public:.1.3.6.1.4.1.2021.10.1.5.3:60000]" } // 15 minute Load
Group gSynologyMemory "Synology Memory" <nas>
Number Synology_CPU_memTotalSwap "memTotalSwap [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.3.0:1800000:JS(kbyte.js)]" } //The total amount of swap space configured for this host
Number Synology_CPU_memAvailSwap "memAvailSwap [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.4.0:60000:JS(kbyte.js)]" } //The amount of swap space currently unused or available
Number Synology_CPU_memTotalReal "memTotalReal [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.5.0:1800000:JS(kbyte.js)]" } //The total amount of real/physical memory installed on this host
Number Synology_CPU_memRealFree "memRealFree [JS(byte.js):%s]"
Number Synology_CPU_memRealUsed "memRealUsed [JS(byte.js):%s]"
Number Synology_CPU_memRealUsedPercent "memRealUsedPercent [%d %%]" (gPersist5M)
Number Synology_CPU_memAvailReal "memAvailReal [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.6.0:60000:JS(kbyte.js)]" } //The amount of real/physical memory currently unused or available
Number Synology_CPU_memTotalFree "memTotalFree [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.11.0:60000:JS(kbyte.js)]" } //The total amount of memory free or available for use on this host
Number Synology_CPU_memShared "memShared [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.13.0:60000:JS(kbyte.js)]" } //The total amount of real or virtual memory currently allocated for use as shared memory
Number Synology_CPU_memBuffer "memBuffer [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.14.0:60000:JS(kbyte.js)]" } //The total amount of real or virtual memory currently allocated for use as memory buffers
Number Synology_CPU_memCached "memCached [JS(byte.js):%s]" { snmp="<[192.168.69.68:public:.1.3.6.1.4.1.2021.4.15.0:60000:JS(kbyte.js)]" } //The total amount of real or virtual memory currently allocated for use as cached memory
Sitemap
Group item=gSynology {
Group item=gSynologySystem {
Selection item=Synology_System_systemStatus mappings=[1="Normal", 2="Failed"]
Default item=Synology_System_temperature
Selection item=Synology_System_powerStatus mappings=[1="Normal", 2="Failed"]
Selection item=Synology_System_systemFanStatus mappings=[1="Normal", 2="Failed"]
Selection item=Synology_System_cpuFanStatus mappings=[1="Normal", 2="Failed"]
Default item=Synology_System_modelName
Default item=Synology_System_serialNumber
Default item=Synology_System_version
Selection item=Synology_System_upgradeAvailable mappings=[1="Available", 2="Unavailable", 3="Connecting", 4="Disconnected", 5="Others"]
}
Group item=gSynologyDisk {
Default item=Synology_Disk_diskID1
Default item=Synology_Disk_diskID2
Default item=Synology_Disk_diskModel1
Default item=Synology_Disk_diskModel2
Default item=Synology_Disk_diskType1
Default item=Synology_Disk_diskType2
Selection item=Synology_Disk_Status1 mappings=[1="Normal", 2="Initialized", 3="NotInitialized", 4="SystemPartitionFailed", 5="Crashed"]
Selection item=Synology_Disk_Status2 mappings=[1="Normal", 2="Initialized", 3="NotInitialized", 4="SystemPartitionFailed", 5="Crashed"]
Default item=Synology_Disk_Temperature1
Default item=Synology_Disk_Temperature2
}
Group item=gSynologyRAID {
Default item=Synology_RAID_raidName
Selection item=Synology_RAID_raidStatus mappings=[1="Normal", 2="Repairing", 3="Migrating", 4="Expanding", 5="Deleting", 6="Creating", 7="RaidSyncing", 8="RaidParityChecking", 9="RaidAssembling", 10="Canceling", 11="Degrade", 12="Crashed", 13="DataScrubbing", 14="RaidDeploying", 15="RaidUnDeploying ", 16="RaidMountCache", 17="RaidUnmountCache", 18="RaidExpandingUnfinishedSHR", 19="RaidConvertSHRToPool", 20="RaidMigrateSHR1ToSHR2", 21="RaidUnknownStatus"]
Default item=Synology_RAID_raidFreeSize
Default item=Synology_RAID_raidTotalSize
Default item=Synology_RAID_raidUsedSize
Default item=Synology_RAID_raidUsedPercent
}
Group item=gSynologySMART {
Default item=Synology_SMART_Raw_Read_Error_Rate1
Default item=Synology_SMART_Raw_Read_Error_Rate2
Default item=Synology_SMART_Spin_Up_Time1
Default item=Synology_SMART_Spin_Up_Time2
Default item=Synology_SMART_Start_Stop_Count1
Default item=Synology_SMART_Start_Stop_Count2
Default item=Synology_SMART_Reallocated_Sector_Ct1
Default item=Synology_SMART_Reallocated_Sector_Ct2
Default item=Synology_SMART_Seek_Error_Rate1
Default item=Synology_SMART_Seek_Error_Rate2
Default item=Synology_SMART_Power_On_Hours1
Default item=Synology_SMART_Power_On_Hours2
Default item=Synology_SMART_Spin_Retry_Count1
Default item=Synology_SMART_Spin_Retry_Count2
Default item=Synology_SMART_Power_Cycle_Count1
Default item=Synology_SMART_Power_Cycle_Count2
Default item=Synology_SMART_End_to_End_Error1
Default item=Synology_SMART_End_to_End_Error2
Default item=Synology_SMART_Reported_Uncorrect1
Default item=Synology_SMART_Reported_Uncorrect2
Default item=Synology_SMART_Command_Timeout1
Default item=Synology_SMART_Command_Timeout2
Default item=Synology_SMART_High_Fly_Writes1
Default item=Synology_SMART_High_Fly_Writes2
Default item=Synology_SMART_Airflow_Temperature_Cel1
Default item=Synology_SMART_Airflow_Temperature_Cel2
Default item=Synology_SMART_G_Sense_Error_Rate1
Default item=Synology_SMART_G_Sense_Error_Rate2
Default item=Synology_SMART_Power_Off_Retract_Count1
Default item=Synology_SMART_Power_Off_Retract_Count2
Default item=Synology_SMART_Load_Cycle_Count1
Default item=Synology_SMART_Load_Cycle_Count2
Default item=Synology_SMART_Temperature_Celsius1
Default item=Synology_SMART_Temperature_Celsius2
Default item=Synology_SMART_Hardware_ECC_Recovered1
Default item=Synology_SMART_Hardware_ECC_Recovered2
Default item=Synology_SMART_Current_Pending_Sector1
Default item=Synology_SMART_Current_Pending_Sector2
Default item=Synology_SMART_Offline_Uncorrectable1
Default item=Synology_SMART_Offline_Uncorrectable2
Default item=Synology_SMART_UDMA_CRC_Error_Count1
Default item=Synology_SMART_UDMA_CRC_Error_Count2
Default item=Synology_SMART_Multi_Zone_Error_Rate1
Default item=Synology_SMART_Multi_Zone_Error_Rate2
Default item=Synology_SMART_Head_Flying_Hours1
Default item=Synology_SMART_Head_Flying_Hours2
Default item=Synology_SMART_Total_LBAs_Written1
Default item=Synology_SMART_Total_LBAs_Written2
Default item=Synology_SMART_Total_LBAs_Read1
Default item=Synology_SMART_Total_LBAs_Read2
}
Group item=gSynologyServices {
Default item=Synology_Services_serviceName1
Default item=Synology_Services_serviceUsers1
Default item=Synology_Services_serviceName2
Default item=Synology_Services_serviceUsers2
Default item=Synology_Services_serviceName3
Default item=Synology_Services_serviceUsers3
Default item=Synology_Services_serviceName4
Default item=Synology_Services_serviceUsers4
Default item=Synology_Services_serviceName5
Default item=Synology_Services_serviceUsers5
Default item=Synology_Services_serviceName6
Default item=Synology_Services_serviceUsers6
Default item=Synology_Services_serviceName7
Default item=Synology_Services_serviceUsers7
Default item=Synology_Services_serviceName8
Default item=Synology_Services_serviceUsers8
Default item=Synology_Services_serviceName9
Default item=Synology_Services_serviceUsers9
}
Group item=gSynologyStorageio {
Default item=Synology_Storageio_storageIODevice1
Default item=Synology_Storageio_storageIODevice2
Default item=Synology_Storageio_storageIOReads1
Default item=Synology_Storageio_storageIOReads2
Default item=Synology_Storageio_storageIOWrites1
Default item=Synology_Storageio_storageIOWrites2
Default item=Synology_Storageio_storageIOLA1
Default item=Synology_Storageio_storageIOLA2
Default item=Synology_Storageio_storageIOLA11
Default item=Synology_Storageio_storageIOLA12
Default item=Synology_Storageio_storageIOLA51
Default item=Synology_Storageio_storageIOLA52
Default item=Synology_Storageio_storageIOLA151
Default item=Synology_Storageio_storageIOLA152
Default item=Synology_Storageio_storageIONReadX1
Default item=Synology_Storageio_storageIONReadX2
Default item=Synology_Storageio_storageIONWrittenX1
Default item=Synology_Storageio_storageIONWrittenX2
}
Group item=gSynologyServices {
Default item=Synology_Services_serviceName1
Default item=Synology_Services_serviceUsers1
Default item=Synology_Services_serviceName2
Default item=Synology_Services_serviceUsers2
Default item=Synology_Services_serviceName3
Default item=Synology_Services_serviceUsers3
Default item=Synology_Services_serviceName4
Default item=Synology_Services_serviceUsers4
Default item=Synology_Services_serviceName5
Default item=Synology_Services_serviceUsers5
Default item=Synology_Services_serviceName6
Default item=Synology_Services_serviceUsers6
Default item=Synology_Services_serviceName7
Default item=Synology_Services_serviceUsers7
Default item=Synology_Services_serviceName8
Default item=Synology_Services_serviceUsers8
Default item=Synology_Services_serviceName9
Default item=Synology_Services_serviceUsers9
}
Group item=gSynologySpaceio {
Default item=Synology_Spaceio_spaceIODevice
Default item=Synology_Spaceio_spaceIOReads
Default item=Synology_Spaceio_spaceIOWrites
Default item=Synology_Spaceio_spaceIOLA
Default item=Synology_Spaceio_spaceIOLA1
Default item=Synology_Spaceio_spaceIOLA5
Default item=Synology_Spaceio_spaceIOLA15
Default item=Synology_Spaceio_spaceIONReadX
Default item=Synology_Spaceio_spaceIONWrittenX
}
Group item=gSynologyCPU {
Default item=Synology_CPU_Cpu
Default item=Synology_CPU_ssCpuUser
Default item=Synology_CPU_ssCpuSystem
Default item=Synology_CPU_laLoad
Default item=Synology_CPU_ssCpuIdle
Default item=Synology_CPU_laLoadInt1
Default item=Synology_CPU_laLoadInt5
Default item=Synology_CPU_laLoadInt15
}
Group item=gSynologyMemory {
Default item=Synology_CPU_memTotalReal
Default item=Synology_CPU_memTotalSwap
Default item=Synology_CPU_memAvailReal
Default item=Synology_CPU_memAvailSwap
Default item=Synology_CPU_memRealUsedPercent
Default item=Synology_CPU_memTotalFree
Default item=Synology_CPU_memRealUsed
Default item=Synology_CPU_memCached
Default item=Synology_CPU_memRealFree
Default item=Synology_CPU_memShared
Default item=Synology_CPU_memBuffer
}
Group item=gSynologyNetwork {
Default item=Synology_Network_ifName
Default item=Synology_Network_ifHCInOctets
Default item=Synology_Network_ifHCOutOctets
}
}
synology.rules
import java.util.List
val List<String> NotifyLocked = newArrayList()
rule "Synology bigger"
when
Item Synology_RAID_raidUsedPercent changed or
Item Synology_CPU_memRealUsedPercent changed or
Item Synology_CPU_memRealUsedPercent changed or
Item Synology_System_temperature changed or
Item Synology_Disk_Temperature1 changed or
Item Synology_Disk_Temperature2 changed
then
if ( triggeringItem.state == UNDEF )
{
Admin_Notify.sendCommand(triggeringItem.name + " changed to UNDEF")
}
else if ( triggeringItem.state != NULL )
{
val Integer value = Integer::parseInt(triggeringItem.state.toString)
val Integer limit = Integer::parseInt(transform("MAP", "config.map", triggeringItem.name))
if ( (NotifyLocked.contains(triggeringItem.name) == false) &&
(value > limit)
)
{
NotifyLocked.add(triggeringItem.name)
Admin_Notify.sendCommand(triggeringItem.name + ": " + value)
}
else if ( value <= (limit-5) )
{
NotifyLocked.remove(triggeringItem.name)
}
}
end
rule "Synology unequal"
when
Item Synology_System_systemStatus changed or
Item Synology_System_powerStatus changed or
Item Synology_System_systemFanStatus changed or
Item Synology_System_cpuFanStatus changed or
Item Synology_Disk_Status1 changed or
Item Synology_Disk_Status2 changed or
Item Synology_RAID_raidStatus changed or
Item Synology_System_upgradeAvailable changed
then
if ( triggeringItem.state == UNDEF )
{
Admin_Notify.sendCommand(triggeringItem.name + " changed to UNDEF")
}
else if ( triggeringItem.state != NULL )
{
val Integer value = Integer::parseInt(triggeringItem.state.toString)
val Integer limit = Integer::parseInt(transform("MAP", "config.map", triggeringItem.name))
if ( (NotifyLocked.contains(triggeringItem.name) == false) &&
(value != limit)
)
{
NotifyLocked.add(triggeringItem.name)
Admin_Notify.sendCommand(triggeringItem.name + ": " + value)
}
else if ( value == limit )
{
NotifyLocked.remove(triggeringItem.name)
}
}
end
rule "Synology_RAID_raidFreeSizeGB or Synology_RAID_raidTotalSize changed"
when
Item Synology_RAID_raidFreeSize changed or
Item Synology_RAID_raidTotalSize changed
then
if ( (Synology_RAID_raidFreeSize.state != NULL) && (Synology_RAID_raidFreeSize.state != UNDEF) &&
(Synology_RAID_raidTotalSize.state != NULL) && (Synology_RAID_raidTotalSize.state != UNDEF)
)
{
val Long TotalSize = Long::parseLong(Synology_RAID_raidTotalSize.state.toString)
val Long UsedSize = TotalSize - Long::parseLong(Synology_RAID_raidFreeSize.state.toString)
Synology_RAID_raidUsedSize.postUpdate(UsedSize)
Synology_RAID_raidUsedPercent.postUpdate( (UsedSize*100) / TotalSize )
}
end
rule "Synology_CPU_ssCpuIdle changed"
when
Item Synology_CPU_ssCpuIdle changed
then
if ( (Synology_CPU_ssCpuIdle.state == NULL) || (Synology_CPU_ssCpuIdle.state == UNDEF) )
{
Synology_CPU_laLoad.postUpdate(Synology_CPU_ssCpuIdle.state)
}
else
{
Synology_CPU_laLoad.postUpdate(100 - Integer::parseInt(Synology_CPU_ssCpuIdle.state.toString))
}
end
rule "Synology_CPU_memAvailReal, Synology_CPU_memBuffer, Synology_CPU_memCached changed"
when
Item Synology_CPU_memAvailReal changed or
Item Synology_CPU_memBuffer changed or
Item Synology_CPU_memCached changed or
Item Synology_CPU_memTotalReal changed
then
if ( (Synology_CPU_memAvailReal.state != NULL) && (Synology_CPU_memAvailReal.state != UNDEF) &&
(Synology_CPU_memBuffer.state != NULL) && (Synology_CPU_memBuffer.state != UNDEF) &&
(Synology_CPU_memCached.state != NULL) && (Synology_CPU_memCached.state != UNDEF) &&
(Synology_CPU_memTotalReal.state != NULL) && (Synology_CPU_memTotalReal.state != UNDEF)
)
{
val Long memTotalReal = Long::parseLong(Synology_CPU_memTotalReal.state.toString)
val Long realFree = Long::parseLong(Synology_CPU_memAvailReal.state.toString) + Long::parseLong(Synology_CPU_memBuffer.state.toString) + Long::parseLong(Synology_CPU_memCached.state.toString)
val Long realUsed = Long::parseLong(Synology_CPU_memTotalReal.state.toString) - realFree
Synology_CPU_memRealFree.postUpdate( realFree )
Synology_CPU_memRealUsed.postUpdate( realUsed )
Synology_CPU_memRealUsedPercent.postUpdate( (realUsed*100) / memTotalReal )
}
end
config.map
Synology_RAID_raidUsedPercent=80
Synology_CPU_memRealUsedPercent=80
Synology_CPU_memRealUsedPercent=80
Synology_System_temperature=45
Synology_Disk_Temperature1=35
Synology_Disk_Temperature2=35
Synology_System_systemStatus=1
Synology_System_powerStatus=1
Synology_System_systemFanStatus=1
Synology_System_cpuFanStatus=1
Synology_Disk_Status1=1
Synology_Disk_Status2=1
Synology_RAID_raidStatus=1
Synology_System_upgradeAvailable=2
=UNDEF
ok.map
OK=OFF
=ON
byte.js
(function(i) {
if ( i=='NULL' || i=='UNDEF' )
{
return i;
}
else
{
j = parseInt(i);
if ( j < 1024 )
{
return j + " B";
}
else if ( j < (1024 * 1024) )
{
return (j / 1024.0).toFixed(1) + " kB";
}
else if ( j < (1024 * 1024 * 1024) )
{
return (j / 1048576.0).toFixed(1) + " MB";
}
else if ( j < (1024 * 1024 * 1024 * 1024) )
{
return (j / 1073741824.0).toFixed(3) + " GB";
}
else
{
return (j / 1099511627776.0).toFixed(3) + " TB";
}
}
})(input)
kbyte.js
(function(i) {
if ( i=='NULL' || i=='UNDEF' )
{
return i;
}
else
{
return parseInt(i) * 1024;
}
})(input)
Screenshot
I hope that helps to safe some typing effort.