# Monitoring internet Speed with Zabbix and Grafana

  
Zabbix is an open-source monitoring software tool used for monitoring diverse IT components, including networks, servers, virtual machines, and cloud services. It's designed to provide real-time insights into the performance and availability of various components in your infrastructure.

monitoring internet speed and Quality is one of the important things that Companies need. in this Article, we want to describe how we can monitor internet speed using Zabbix.

In this Article , I use Centos Version 8 and Zabbix 6.4.10.

## Install dependencies

first, we need to install dependencies.

dependencies Contain git, curl, wget, Zabbix agent2 and speedtest

```plaintext
yum update
yum install git -y

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
dnf clean all
dnf install zabbix-agent2 zabbix-agent2-plugin-* -y
yum install zabbix-sender -y

curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo bash
yum install speedtest -y
```

open /etc/zabbix/zabbix\_agent2.conf file with nano and add your Zabbix IP and your server Hostname for add to Zabbix

```plaintext
Server=YOUR_ZABBIX_IP
ServerActive=YOUR_ZABBIX_IP
Hostname=YOUR_SERVER_NAME
```

after that restart Zabbix Agent2

```plaintext
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
```

Now you can add your server to your Zabbix Server

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1713420786651/45673ad8-9721-49a6-8164-df175b59eb31.png align="center")

## Clone the git Repository

then, clone the GitHub repository with the blow Command.

```plaintext
git clone https://github.com/soloranger/zabbix-internet-Speedtest-Template.git
```

cd to Directory and add [Speedtest\_Template.xml](https://github.com/soloranger/zabbix-internet-Speedtest-Template/blob/main/Speedtest_Template.xml) Z[abbix Template from](https://github.com/soloranger/zabbix-internet-Speedtest-Template/blob/main/Speedtest_Template.xml) Data Collection &gt; Templates &gt; import

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1713425288052/6c1ac319-b052-4a4c-80b3-61a081a89105.png align="center")

cd to Code Directory and run speedtest.sh with -s argument. -s argument for the server ID that you want to use for the speed test.

```bash
chmod +x speedtest.sh
./speedtest -s 58210
```

after a few seconds, You can see Zabbix\_Sender, Send data to Zabbix

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1713430771078/c831332b-ec4b-4d9d-a7fc-eb53094aa867.png align="center")

## Grafana Dashboard

  
It's time to see the output in a beautiful dashboard in Grafana :D

open Grafana -&gt; Click + icon -&gt; select import dashboard -&gt; select Config.json file from Git Repository

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1713432443794/0468fcd1-0be9-4497-a323-44b5f9161ef4.png align="center")

Notice: You should Connect your Zabbix to your Grafana.

after added, you can see your dashboard with this Data :)

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1713432514398/7ae548a6-7b08-4ed2-b4ee-5daa8312f55d.png align="center")
