项目作者: pschmitt

项目描述 :
Speedtest template for zabbix
高级语言: Shell
项目地址: git://github.com/pschmitt/zabbix-template-speedtest.git
创建时间: 2016-10-18T14:08:38Z
项目社区:https://github.com/pschmitt/zabbix-template-speedtest

开源协议:GNU General Public License v3.0

下载


Zabbix Speedtest template

Dependencies

⚠️ Warning

You need to install Ookla’s version of speedtest-cli and NOT the unofficial python tool.

Installation (Generic x86_64)

  • Install speedtest-cli
  • Create /etc/zabbix/bin: mkdir -p /etc/zabbix/bin
  • Copy zbx-speedtest.sh to /etc/zabbix/bin
  • Make it executable: chmod +x /etc/zabbix/bin/zbx-speedtest.sh
  • Install the systemd service and timer: cp systemd/{zabbix-speedtest.service,zabbix-speedtest.timer} /etc/systemd/system
  • Start and enable the timer: systemctl enable --now zabbix-speedtest.timer
  • Import the zabbix-agent config: cp zabbix_agentd.d/speedtest.conf /etc/zabbix/zabbix_agentd.conf.d
  • Restart zabbix-agent: systemctl restart zabbix-agent
  • Import template_speedtest.xml on your Zabbix server

Installation (Debian/Ubuntu)

  • Install speedtest-cli
  • Create /etc/zabbix/bin: mkdir -p /etc/zabbix/bin
  • Copy zbx-speedtest-debian.sh to /etc/zabbix/bin/zbx-speedtest.sh
  • Make it executable: chmod +x /etc/zabbix/bin/zbx-speedtest.sh
  • Install the systemd service and timer: cp systemd/{zabbix-speedtest-debian.service,zabbix-speedtest.timer} /etc/systemd/system; mv /etc/systemd/system/zabbix-speedtest{-debian,}.service
  • Start and enable the timer: systemctl enable --now zabbix-speedtest.timer
  • Import the zabbix-agent config: cp zabbix_agentd.d/speedtest.conf /etc/zabbix/zabbix_agentd.conf.d
  • Restart zabbix-agent: systemctl restart zabbix-agent
  • Import template_speedtest.xml on your Zabbix server

Installation (OpenWRT)

  • Install speedtest-cli by placing the binary in your $PATH
  • Copy zbx-speedtest.sh to /etc/zabbix_agentd.conf.d/bin
  • Make it executable: chmod +x /etc/zabbix_agentd.conf.d/bin/zbx-speedtest.sh
  • Import the zabbix-agent config: cp zabbix_agentd.d/speedtest.openwrt.conf /etc/zabbix_agentd.conf.d
  • Restart zabbix-agent: /etc/init.d/zabbix-agentd restart
  • Install the cron job: crontab -e -> Add the content of systemd/speedtest.crontab
  • Import template_speedtest.xml on your Zabbix server

Installation (Docker)

Speedtest in a container

Check out pschmitt/speedtest:cron on Docker Hub

Zabbix-agent

  • You must mount zbx-speedtest.sh inside your zabbix-agent container
  • It also needs to have access to speedtest data volume

Below is an example docker-compose.yaml.

NOTE: pschmitt/zabbix-agent2 contains jq which is required by zbx-speedtest.sh.

  1. ---
  2. version: "3.7"
  3. services:
  4. speedtest:
  5. image: pschmitt/speedtest:cron
  6. volumes:
  7. - "./data/speedtest:/data"
  8. environment:
  9. - INTERVAL=300
  10. zabbix-agent:
  11. image: pschmitt/zabbix-agent2:latest
  12. restart: unless-stopped
  13. hostname: ${HOSTNAME}
  14. privileged: true
  15. network_mode: host
  16. pid: host
  17. volumes:
  18. - "./config/bin:/zabbix/bin:ro"
  19. - "./config/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro"
  20. - "./data/speedtest:/data/speedtest:ro"
  21. environment:
  22. - ZBX_HOSTNAMEITEM=system.hostname
  23. - ZBX_SERVER_HOST=zabbix.example.com