There are ....TONS

of guides regarding monitoring port status on this forums. I myself tried at least 4-5 ways, all worked in different ways and got the same result.
First : Graph your interface port/status (I think, last time I used this guide :
https://kb.groundworkopensource.com/dis ... tus+checks)
In this first step I had to do a small change :
In : /var/www/html/cacti/lib/snmp.php
define("REGEXP_SNMP_TRIM", "/(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|string|integer):/i");
TO
define("REGEXP_SNMP_TRIM", "/(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|string|integer):|(up|down)\(|\)$/i");
Then add this graph interface status for every switch, every port.
Then in weathermap :
You need a scale
SCALE ifstatus 0 0.99 255 209 71 2
SCALE ifstatus 1 1 0 255 0 1
SCALE ifstatus 1.01 2 255 209 71 2
And this code for every port(you have to calculate position 'tho, few trials and errors here, but I think you can make some script, if you have thousands of switches and ports)
Here are 2 ports for one of my switch :
NODE P1
INFOURL /cacti/graph.php?rra_id=all&local_graph_id=3839
OVERLIBGRAPH /cacti/graph_image.php?local_graph_id=3839&rra_id=0&graph_nolegend=true&graph_height=100&graph_width=300
ICON images/fibre2_{node:this:inscaletag}.png
TARGET gauge:/var/www/html/cacti/rra/ra_int_status_3858.rrd:int_status:-
USESCALE ifstatus in
POSITION 290 503
NODE P2
INFOURL /cacti/graph.php?rra_id=all&local_graph_id=3840
OVERLIBGRAPH /cacti/graph_image.php?local_graph_id=3840rra_id=0&graph_nolegend=true&graph_height=100&graph_width=300
ICON images/fibre2_{node:this:inscaletag}.png
TARGET gauge:/var/www/html/cacti/rra/ra_int_status_3859.rrd:int_status:-
USESCALE ifstatus in
POSITION 290 533
You also need some png's and put them in images/, you'll have one png for every port status(up, down). When weathermap runs, it gets the value from cacti and will graph nicely a "fibre2_UP.png" with green color if the port is UP and "fibre2_DO.png" with red color if the port is down. Every change in port will be automatically modified in Weathermap also.
You should get something like this.
PS : Check the Weathermap thread, there's huge infos there and Howie always responds

. Izorka has some amazing maps(the best imo).