7.4a571c0d144b14fd4a87a9d9b2aa9fcd6Templates/Applications53d1ed1c603b4870a801ea0cafe4b0d5Immich Docker by agent 2Immich Docker by agent 2Modified docker template for getting the data only for Immich containers.Templates/Applications- b248a5ce6d7c4c5e8ee24dc3e19e2dd5Docker: Get containersdocker.containers0TEXTcomponentraw
- 5178a7ddcdc841b687a0df1ad2bcaeadImmich: Total CPU usageCALCULATEDdocker.immich.cpu.usage90dFLOAT%sum(last_foreach(//docker.container_stats.cpu_pct_usage[*]))This item calculates the total amount of CPU used by the serviceapplicationimmichcomponentcpu
- 528218313d26492b9f6c30aa7b999898Immich: Total memory usageCALCULATEDdocker.immich.memory.usage90dBsum(last_foreach(//docker.container_stats.memory.usage[*]))This item calculates the total amount of RAM used by the serviceapplicationimmichcomponentmemory
10589679c6784e48ad89331ae49375abContainers discoverydocker.containers.discovery[false]15mAND{#NAME}{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}{#NAME}{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}NOT_MATCHES_REGEX1dDISABLE_NEVERDiscovery of containers metrics.
Parameter:
true - Returns all containers
false - Returns only running containersbfe0064f9ece4c41bf972dc81279b739Container {#NAME}: CreatedDEPENDENTdocker.container_info.created["{#NAME}"]7dunixtimeDocker date formatJAVASCRIPTvar input = JSON.parse(value);
return truncatedTimestamp = Math.floor(Date.parse(input.Created) / 1000) || -1;DISCARD_UNCHANGED_HEARTBEAT1ddocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}cbd5588026ea4065848b0c452bbf6585Container {#NAME}: Finished atDEPENDENTdocker.container_info.finished["{#NAME}"]7dFLOATunixtimeTime at which the container last terminated.Docker date formatJAVASCRIPTvar input = JSON.parse(value);
return truncatedTimestamp = Math.floor(Date.parse(input.State.FinishedAt) / 1000) || -1;DISCARD_UNCHANGED_HEARTBEAT1ddocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}7304124afb7441d5abe6d7b871fbea74Container {#NAME}: ImageDEPENDENTdocker.container_info.image["{#NAME}"]7dCHARJSONPATH$[?(@.Names[0] == "{#NAME}")].Image.first()DISCARD_UNCHANGED_HEARTBEAT1ddocker.containerscomponentimagescontainer{#NAME}aa5b526a080e4458b39dc43026bed4faContainer {#NAME}: Restart countDEPENDENTdocker.container_info.restart_count["{#NAME}"]7dJSONPATH$.RestartCountdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}a154473f6fc84ed88cce3858a7e7f89eContainer {#NAME}: Started atDEPENDENTdocker.container_info.started["{#NAME}"]7dFLOATunixtimeDocker date formatJAVASCRIPTvar input = JSON.parse(value);
return truncatedTimestamp = Math.floor(Date.parse(input.State.StartedAt) / 1000) || -1;DISCARD_UNCHANGED_HEARTBEAT1ddocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}ab20d2081d974217be12d8b6eea7531aContainer {#NAME}: DeadDEPENDENTdocker.container_info.state.dead["{#NAME}"]7dDocker flagJSONPATH$.State.DeadBOOL_TO_DECIMALdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}6b09ed7e81ed418bb3a90428605ce574Container {#NAME}: ErrorDEPENDENTdocker.container_info.state.error["{#NAME}"]7dCHARJSONPATH$.State.ErrorDISCARD_UNCHANGED_HEARTBEAT1ddocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}ed69dc18c5904b7bb40353b753c2fa50last(/Immich Docker by agent 2/docker.container_info.state.error["{#NAME}"],#1)<>last(/Immich Docker by agent 2/docker.container_info.state.error["{#NAME}"],#2) and length(last(/Immich Docker by agent 2/docker.container_info.state.error["{#NAME}"]))>0Container {#NAME}: An error has occurred in the containerContainer {#NAME}: Version has changed (new version: {ITEM.VALUE})WARNINGContainer {#NAME} has an error. Acknowledge to close the problem manually.YESscopenoticeba92f107f36a40f38845744c9ec6ff03Container {#NAME}: Exit codeDEPENDENTdocker.container_info.state.exitcode["{#NAME}"]7dJSONPATH$.State.ExitCodeDISCARD_UNCHANGED_HEARTBEAT1ddocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}a133814a56fc426f8aab430907dc7113Container {#NAME}: Health failing streakDEPENDENTdocker.container_info.state.health.failing["{#NAME}"]7dFLOATJSONPATH$.State.Health.FailingStreakDISCARD_VALUEDISCARD_UNCHANGED_HEARTBEAT1hdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}51122b4c68b044189f525c47003ee12dContainer {#NAME}: Health statusDEPENDENTdocker.container_info.state.health["{#NAME}"]7dFLOATContainer's `HEALTHCHECK`.Docker container health stateJAVASCRIPTvar input = JSON.parse(value);
if (typeof input.State.Health !== 'object' || typeof input.State.Health === 'undefined') {
return 4;
}
return (['starting', 'unhealthy', 'healthy', 'none'].indexOf(input.State.Health.Status) + 1);IN_RANGE14CUSTOM_VALUE4docker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}cc1932fe659e4371b18997a7573d54dacount(/Immich Docker by agent 2/docker.container_info.state.health["{#NAME}"],2m,,2)>=2Container {#NAME}: Health state container is unhealthy{ITEM.LASTVALUE1}HIGHContainer health state is unhealthy.scopeavailability866f63c824714a4eb5b4f78cb910706cContainer {#NAME}: OOMKilledDEPENDENTdocker.container_info.state.oomkilled["{#NAME}"]7dDocker flagJSONPATH$.State.OOMKilledBOOL_TO_DECIMALdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}b1250c39198342a5a488d13f0614b097Container {#NAME}: PausedDEPENDENTdocker.container_info.state.paused["{#NAME}"]7dDocker flagJSONPATH$.State.PausedBOOL_TO_DECIMALdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}08f4c07968a141138ed1e86987cc0c45Container {#NAME}: PidDEPENDENTdocker.container_info.state.pid["{#NAME}"]7dJSONPATH$.State.PidDISCARD_UNCHANGED_HEARTBEAT1ddocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}f35e4a473b4f4c8886bc54193aa26122Container {#NAME}: RestartingDEPENDENTdocker.container_info.state.restarting["{#NAME}"]7dDocker flagJSONPATH$.State.RestartingBOOL_TO_DECIMALdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}0de0b3b3e8474fe8a538090252db700aContainer {#NAME}: RunningDEPENDENTdocker.container_info.state.running["{#NAME}"]7dDocker flagJSONPATH$.State.RunningBOOL_TO_DECIMALdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}39a5f669f0cc45d8a7d60e4cf083146dContainer {#NAME}: StatusDEPENDENTdocker.container_info.state.status["{#NAME}"]7dCHARJSONPATH$.State.StatusDISCARD_UNCHANGED_HEARTBEAT1hdocker.container_info["{#NAME}",full]componentsystemcontainer{#NAME}6c1b75efb20a4c16991fa86a6d22b66eContainer {#NAME}: Get infodocker.container_info["{#NAME}",full]0CHARReturn low-level information about a container.componentrawcontainer{#NAME}5dc0b910563c4a708b5fe08d98d0334cContainer {#NAME}: CPU percent usageDEPENDENTdocker.container_stats.cpu_pct_usage["{#NAME}"]7dFLOAT%JSONPATH$.cpu_stats.cpu_usage.percent_usagedocker.container_stats["{#NAME}"]componentcpucontainer{#NAME}f52db89f202c4f4193e031729d942170Container {#NAME}: CPU kernelmode usage per secondDEPENDENTdocker.container_stats.cpu_usage.kernel.rate["{#NAME}"]7dFLOATsJSONPATH$.cpu_stats.cpu_usage.usage_in_kernelmodeCHANGE_PER_SECONDMULTIPLIER1.0E-9docker.container_stats["{#NAME}"]componentcpucontainer{#NAME}49dc08b5c57a4f1ca9a5ba8f0a0754dbContainer {#NAME}: Throttled periodsDEPENDENTdocker.container_stats.cpu_usage.throttled_periods["{#NAME}"]7dNumber of periods when the container hits its throttling limit.JSONPATH$.cpu_stats.throttling_data.throttled_periodsdocker.container_stats["{#NAME}"]componentcpucontainer{#NAME}62f3e9617b0c4ebd83e0f2d19a271a7dContainer {#NAME}: Throttled timeDEPENDENTdocker.container_stats.cpu_usage.throttled_time["{#NAME}"]7dFLOATsAggregate time the container was throttled for in nanoseconds.JSONPATH$.cpu_stats.throttling_data.throttled_timeMULTIPLIER1.0E-9docker.container_stats["{#NAME}"]componentcpucontainer{#NAME}460c6764f3de4ee6bce9ca05ac8f46f9Container {#NAME}: Throttling periodsDEPENDENTdocker.container_stats.cpu_usage.throttling_periods["{#NAME}"]7dNumber of periods with throttling active.JSONPATH$.cpu_stats.throttling_data.periodsdocker.container_stats["{#NAME}"]componentcpucontainer{#NAME}36235d14fc0d4d6dbf018aae26ec8e57Container {#NAME}: CPU total usage per secondDEPENDENTdocker.container_stats.cpu_usage.total.rate["{#NAME}"]7dFLOATsJSONPATH$.cpu_stats.cpu_usage.total_usageCHANGE_PER_SECONDMULTIPLIER1.0E-9docker.container_stats["{#NAME}"]componentcpucontainer{#NAME}cd04ddc565cf448da4ce07da0b380ba6Container {#NAME}: CPU usermode usage per secondDEPENDENTdocker.container_stats.cpu_usage.user.rate["{#NAME}"]7dFLOATsJSONPATH$.cpu_stats.cpu_usage.usage_in_usermodeCHANGE_PER_SECONDMULTIPLIER1.0E-9docker.container_stats["{#NAME}"]componentcpucontainer{#NAME}9c0d9e76907841d98f18dce6c723ad65Container {#NAME}: Memory commit bytesDEPENDENTdocker.container_stats.memory.commit_bytes["{#NAME}"]7dBJSONPATH$.memory_stats.commitbytesdocker.container_stats["{#NAME}"]componentmemorycontainer{#NAME}eac97969af2644c6909545c74a66bae0Container {#NAME}: Memory commit peak bytesDEPENDENTdocker.container_stats.memory.commit_peak_bytes["{#NAME}"]7dBJSONPATH$.memory_stats.commitpeakbytesdocker.container_stats["{#NAME}"]componentmemorycontainer{#NAME}7ba7a4b551ea493983012e973c83193bContainer {#NAME}: Memory maximum usageDEPENDENTdocker.container_stats.memory.max_usage["{#NAME}"]7dBJSONPATH$.memory_stats.max_usagedocker.container_stats["{#NAME}"]componentmemorycontainer{#NAME}38be7d39baae4eae942f576a5c5603ccContainer {#NAME}: Memory private working setDEPENDENTdocker.container_stats.memory.private_working_set["{#NAME}"]7dBJSONPATH$.memory_stats.privateworkingsetdocker.container_stats["{#NAME}"]componentmemorycontainer{#NAME}ec39b3cfddc64471b562b1d8776b54e8Container {#NAME}: Memory usageDEPENDENTdocker.container_stats.memory.usage["{#NAME}"]7dBJSONPATH$.memory_stats.usagedocker.container_stats["{#NAME}"]componentmemorycontainer{#NAME}d7d1f1610c0c4c049fbc7b3e87607a1eContainer {#NAME}: Online CPUsDEPENDENTdocker.container_stats.online_cpus["{#NAME}"]7dJSONPATH$.cpu_stats.online_cpusdocker.container_stats["{#NAME}"]componentcpucontainer{#NAME}cf7a6539144247d9a4fa69988db1d2b3Container {#NAME}: Current PIDs countDEPENDENTdocker.container_stats.pids_stats.current["{#NAME}"]7dCurrent number of PIDs the container has created.JSONPATH$.pids_stats.currentdocker.container_stats["{#NAME}"]componentsystemcontainer{#NAME}d037e1f0267745d193b04aa36bb87190Container {#NAME}: Get statsdocker.container_stats["{#NAME}"]0CHARGet container stats based on resource usage.componentrawcontainer{#NAME}b92145c6015f416eaac2339d786b054aContainer {#NAME}: Networks bytes received per secondDEPENDENTdocker.networks.rx_bytes["{#NAME}"]7dFLOATBJSONPATH$.networks[*].rx_bytes.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}dc2f5275ba7745bbae652eda95f386f7Container {#NAME}: Networks incoming packets dropped per secondDEPENDENTdocker.networks.rx_dropped["{#NAME}"]7dFLOATJSONPATH$.networks[*].rx_dropped.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}ad7bef4d88494c18a1026f1efbf116d6Container {#NAME}: Networks errors received per secondDEPENDENTdocker.networks.rx_errors["{#NAME}"]7dFLOATJSONPATH$.networks[*].rx_errors.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}108fb98661b44b14a8317ad868289029Container {#NAME}: Networks packets received per secondDEPENDENTdocker.networks.rx_packets["{#NAME}"]7dFLOATJSONPATH$.networks[*].rx_packets.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}033a027d4ea34c1f80aff6f855ef686fContainer {#NAME}: Networks bytes sent per secondDEPENDENTdocker.networks.tx_bytes["{#NAME}"]7dFLOATBJSONPATH$.networks[*].tx_bytes.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}aed6fd2cd2fb4a929e3a4cc07e121c49Container {#NAME}: Networks outgoing packets dropped per secondDEPENDENTdocker.networks.tx_dropped["{#NAME}"]7dFLOATJSONPATH$.networks[*].tx_dropped.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}c7edd0df4a6142679e1e3aa1c0a7e711Container {#NAME}: Networks errors sent per secondDEPENDENTdocker.networks.tx_errors["{#NAME}"]7dFLOATJSONPATH$.networks[*].tx_errors.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}3e82872310c24fa0b56507720911fd6dContainer {#NAME}: Networks packets sent per secondDEPENDENTdocker.networks.tx_packets["{#NAME}"]7dFLOATJSONPATH$.networks[*].tx_packets.sum()CUSTOM_VALUE0CHANGE_PER_SECONDdocker.container_stats["{#NAME}"]componentnetworkcontainer{#NAME}595c73fd509746e39417c0b63eaeb800last(/Immich Docker by agent 2/docker.container_info.state.exitcode["{#NAME}"])>0 and last(/Immich Docker by agent 2/docker.container_info.state.running["{#NAME}"])=0Container {#NAME}: Container has been stopped with error codeExit code: {ITEM.LASTVALUE1}AVERAGEYESscopeavailabilityd665510cb0e6477f9dc236f15dcd0a2bContainer {#NAME}: CPU usageSTACKEDGRADIENT_LINE199C0D- Immich Docker by agent 2docker.container_stats.cpu_usage.kernel.rate["{#NAME}"]
1GRADIENT_LINEF63100- Immich Docker by agent 2docker.container_stats.cpu_usage.user.rate["{#NAME}"]
2GRADIENT_LINE00611C- Immich Docker by agent 2docker.container_stats.cpu_usage.total.rate["{#NAME}"]
dae13194e20d47e78881b44e98ee41d3Container {#NAME}: Memory usageGRADIENT_LINE199C0D- Immich Docker by agent 2docker.container_stats.memory.usage["{#NAME}"]
1GRADIENT_LINEF63100- Immich Docker by agent 2docker.container_stats.memory.max_usage["{#NAME}"]
6f15b906896b4084ac67d6f0bbf24b4cContainer {#NAME}: Network packetsBOLD_LINE199C0D- Immich Docker by agent 2docker.networks.rx_packets["{#NAME}"]
1BOLD_LINEF63100- Immich Docker by agent 2docker.networks.tx_packets["{#NAME}"]
2BOLD_LINE00611C- Immich Docker by agent 2docker.networks.rx_errors["{#NAME}"]
3BOLD_LINEF7941D- Immich Docker by agent 2docker.networks.tx_errors["{#NAME}"]
4BOLD_LINEFC6EA3- Immich Docker by agent 2docker.networks.rx_dropped["{#NAME}"]
5BOLD_LINE6C59DC- Immich Docker by agent 2docker.networks.tx_dropped["{#NAME}"]
0b7c22483bdd4688bcc5c58ea2eba862Container {#NAME}: Network trafficBOLD_LINE199C0D- Immich Docker by agent 2docker.networks.rx_bytes["{#NAME}"]
1BOLD_LINEF63100- Immich Docker by agent 2docker.networks.tx_bytes["{#NAME}"]
classsoftwaretargetdocker{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}(?i)immichFilter of discoverable containers.{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}CHANGE_IF_NEEDEDFilter to exclude discovered containers.{$DOCKER.LLD.FILTER.IMAGE.MATCHES}.*Filter of discoverable images.{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}CHANGE_IF_NEEDEDFilter to exclude discovered images.3d6cacf0e56b4654affd7d10ce8d9f0eDocker overviewgraph365STRINGreferenceAAABBgraph5365STRINGreferenceAAABDgraph10365STRINGreferenceAAABFgraph36365STRINGreferenceAAABCgraph365365STRINGreferenceAAABE1fa1ee5586dc4504921e29e4b6d47affDocker container health state1starting2unhealthy3healthy4none08f331dd21e949319944a52873c84db5Docker date format-1Error parsing date-62135596800Null time74eb68936a7245eba12db05fe1f257e4Docker flag0False1Truebe209bc918f847009f5da018938d9137Service state0Down1Up