{"id":13416101,"url":"https://github.com/monitoringartist/Zabbix-Docker-Monitoring","last_synced_at":"2025-03-14T23:31:18.481Z","repository":{"id":19345325,"uuid":"22584482","full_name":"monitoringartist/zabbix-docker-monitoring","owner":"monitoringartist","description":":whale: Docker/Kubernetes/Mesos/Marathon/Chronos/LXC/LXD/Swarm container monitoring - Docker image, Zabbix template and C module","archived":false,"fork":false,"pushed_at":"2022-02-22T17:01:39.000Z","size":7018,"stargazers_count":1192,"open_issues_count":13,"forks_count":266,"subscribers_count":86,"default_branch":"master","last_synced_at":"2024-10-29T20:51:00.315Z","etag":null,"topics":["devops","docker","monitoring","monitoring-artist","zabbix","zabbix-agentd","zabbix-docker","zabbix-templates"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/monitoringartist/zabbix-agent-xxl-limited/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monitoringartist.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-03T22:00:01.000Z","updated_at":"2024-10-18T19:15:29.000Z","dependencies_parsed_at":"2022-07-17T08:46:31.281Z","dependency_job_id":null,"html_url":"https://github.com/monitoringartist/zabbix-docker-monitoring","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitoringartist%2Fzabbix-docker-monitoring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitoringartist%2Fzabbix-docker-monitoring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitoringartist%2Fzabbix-docker-monitoring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monitoringartist%2Fzabbix-docker-monitoring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monitoringartist","download_url":"https://codeload.github.com/monitoringartist/zabbix-docker-monitoring/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243663485,"owners_count":20327299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","docker","monitoring","monitoring-artist","zabbix","zabbix-agentd","zabbix-docker","zabbix-templates"],"created_at":"2024-07-30T21:00:54.317Z","updated_at":"2025-03-14T23:31:17.653Z","avatar_url":"https://github.com/monitoringartist.png","language":"C","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=8LB6J222WRUZ4"],"categories":["Container Operations","Monitoring"],"sub_categories":["Monitoring"],"readme":"[\u003cimg src=\"https://monitoringartist.github.io/managed-by-monitoringartist.png\" alt=\"Managed by Monitoring Artist: DevOps / Docker / Kubernetes / AWS ECS / Zabbix / Zenoss / Terraform / Monitoring\" align=\"right\"/\u003e](http://www.monitoringartist.com 'DevOps / Docker / Kubernetes / AWS ECS / Zabbix / Zenoss / Terraform / Monitoring')\n\n# Zabbix Docker Monitoring ![Build binaries](https://github.com/monitoringartist/zabbix-docker-monitoring/workflows/Test%20and%20Build/badge.svg) [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/monitoringartist/zabbix-docker-monitoring)\n\n**Overview of Monitoring Artist (dockerized) monitoring ecosystem:**\n\n- **[Dockbix XXL](https://hub.docker.com/r/monitoringartist/dockbix-xxl/)** - Zabbix server/proxy/UI/snmpd/java gateway with additional extensions\n- **[Dockbix agent XXL](https://hub.docker.com/r/monitoringartist/dockbix-agent-xxl-limited/)** - Zabbix agent with [Docker (Kubernetes/Mesos/Chronos/Marathon) monitoring](https://github.com/monitoringartist/zabbix-docker-monitoring) module\n- **[Zabbix templates](https://hub.docker.com/r/monitoringartist/zabbix-templates/)** - tiny Docker image for simple template deployment of selected Zabbix monitoring templates\n- **[Zabbix extension - all templates](https://hub.docker.com/r/monitoringartist/zabbix-ext-all-templates/)** - storage image for Dockbix XXL with 200+ [community templates](https://github.com/monitoringartist/zabbix-community-repos)\n- **[Kubernetized Zabbix](https://github.com/monitoringartist/kubernetes-zabbix)** - containerized Zabbix cluster based on Kubernetes\n- **[Grafana XXL](https://hub.docker.com/r/monitoringartist/grafana-xxl/)** - dockerized Grafana with all community plugins\n- **[Grafana dashboards](https://grafana.net/monitoringartist)** - Grafana dashboard collection for [AWS](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards) and [Zabbix](https://github.com/monitoringartist/grafana-zabbix-dashboards)\n- **[Monitoring Analytics](https://hub.docker.com/r/monitoringartist/monitoring-analytics/)** - graphic analytic tool for Zabbix data from data scientists\n- **[Docker killer](https://hub.docker.com/r/monitoringartist/docker-killer/)** - Docker image for Docker stress and Docker orchestration testing\n\n----\n\nMonitoring of Docker container by using Zabbix. Available CPU, mem,\nblkio, net container metrics and some containers config details, e.g. IP, name, ...\nZabbix Docker module has native support for Docker containers (Systemd included)\nand should also support a few other container types (e.g. LXC) out of the box.\nPlease feel free to test and provide feedback/open issue.\nThe module is focused on performance, see section\n[Module vs. UserParameter script](#module-vs-userparameter-script).\n\nModule is available also as a part of different GitHub project - Docker image\n[dockbix-agent-xxl-limited](https://hub.docker.com/r/monitoringartist/dockbix-agent-xxl-limited/)\n(OS Linux host metrics and other selected metrics are supported as well). Quickstart:\n\n[![Dockbix Agent XXL Docker container](https://raw.githubusercontent.com/monitoringartist/dockbix-agent-xxl/master/doc/dockbix-agent-xxl.gif)](https://github.com/monitoringartist/dockbix-agent-xxl)\n\n```bash\ndocker run \\\n  --name=dockbix-agent-xxl \\\n  --net=host \\\n  --privileged \\\n  -v /:/rootfs \\\n  -v /var/run:/var/run \\\n  --restart unless-stopped \\\n  -e \"ZA_Server=\u003cZABBIX SERVER IP/DNS NAME/IP RANGE\u003e\" \\\n  -e \"ZA_ServerActive=\u003cZABBIX SERVER IP/DNS NAME\u003e\" \\\n  -d monitoringartist/dockbix-agent-xxl-limited:latest\n```\n\nFor more information, visit [Dockbix agent XXL with Docker monitoring support](https://github.com/monitoringartist/dockbix-agent-xxl).\n\nPlease donate to the author, so he can continue to publish other awesome projects\nfor free:\n\n[![Paypal donate button](http://jangaraj.com/img/github-donate-button02.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=8LB6J222WRUZ4)\n\n# Installation\n\n* Import provided template [Zabbix-Template-App-Docker.xml](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/template/Zabbix-Template-App-Docker.xml).\n* Configure your Zabbix agent(s) - load downloaded (see table below) or your\n[compiled](#compilation) `zabbix_module_docker.so`\u003cbr\u003e\nhttps://www.zabbix.com/documentation/3.0/manual/config/items/loadablemodules\n\nAvailable templates:\n\n- [Zabbix-Template-App-Docker.xml](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/template/Zabbix-Template-App-Docker.xml) - standard (recommended) template\n- [Zabbix-Template-App-Docker-active.xml](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/template/Zabbix-Template-App-Docker-active.xml) - standard template with active checks\n- [Zabbix-Template-App-Docker-Mesos-Marathon-Chronos.xml](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/template/Zabbix-Template-App-Docker-Mesos-Marathon-Chronos.xml) - template for monitoring of Docker containers in Mesos cluster (Marathon/Chronos)\n\nYou can use Docker image [monitoringartist/zabbix-templates](https://hub.docker.com/r/monitoringartist/zabbix-templates/) for import of Zabbix-Template-App-Docker.xml template. For example:\n\n```bash\ndocker run --rm \\\n  -e XXL_apiurl=http://zabbix.org/zabbix \\\n  -e XXL_apiuser=Admin \\\n  -e XXL_apipass=zabbix \\\n  monitoringartist/zabbix-templates\n```\n\nDownload latest build of `zabbix_module_docker.so` for Zabbix 6.0/5.4/5.0/4.0 agents:\n\n| OS           | Zabbix 6.0 | Zabbix 5.4 | Zabbix 5.0 | Zabbix 4.0 |\n| ------------ | :--------: | :--------: | :--------: | :--------: |\n| Amazon Linux 2 | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux2/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux2/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux2/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux2/4.0/zabbix_module_docker.so) |\n| Amazon Linux 1 | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux1/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux1/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux1/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/amazonlinux1/4.0/zabbix_module_docker.so) |\n| CentOS 7     | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/4.0/zabbix_module_docker.so) |\n| Debian 11     |  [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian11/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian11/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian11/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian11/4.0/zabbix_module_docker.so) |\n| Debian 10     |  [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian10/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian10/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian10/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian10/4.0/zabbix_module_docker.so) |\n| Debian 9     |  [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian9/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian9/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian9/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/debian9/4.0/zabbix_module_docker.so) |\n| Fedora 35    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora35/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora35/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora35/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora35/4.0/zabbix_module_docker.so) |\n| Fedora 34    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora34/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora34/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora34/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora34/4.0/zabbix_module_docker.so) |\n| Fedora 33    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora33/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora33/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora33/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/fedora33/4.0/zabbix_module_docker.so) |\n| openSUSE 15  | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse15/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse15/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse15/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse15/4.0/zabbix_module_docker.so) |\n| openSUSE 42  | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse42/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse42/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse42/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/opensuse42/4.0/zabbix_module_docker.so) |\n| RHEL 7       | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/centos7/4.0/zabbix_module_docker.so) |\n| Ubuntu 20    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu20/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu20/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu20/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu20/4.0/zabbix_module_docker.so) |\n| Ubuntu 18    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu18/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu18/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu18/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu18/4.0/zabbix_module_docker.so) |\n| Ubuntu 16    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu16/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu16/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu16/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu16/4.0/zabbix_module_docker.so) |\n| Ubuntu 14    | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu14/6.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu14/5.4/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu14/5.0/zabbix_module_docker.so) | [Download](https://github.com/monitoringartist/zabbix-docker-monitoring/raw/gh-pages/ubuntu14/4.0/zabbix_module_docker.so) |\n\nIf the provided build doesn't work on your system, please see section [Compilation](#compilation).\nYou can check [folder dockerfiles](https://github.com/monitoringartist/zabbix-docker-monitoring/tree/master/dockerfiles),\nwhere Dockerfiles for different OS/Zabbix versions can be customised.\n\n# Grafana dashboard\n\nCustom Grafana dashboard for Docker monitoring with used Zabbix Docker (Mesos, Marathon/Chronos) templates are available in [Grafana Zabbix dashboards repo](https://github.com/monitoringartist/grafana-zabbix-dashboards).\n\n![Grafana dashboard Overview Docker](https://raw.githubusercontent.com/monitoringartist/grafana-zabbix-dashboards/master/overview-docker/overview-docker.png) \n\n# Available metrics\n\nNote: cid - container ID, two options are available:\n\n- full container ID (macro *{#FCONTAINERID}*), e.g.\n*2599a1d88f75ea2de7283cbf469ea00f0e5d42aaace95f90ffff615c16e8fade*\n- human name or short container ID (macros *{#HCONTAINERID}* or *{#SCONTAINERID}*) - prefix \"/\" must be used, e.g.\n*/zabbix-server* or */2599a1d88f75*\n\n| Key | Description |\n| --- | ----------- |\n| **docker.discovery[\\\u003cpar1\\\u003e,\\\u003cpar2\\\u003e,\\\u003cpar3\\\u003e]** | **LLD container discovering:**\u003cbr\u003eOnly running containers are discovered.\u003cbr\u003e[Additional Docker permissions](#additional-docker-permissions) are needed when you want to see container name (human name) in metrics/graphs instead of short container ID. Optional parameters are used for definition of HCONTAINERID - docker.inspect function will be used in this case.\u003cbr\u003eFor example:\u003cbr\u003e*docker.discovery[Config,Env,MESOS_TASK_ID=]* is recommended for Mesos/Chronos/Marathon container monitoring\u003cbr\u003eNote 1: *docker.discovery* is faster version of *docker.discovery[Name]*\u003cbr\u003eNote 2: Available macros:\u003cbr\u003e*{#FCONTAINERID}* - full container ID (64 character string)\u003cbr\u003e*{#SCONTAINERID}* - short container ID (12 character string)\u003cbr\u003e*{#HCONTAINERID}* - human name of container\u003cbr\u003e*{#SYSTEM.HOSTNAME}* - system hostname |\n| **docker.port.discovery[cid,\\\u003cprotocol\\\u003e]** | **LLD published container port dicovering:**\u003cbr\u003e**protocol** - port protocol, which should be discovered, default value *all*, available protocols: *tcp,udp* |\n| **docker.mem[cid,mmetric]** | **Memory metrics:**\u003cbr\u003e**mmetric** - any available memory metric in the pseudo-file memory.stat, e.g.: *cache, rss, mapped_file, pgpgin, pgpgout, swap, pgfault, pgmajfault, inactive_anon, active_anon, inactive_file, active_file, unevictable, hierarchical_memory_limit, hierarchical_memsw_limit, total_cache, total_rss, total_mapped_file, total_pgpgin, total_pgpgout, total_swap, total_pgfault, total_pgmajfault, total_inactive_anon, total_active_anon, total_inactive_file, total_active_file, total_unevictable*, Note: if you have a problem with memory metrics, be sure that memory cgroup subsystem is enabled - kernel parameter: *cgroup_enable=memory* |\n| **docker.cpu[cid,cmetric]** | **CPU metrics:**\u003cbr\u003e**cmetric** - any available CPU metric in the pseudo-file cpuacct.stat/cpu.stat, e.g.: *system, user, total (current sum of system/user* or container [throttling metrics](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpu.html): *nr_throttled, throttled_time*\u003cbr\u003eNote: CPU user/system/total metrics must be recalculated to % utilization value by Zabbix - *Delta (speed per second)*. |\n| **docker.dev[cid,bfile,bmetric]** | **Blk IO metrics:**\u003cbr\u003e**bfile** - container blkio pseudo-file, e.g.: *blkio.io_merged, blkio.io_queued, blkio.io_service_bytes, blkio.io_serviced, blkio.io_service_time, blkio.io_wait_time, blkio.sectors, blkio.time, blkio.avg_queue_size, blkio.idle_time, blkio.dequeue, ...*\u003cbr\u003e**bmetric** - any available blkio metric in selected pseudo-file, e.g.: *Total*. Option for selected block device only is also available e.g. *'8:0 Sync'* (quotes must be used in key parameter in this case)\u003cbr\u003eNote: Some pseudo blkio files are available only if kernel config *CONFIG_DEBUG_BLK_CGROUP=y*, see recommended docs. |\n| **docker.inspect[cid,par1,\\\u003cpar2\\\u003e,\\\u003cpar3\\\u003e]** | **Docker inspection:**\u003cbr\u003eRequested value from Docker inspect JSON object (e.g. [API v1.21](http://docs.docker.com/engine/reference/api/docker_remote_api_v1.21/#inspect-a-container)) is returned.\u003cbr\u003e**par1** - name of 1st level JSON property\u003cbr\u003e**par2** - optional name of 2nd level JSON property\u003cbr\u003e**par3** - optional name of 3rd level JSON property or selector of item in the JSON array\u003cbr\u003eFor example:\u003cbr\u003e*docker.inspect[cid,Config,Image], docker.inspect[cid,NetworkSettings,IPAddress], docker.inspect[cid,Config,Env,MESOS_TASK_ID=], docker.inspect[cid,State,StartedAt], docker.inspect[cid,Name]*\u003cbr\u003eNote 1: Requested value must be plain text/numeric value. JSON objects and booleans are not supported.\u003cbr\u003eNote 2: [Additional Docker permissions](#additional-docker-permissions) are needed.\u003cbr\u003eNote 3: If you use selector for selecting value in array, then selector string is removed from returned value. |\n| **docker.info[info]** | **Docker information:**\u003cbr\u003eRequested value from Docker info JSON object (e.g. [API v1.21](http://docs.docker.com/engine/reference/api/docker_remote_api_v1.21/#display-system-wide-information)) is returned.\u003cbr\u003e**info** - name of requested information, e.g. *Containers, Images, NCPU, ...*\u003cbr\u003eNote: [Additional Docker permissions](#additional-docker-permissions) are needed. |\n| **docker.stats[cid,par1,\\\u003cpar2\\\u003e,\\\u003cpar3\\\u003e]** | **Docker container resource usage statistics:**\u003cbr\u003eDocker version 1.5+ is required\u003cbr\u003eRequested value from Docker stats JSON object (e.g. [API v1.21](http://docs.docker.com/engine/reference/api/docker_remote_api_v1.21/#get-container-stats-based-on-resource-usage)) is returned.\u003cbr\u003e**par1** - name of 1st level JSON property\u003cbr\u003e**par2** - optional name of 2nd level JSON property\u003cbr\u003e**par3** - optional name of 3rd level JSON property\u003cbr\u003eFor example:\u003cbr\u003e*docker.stats[cid,memory_stats,usage], docker.stats[cid,network,rx_bytes], docker.stats[cid,cpu_stats,cpu_usage,total_usage]*\u003cbr\u003eNote 1: Requested value must be plain text/numeric value. JSON objects/arrays are not supported.\u003cbr\u003eNote 2: [Additional Docker permissions](#additional-docker-permissions) are needed.\u003cbr\u003eNote 3: The most accurate way to get Docker container stats, but it's also the slowest (0.3-0.7s), because data are readed from on demand container stats stream. |\n| **docker.cstatus[status]** | **Count of Docker containers in defined status:**\u003cbr\u003e**status** - container status, available statuses:\u003cbr\u003e*All* - count of all containers\u003cbr\u003e*Up* - count of running containers (Paused included)\u003cbr\u003e*Exited* - count of exited containers\u003cbr\u003e*Crashed* - count of crashed containers (exit code != 0)\u003cbr\u003e*Paused* - count of paused containers\u003cbr\u003eNote: [Additional Docker permissions](#additional-docker-permissions) are needed.|\n| **docker.istatus[status]** | **Count of Docker images in defined status:**\u003cbr\u003e**status** - image status, available statuses:\u003cbr\u003e*All* - all images\u003cbr\u003e*Dangling* - count of dangling images\u003cbr\u003eNote: [Additional Docker permissions](#additional-docker-permissions) are needed.|\n| **docker.vstatus[status]** | **Count of Docker volumes in defined status:**\u003cbr\u003e**status** - volume status, available statuses:\u003cbr\u003e*All* - all volumes\u003cbr\u003e*Dangling* - count of dangling volumes\u003cbr\u003eNote 1: [Additional Docker permissions](#additional-docker-permissions) are needed.\u003cbr\u003eNote2: Docker API v1.21+ is required|\n| **docker.up[cid]** | **Running state check:**\u003cbr\u003e1 if container is running, otherwise 0 |\n| **docker.modver** | Version of the loaded docker module |\n| | |\n| **docker.xnet[cid,interface,nmetric]** | **Network metrics (experimental):**\u003cbr\u003e**interface** - name of interface, e.g. eth0, if name is *all*, then sum of selected metric across all interfaces is returned (`lo` included)\u003cbr\u003e**nmetric** - any available network metric name from output of command netstat -i:\u003cbr\u003e*MTU, Met, RX-OK, RX-ERR, RX-DRP, RX-OVR, TX-OK, TX-ERR, TX-DRP, TX-OVR*\u003cbr\u003eFor example:\u003cbr\u003e*docker.xnet[cid,eth0,TX-OK]\u003cbr\u003edocker.xnet[cid,all,RX-ERR]*\u003cbr\u003eNote 1: [Root permissions (AllowRoot=1)](#additional-docker-permissions) are required, because net namespaces (`/var/run/netns/`) are created/used \u003cbr\u003eNote 2: **netstat** is needed to be installed and available in PATH|\n\nContainer log monitoring\n========================\n\n[Standard Zabbix log monitoring](https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/log_items)\ncan be used. Keep in mind, that Zabbix agent must support active mode for log\nmonitoring. Stdout/stderr Docker container console output is logged by Docker\ninto file */var/lib/docker/containers/\\\u003cfid\\\u003e/\\\u003cfid\\\u003e-json.log* (fid - full container\nID = macro *{#FCONTAINERID}*). If the application in container is not able to\nlog to stdout/stderr, link log file to stdout/stderr. For example:\n\n```bash\nln -sf /dev/stdout /var/log/nginx/access.log\nln -sf /dev/stderr /var/log/nginx/error.log\n```\n\nExample of *\u003cfid\u003e-json* log file:\n\n```\n{\"log\":\"2015-07-03 00:15:05,870 DEBG fd 13 closed, stopped monitoring \\u003cPOutputDispatcher at 37974528 for \\u003cSubprocess at 37493936 with name php-fpm in state STARTING\\u003e (stdout)\\u003e\\n\",\"stream\":\"stdout\",\"time\":\"2015-07-03T00:15:05.871956756Z\"}\n{\"log\":\"2015-07-03 00:15:05,873 DEBG fd 17 closed, stopped monitoring \\u003cPOutputDispatcher at 37974240 for \\u003cSubprocess at 37493936 with name php-fpm in state STARTING\\u003e (stderr)\\u003e\\n\",\"stream\":\"stdout\",\"time\":\"2015-07-03T00:15:05.875886957Z\"}\n{\"log\":\"2015-07-03 00:15:06,878 INFO success: nginx entered RUNNING state, process has stayed up for \\u003e than 1 seconds (startsecs)\\n\",\"stream\":\"stdout\",\"time\":\"2015-07-03T00:15:06.882435459Z\"}\n{\"log\":\"2015-07-03 00:15:06,879 INFO success: nginx-reload entered RUNNING state, process has stayed up for \\u003e than 1 seconds (startsecs)\\n\",\"stream\":\"stdout\",\"time\":\"2015-07-03T00:15:06.882548486Z\"}\n```\n\nRecommended Zabbix log key for this case:\n\n```\nlog[/var/lib/docker/containers/\u003cfid\u003e/\u003cfid\u003e-json.log,\"\\\"log\\\":\\\"(.*)\\\",\\\"stream\",,,skip,\\1]\n```\n\nYou can utilize Zabbix LLD for automatic Docker container log monitoring. In this case it'll be:\n\n```\nlog[/var/lib/docker/containers/{#FCONTAINERID}/{#FCONTAINERID}-json.log,\"\\\"log\\\":\\\"(.*)\\\",\\\"stream\",,,skip,\\1]\n```\n\nImages\n======\n\nDocker container CPU graph in Zabbix:\n![Docker container CPU graph in Zabbix](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/doc/zabbix-docker-container-cpu-graph.png)\nDocker container memory graph in Zabbix:\n![Docker container memory graph in Zabbix](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/doc/zabbix-docker-container-memory-graph.png)\nDocker container state graph in Zabbix:\n![Docker container state graph in Zabbix](https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/doc/zabbix-docker-container-state-graph.png)\n\nAdditional Docker permissions\n=============================\n\nYou have two options, how to get additional Docker permissions:\n\n- Add zabbix user to docker group (recommended option):\n\n```bash\nusermod -aG docker zabbix\n```\n\n**Or**\n\n- Edit zabbix_agentd.conf and set AllowRoot (Zabbix agent with root\npermissions):\n\n```bash\nAllowRoot=1\n```\n\nNote: If you use Docker from RHEL/Centos repositories, then you have to\nuse *AllowRoot=1* option.\n\nSELinux\n-------\nIf you are on a system that has `SELinux` in enforcing-mode (check with `getenforce`), you can make it work with this SELinux module. This module will persist reboots. Save it, then run:\n\n```bash\nwget https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/selinux/zabbix-docker.te\ncheckmodule -M -m -o zabbix-docker.mod zabbix-docker.te\nsemodule_package -o zabbix-docker.pp -m zabbix-docker.mod\nsemodule -i zabbix-docker.pp\n```\n\nCompilation\n===========\n\nYou have to compile the module if provided binary doesn't work on your system.\nBasic compilation steps (please use right Zabbix branch version):\n\n```bash\n# Required CentOS/RHEL apps:   yum install -y wget autoconf automake gcc git pcre-devel jansson-devel\n# Required Debian/Ubuntu apps: apt-get install -y wget autoconf automake gcc git make pkg-config libpcre3-dev libjansson-dev\n# Required Fedora apps:        dnf install -y wget autoconf automake gcc git make pcre-devel jansson-devel\n# Required openSUSE apps:      zypper install -y wget autoconf automake gcc git make pkg-config pcre-devel libjansson-devel\n# Required Gentoo apps 1:      emerge net-misc/wget sys-devel/autoconf sys-devel/automake sys-devel/gcc\n# Required Gentoo apps 2:      emerge dev-vcs/git sys-devel/make dev-util/pkgconfig dev-libs/libpcre dev-libs/jansson\n# Source, use your version:    git clone -b 4.2.2 --depth 1 https://github.com/zabbix/zabbix.git /usr/src/zabbix\ncd /usr/src/zabbix\n./bootstrap.sh\n./configure --enable-agent\nmkdir src/modules/zabbix_module_docker\ncd src/modules/zabbix_module_docker\nwget https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/src/modules/zabbix_module_docker/zabbix_module_docker.c\nwget https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/master/src/modules/zabbix_module_docker/Makefile\nmake\n```\n\nThe output will be the binary file (dynamically linked shared object library) `zabbix_module_docker.so`, which can be loaded by Zabbix agent.\n\nYou can also use Docker for compilation. Example of Dockerfiles, which have been prepared for module compilation - https://github.com/monitoringartist/zabbix-docker-monitoring/tree/master/dockerfiles\n\nTroubleshooting\n===============\n\nEdit your zabbix_agentd.conf and set DebugLevel:\n\n    DebugLevel=4\n\nModule debugs messages will be available in standard zabbix_agentd.log.\n\nIssues and feature requests\n===========================\n\nPlease use Github issue tracker.\n\nModule vs. UserParameter script\n===============================\n\nThe module is ~10x quicker because it's compiled the binary code.\nI've used my project [Zabbix agent stress test](https://github.com/monitoringartist/zabbix-agent-stress-test)\nfor performance tests.\n\nPart of config in zabbix_agentd.conf:\n\n    UserParameter=xdocker.cpu[*],grep $2 /cgroup/cpuacct/docker/$1/cpuacct.stat | awk '{print $$2}'\n    LoadModule=zabbix_module_docker.so\n\nTests:\n\n    [root@dev zabbix-agent-stress-test]# ./zabbix-agent-stress-test.py -s 127.0.0.1 -k \"xdocker.cpu[d5bf68ec1fb570d8ac3047226397edd8618eed14278ce035c98fbceef02d7730,system]\" -t 20\n    Warning: you are starting more threads, than your system has available CPU cores (4)!\n    Starting 20 threads, host: 127.0.0.1:10050, key: xdocker.cpu[d5bf68ec1fb570d8ac3047226397edd8618eed14278ce035c98fbceef02d7730,system]\n    Success: 291    Errors: 0       Avg speed: 279.68 qps   Execution time: 1.00 sec\n    Success: 548    Errors: 0       Avg speed: 349.04 qps   Execution time: 2.00 sec\n    Success: 803    Errors: 0       Avg speed: 282.72 qps   Execution time: 3.00 sec\n    Success: 1060   Errors: 0       Avg speed: 209.31 qps   Execution time: 4.00 sec\n    Success: 1310   Errors: 0       Avg speed: 187.14 qps   Execution time: 5.00 sec\n    Success: 1570   Errors: 0       Avg speed: 178.80 qps   Execution time: 6.01 sec\n    Success: 1838   Errors: 0       Avg speed: 189.36 qps   Execution time: 7.01 sec\n    Success: 2106   Errors: 0       Avg speed: 225.68 qps   Execution time: 8.01 sec\n    Success: 2382   Errors: 0       Avg speed: 344.51 qps   Execution time: 9.01 sec\n    Success: 2638   Errors: 0       Avg speed: 327.88 qps   Execution time: 10.01 sec\n    Success: 2905   Errors: 0       Avg speed: 349.93 qps   Execution time: 11.01 sec\n    Success: 3181   Errors: 0       Avg speed: 352.23 qps   Execution time: 12.01 sec\n    Success: 3450   Errors: 0       Avg speed: 239.38 qps   Execution time: 13.01 sec\n    Success: 3678   Errors: 0       Avg speed: 209.88 qps   Execution time: 14.02 sec\n    Success: 3923   Errors: 0       Avg speed: 180.30 qps   Execution time: 15.02 sec\n    Success: 4178   Errors: 0       Avg speed: 201.58 qps   Execution time: 16.02 sec\n    Success: 4434   Errors: 0       Avg speed: 191.92 qps   Execution time: 17.02 sec\n    Success: 4696   Errors: 0       Avg speed: 332.06 qps   Execution time: 18.02 sec\n    Success: 4968   Errors: 0       Avg speed: 325.55 qps   Execution time: 19.02 sec\n    Success: 5237   Errors: 0       Avg speed: 325.61 qps   Execution time: 20.02 sec\n    ^C\n    Success: 5358   Errors: 0       Avg rate: 192.56 qps    Execution time: 20.53 sec\n    Avg rate based on total execution time and success connections: 261.02 qps\n\n    [root@dev zabbix-agent-stress-test]# ./zabbix-agent-stress-test.py -s 127.0.0.1 -k \"docker.cpu[d5bf68ec1fb570d8ac3047226397edd8618eed14278ce035c98fbceef02d7730,system]\" -t 20\n    Warning: you are starting more threads, than your system has available CPU cores (4)!\n    Starting 20 threads, host: 127.0.0.1:10050, key: docker.cpu[d5bf68ec1fb570d8ac3047226397edd8618eed14278ce035c98fbceef02d7730,system]\n    Success: 2828   Errors: 0       Avg speed: 2943.98 qps  Execution time: 1.00 sec\n    Success: 5095   Errors: 0       Avg speed: 1975.77 qps  Execution time: 2.01 sec\n    Success: 7623   Errors: 0       Avg speed: 2574.55 qps  Execution time: 3.01 sec\n    Success: 10098  Errors: 0       Avg speed: 4720.20 qps  Execution time: 4.02 sec\n    Success: 12566  Errors: 0       Avg speed: 3423.56 qps  Execution time: 5.02 sec\n    Success: 14706  Errors: 0       Avg speed: 2397.01 qps  Execution time: 6.03 sec\n    Success: 17128  Errors: 0       Avg speed: 903.63 qps   Execution time: 7.05 sec\n    Success: 19520  Errors: 0       Avg speed: 2663.53 qps  Execution time: 8.05 sec\n    Success: 21899  Errors: 0       Avg speed: 1516.36 qps  Execution time: 9.07 sec\n    Success: 24219  Errors: 0       Avg speed: 3570.47 qps  Execution time: 10.07 sec\n    Success: 26676  Errors: 0       Avg speed: 1204.58 qps  Execution time: 11.08 sec\n    Success: 29162  Errors: 0       Avg speed: 2719.87 qps  Execution time: 12.08 sec\n    Success: 31671  Errors: 0       Avg speed: 2265.67 qps  Execution time: 13.08 sec\n    Success: 34186  Errors: 0       Avg speed: 3490.64 qps  Execution time: 14.08 sec\n    Success: 36749  Errors: 0       Avg speed: 2094.59 qps  Execution time: 15.09 sec\n    Success: 39047  Errors: 0       Avg speed: 3213.35 qps  Execution time: 16.09 sec\n    Success: 41361  Errors: 0       Avg speed: 3171.67 qps  Execution time: 17.09 sec\n    Success: 43739  Errors: 0       Avg speed: 3946.53 qps  Execution time: 18.09 sec\n    Success: 46100  Errors: 0       Avg speed: 1308.88 qps  Execution time: 19.09 sec\n    Success: 48556  Errors: 0       Avg speed: 2663.52 qps  Execution time: 20.09 sec\n    ^C\n    Success: 49684  Errors: 0       Avg rate: 2673.85 qps   Execution time: 20.52 sec\n    Avg rate based on total execution time and success connections: 2420.70 qps\n\nResults of 20s stress test:\n\n| StartAgent value | Module qps | UserParameter script qps |\n| ---------------- | ---------- | ------------------------ |\n| 3 | 2420.70 | 261.02 |\n| 10 | 2612.20 | 332.62 |\n| 20 | 2487.93 | 348.52 |\n\nDiscovery test:\n\nPart of config in zabbix_agentd.conf:\n\n    UserParameter=xdocker.discovery,/etc/zabbix/scripts/container_discover.sh\n    LoadModule=zabbix_module_docker.so\n\nShell implementation container_discover.sh:\n\nTest with 237 running containers:\n\n    [root@dev ~]# docker info\n    Containers: 237\n    Images: 121\n    Storage Driver: btrfs\n    Execution Driver: native-0.2\n    Kernel Version: 3.10.0-229.el7.x86_64\n    Operating System: Red Hat Enterprise Linux Server 7.1 (Maipo)\n    CPUs: 10\n    Total Memory: 62.76 GiB\n    Name: dev.local\n    ID: AOAM:BO3G:5MCE:5FMM:IWKP:NPM4:PRKV:ZZ34:BYFL:XGAV:SRNJ:LKDH\n    Username: username\n    Registry: [https://index.docker.io/v1/]\n    [root@dev ~]# time zabbix_get -s 127.0.0.1 -k docker.discovery \u003e /dev/null\n\n    real    0m0.112s\n    user    0m0.000s\n    sys     0m0.003s\n    [root@dev ~]# time zabbix_get -s 127.0.0.1 -k xdocker.discovery \u003e /dev/null\n\n    real    0m5.856s\n    user    0m0.000s\n    sys     0m0.002s\n    [root@dev ~]# ./zabbix-agent-stress-test.py -s 127.0.0.1 -k xdocker.discovery\n    Starting 1 threads, host: 127.0.0.1:10050, key: xdocker.discovery\n    Success: 0      Errors: 0       Avg rate: 0.00 qps      Execution time: 1.00 sec\n    Success: 0      Errors: 0       Avg rate: 0.00 qps      Execution time: 2.00 sec\n    Success: 0      Errors: 0       Avg rate: 0.00 qps      Execution time: 3.02 sec\n    Success: 0      Errors: 0       Avg rate: 0.00 qps      Execution time: 4.02 sec\n    Success: 0      Errors: 0       Avg rate: 0.00 qps      Execution time: 5.02 sec\n    Success: 1      Errors: 0       Avg rate: 0.10 qps      Execution time: 6.02 sec\n    Success: 1      Errors: 0       Avg rate: 0.10 qps      Execution time: 7.02 sec\n    Success: 1      Errors: 0       Avg rate: 0.10 qps      Execution time: 8.02 sec\n    Success: 1      Errors: 0       Avg rate: 0.10 qps      Execution time: 9.02 sec\n    Success: 1      Errors: 0       Avg rate: 0.10 qps      Execution time: 10.02 sec\n    Success: 2      Errors: 0       Avg rate: 0.14 qps      Execution time: 11.02 sec\n    Success: 2      Errors: 0       Avg rate: 0.14 qps      Execution time: 12.03 sec\n    Success: 2      Errors: 0       Avg rate: 0.14 qps      Execution time: 13.03 sec\n    Success: 2      Errors: 0       Avg rate: 0.14 qps      Execution time: 14.03 sec\n    Success: 2      Errors: 0       Avg rate: 0.14 qps      Execution time: 15.03 sec\n    Success: 3      Errors: 0       Avg rate: 0.16 qps      Execution time: 16.03 sec\n    Success: 3      Errors: 0       Avg rate: 0.16 qps      Execution time: 17.03 sec\n    Success: 3      Errors: 0       Avg rate: 0.16 qps      Execution time: 18.03 sec\n    Success: 3      Errors: 0       Avg rate: 0.16 qps      Execution time: 19.03 sec\n    Success: 3      Errors: 0       Avg rate: 0.16 qps      Execution time: 20.03 sec\n    Success: 3      Errors: 0       Avg rate: 0.16 qps      Execution time: 21.04 sec\n    Success: 4      Errors: 0       Avg rate: 0.17 qps      Execution time: 22.04 sec\n    Success: 4      Errors: 0       Avg rate: 0.17 qps      Execution time: 23.04 sec\n    Success: 4      Errors: 0       Avg rate: 0.17 qps      Execution time: 24.04 sec\n    Success: 4      Errors: 0       Avg rate: 0.17 qps      Execution time: 25.05 sec\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 26.05 sec\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 27.05 sec\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 28.05 sec\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 29.05 sec\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 30.05 sec\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 31.05 sec\n    ^C\n    Success: 5      Errors: 0       Avg rate: 0.20 qps      Execution time: 31.35 sec\n    Avg rate based on total execution time and success connections: 0.16 qps\n    [root@dev ~]# ./zabbix-agent-stress-test.py -s 127.0.0.1 -k docker.discovery\n    Starting 1 threads, host: 127.0.0.1:10050, key: docker.discovery\n    Success: 5      Errors: 0       Avg rate: 6.26 qps      Execution time: 1.00 sec\n    Success: 5      Errors: 0       Avg rate: 6.26 qps      Execution time: 2.00 sec\n    Success: 12     Errors: 0       Avg rate: 7.45 qps      Execution time: 3.00 sec\n    Success: 20     Errors: 0       Avg rate: 6.77 qps      Execution time: 4.00 sec\n    Success: 28     Errors: 0       Avg rate: 7.82 qps      Execution time: 5.00 sec\n    Success: 36     Errors: 0       Avg rate: 7.21 qps      Execution time: 6.01 sec\n    Success: 43     Errors: 0       Avg rate: 10.22 qps     Execution time: 7.01 sec\n    Success: 43     Errors: 0       Avg rate: 10.22 qps     Execution time: 8.01 sec\n    Success: 50     Errors: 0       Avg rate: 6.79 qps      Execution time: 9.01 sec\n    Success: 57     Errors: 0       Avg rate: 6.11 qps      Execution time: 10.01 sec\n    Success: 66     Errors: 0       Avg rate: 8.50 qps      Execution time: 11.01 sec\n    Success: 73     Errors: 0       Avg rate: 6.51 qps      Execution time: 12.01 sec\n    Success: 81     Errors: 0       Avg rate: 7.18 qps      Execution time: 13.01 sec\n    Success: 82     Errors: 0       Avg rate: 7.85 qps      Execution time: 14.01 sec\n    Success: 87     Errors: 0       Avg rate: 6.54 qps      Execution time: 15.02 sec\n    Success: 95     Errors: 0       Avg rate: 7.84 qps      Execution time: 16.02 sec\n    Success: 103    Errors: 0       Avg rate: 9.24 qps      Execution time: 17.02 sec\n    Success: 111    Errors: 0       Avg rate: 9.94 qps      Execution time: 18.02 sec\n    Success: 119    Errors: 0       Avg rate: 7.63 qps      Execution time: 19.02 sec\n    Success: 120    Errors: 0       Avg rate: 6.70 qps      Execution time: 20.12 sec\n    Success: 121    Errors: 0       Avg rate: 3.61 qps      Execution time: 21.12 sec\n    Success: 128    Errors: 0       Avg rate: 8.46 qps      Execution time: 22.12 sec\n    Success: 136    Errors: 0       Avg rate: 7.63 qps      Execution time: 23.12 sec\n    Success: 144    Errors: 0       Avg rate: 6.21 qps      Execution time: 24.12 sec\n    Success: 150    Errors: 0       Avg rate: 6.89 qps      Execution time: 25.12 sec\n    Success: 157    Errors: 0       Avg rate: 10.87 qps     Execution time: 26.18 sec\n    Success: 160    Errors: 0       Avg rate: 7.52 qps      Execution time: 27.18 sec\n    Success: 168    Errors: 0       Avg rate: 9.81 qps      Execution time: 28.18 sec\n    Success: 174    Errors: 0       Avg rate: 6.69 qps      Execution time: 29.18 sec\n    Success: 181    Errors: 0       Avg rate: 6.35 qps      Execution time: 30.18 sec\n    Success: 188    Errors: 0       Avg rate: 7.64 qps      Execution time: 31.19 sec\n    ^C\n    Success: 193    Errors: 0       Avg rate: 8.83 qps      Execution time: 31.79 sec\n    Avg rate based on total execution time and success connections: 6.07 qps\n\nHow it works\n============\n\nSee https://blog.docker.com/2013/10/gathering-lxc-docker-containers-metrics/\nMetrics for containers are read from cgroup file system.\n[Docker API](https://docs.docker.com/reference/api/docker_remote_api) is used\nfor discovering and some keys. However root or docker permissions are required\nfor communication with Docker via unix socket. You can test API also in your\ncommand line:\n\n```bash\necho -e \"GET /containers/json?all=0 HTTP/1.0\\r\\n\" | nc -U /var/run/docker.sock\n# or if you have curl 7.40+\ncurl --unix-socket /var/run/docker.sock --no-buffer -XGET v1.24/containers/json?all=0\n```\n\n# Recommended docs\n\n- https://docs.docker.com/engine/admin/runmetrics/\n- https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt\n- https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt\n- https://www.kernel.org/doc/Documentation/cgroup-v1/cpuacct.txt\n- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/index.html\n\n# Built-in Zabbix Docker monitoring\n\nKeep in mind that Zabbix itself supports Docker monitoring. It is available only for agent2 - see [Zabbix agent2 doc](https://www.zabbix.com/integrations/docker).\n\n# Contributors\n\nThank you to all [project contributors](https://github.com/monitoringartist/zabbix-docker-monitoring/graphs/contributors).\n\n# Author\n\n[Devops Monitoring Expert](http://www.jangaraj.com 'DevOps / Docker / Kubernetes / AWS ECS / Google GCP / Zabbix / Zenoss / Terraform / Monitoring'),\nwho loves monitoring systems and cutting/bleeding edge technologies: Docker,\nKubernetes, ECS, AWS, Google GCP, Terraform, Lambda, Zabbix, Grafana, Elasticsearch,\nKibana, Prometheus, Sysdig,...\n\nSummary:\n* 4 000+ [GitHub](https://github.com/monitoringartist/) stars\n* 10 000 000+ [Grafana dashboard](https://grafana.net/monitoringartist) downloads\n* 60 000 000+ [Docker images](https://hub.docker.com/u/monitoringartist/) downloads\n\nProfessional devops / monitoring / consulting services:\n\n[![Monitoring Artist](http://monitoringartist.com/img/github-monitoring-artist-logo.jpg)](http://www.monitoringartist.com 'DevOps / Docker / Kubernetes / AWS ECS / Google GCP / Zabbix / Zenoss / Terraform / Monitoring')\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonitoringartist%2FZabbix-Docker-Monitoring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonitoringartist%2FZabbix-Docker-Monitoring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonitoringartist%2FZabbix-Docker-Monitoring/lists"}