For quite some time, people have been confused about the Last Seen column and that was our fault. ZeroTier uses UDP to communicate and it is peer to peer. As such, there really isn’t a good way to tell if a node is “Online” and connected to the controller as there isn’t a constant TCP connection between a network member and the network controller.
Adding to the confusion was what we showed you in Last Seen column on the network dashboard. It would say “ONLINE” as long as the network member had talked to the network controller in the last 3 minutes.
Sometimes we have to roll out an update to the network controllers. If someone is looking at the page during the rollout, they notice that misleading “ONLINE” in the column go away for a few moments.
I’m sure you’re wondering, “Why was this misleading and causing confusion?” Because of how ZeroTier is designed. When a network controller goes down for an upgrade, or any other reason, all network members that were online & authorized on the network continue to be online & authorized on the network even without the presence of the network controller. They’ll all be able to continue to communicate. Changes made in the UI are queued to roll out when the controller comes back, and new or offline members that come online during the controller downtime. Once it’s back, the changes are applied & distributed to the network.
Today we rolled out a change that we hope will clarify things. Instead of a green “ONLINE” or a red timestamp, we just show how long ago the network member talked to the controller. We’ve also added a new field to the member API object, lastSeen. This new field is the same data as the lastOnline field which is now considered deprecated and will be removed at some point in the future. We hope this helps clarify things for you all!
This also seems to affect the API: all hosts are ‘Offline’ now
(even though over ten say “less than a minute”)
or rather, "online": true is no longer returned, which broke (at least) one of my scripts that expected this.
I can change my script to accommodate this; I assume you will be changing the dashboard as well, because now the ‘Online’ status has no meaning. Being able to sort by time would be useful though.
I don’t see a version, date or changelog for the OpenAPI spec that indicating when/what changed, but that would be nice to have.
How can I sort nodes list by connection time? I have 37 nodes and now I need to review the entire list every time to understand who is connected and who is not?
So, very bad idea to delete options, that used by many years.
@homza That’s kind of the point of the change. People were using it that way because of the misleading way we presented the data before. As stated in the full post above, saying ONLINE/OFFLINE didn’t necessarily mean a node could or could not communicate on a virtual network. Only whether or not it talked with the network controller recently. The change is a better representation of the data presented by the API.
We can look into adding a sort option by last communication time, but I can’t currently give any estimates of if or when it will be deployed.
Can you consider adding back the color highlight? Maybe just green on members who was last seen recently and black for others? Now it’s a bit harder to quickly look through the list and determine if a member hasn’t been seen for a while.
I rather have the format “DD - HH:MM:SS” and some kind of threshold you can set yourself when absence of node should be displayed.
OT - Please clarify the “and/or” relationship of the “Display Filter” between the options Authorized, Not Authorized, Bridges and Hidden. I’m getting confused everytime I try to use thoses checkboxes. If I for example I want to list all types by checking all the boxes, nothing at all appears.
Seconding this. I was very confused and a little shocked when all my nodes appeared in black. Besides providing an easy way to distinguish “probably good” states from “potentially abnormal” states, retaining the color coding would have really eased the transition.
I’m only using the web UI. Will “Last Seen” be made to filter from most recent to oldest?
It was great to be able to filter by “online” to get a quick look to see who was currently on the network, even if there was a minor delay in accuracy. It’s dizzying time-suck to visually scroll through by the verbos time and then pan to see what user it is.