I want to generate alert / email in mikrotik if full bandwidth is not coming from my ISP from where i purchased it. for example if i purchased 100MB internet and speed is coming 80MB , 70MB , 50MB so system should automatically prompt or generate alert that some thing is wrong.
Help in this regard highly appreciated.
There’s no way unless you are sure you are constantly attempting to download more than the contracted bandwidth. There is no clear proportion between the upload and download bandwidth, so you cannot find out by measuring download traffic solely at your end whether it is lower than the contracted one because the provider throttles it or because the systems/clients connected at your end currently only require the volume you get.
So you would have to provoke some download traffic to saturate the download bandwidth by low-priority traffic you’d drop at your end, but it would cause delays in the real traffic due to the bandwidth-shaping queues at the provider end.
then how i can tackle this situation i am new in this technology. Any alternate or close solution in which i ateast able to know its happening so i can contact ISP. Today i deactivate all users and check the bandwidth then i able to know its happening..
thanks for your prompt reply.
You can run some low-bandwidth, low-priority traffic through the uplink, and raise up an alarm if it starts getting dropped while the download bandwidth doesn’t reach the contracted one, as that would mean that the ISP throttles it before you have reached the contracted one. So there are three possible states:
there is not enough demand, so the contracted download bandwidth is not reached but it’s not the ISP’s fault - here, you don’t know whether the ISP fulfils the contract at that very moment but it doesn’t affect you if they don’t
there is enough demand so the bandwidth contracted bandwidth is fully used, so the ISP fulfils the contract at that time - you can see the contracted bandwidth to be occupied and your test traffic to be dropped
the ISP throttles the traffic below the contracted bandwidth so you can see the download doesn’t reach the contracted value and nevertheless your test traffic is dropped
So all in all, you can only see that the ISP is cheating at periods when the traffic demand from your side is sufficient to notice that, but do you actually need more?
No matter what method you choose, how would you (automatically/inside ROS only) know that the bottleneck is between you and the ISP (thus the ISP cheating) or somewhere outside your ISP’s network (depending on how/with who you perform the tests) ?
If the ISP is doing sneaky stuff, it could make it rather hard for you to prove that they are throttling you (again - if you can only check with the tools/scripting that ROS provides - not some linux box with tons of tools to do proper troubleshooting)
I believe the amount of time and effort you need to put into this until you can actually get some real alerts (and not false positives or false negatives) doesn’t worth it at all.
Just do a bandwidth test (or whatever method you prefer) once every month to see if they are doing any funny business on your uplink.
If the OP does a manual bandwidth test, as he’s suggested himself, he either has to disable all users’ traffic for the time of the test, or he has to monitor the download throughput on the Tik anyway.
I actually did implement a similar solution with a different motivation - I was checking availability of a tunnel using ping, but as I was getting lost pings when the actual traffic maxed out the bandwidth, I started counting “spontaneous” packets during the test period. So if there is enough packets, I don’t care about lost pings as I know the tunnel works.
Here, the elementary components of the solution are the same. Where I do second you is that for a beginner it might be complex, but on the other hand, it is a good way to learn the scripting and discover the RouterOS possibilities.