coinbase / mongobetween

Apache License 2.0
119 stars 48 forks source link

Add topology monitoring #7

Closed mdehoog closed 4 years ago

mdehoog commented 4 years ago

In the absence of SDAM monitoring by the Go driver, this adds logging whenever the topology changes, checked every 5 seconds in a go routine.

Example logs from a failover:

2020-06-13T11:22:08.401-0700    INFO    mongo/topology_monitor.go:29    Topology changed    {"cluster": "default", "old_kind": "Sharded", "new_kind": "Sharded", "old_address_0": "localhost:27016", "old_kind_0": "Mongos", "old_address_1": "localhost:27017", "old_kind_1": "Mongos", "old_address_2": "localhost:27018", "old_kind_2": "Mongos", "old_address_3": "localhost:27019", "old_kind_3": "Mongos", "new_address_0": "localhost:27016", "new_kind_0": "Mongos", "new_address_1": "localhost:27017", "new_kind_1": "Unknown", "new_address_2": "localhost:27018", "new_kind_2": "Mongos", "new_address_3": "localhost:27019", "new_kind_3": "Mongos"}
2020-06-13T11:22:58.416-0700    INFO    mongo/topology_monitor.go:29    Topology changed    {"cluster": "default", "old_kind": "Sharded", "new_kind": "Sharded", "old_address_0": "localhost:27016", "old_kind_0": "Mongos", "old_address_1": "localhost:27017", "old_kind_1": "Unknown", "old_address_2": "localhost:27018", "old_kind_2": "Mongos", "old_address_3": "localhost:27019", "old_kind_3": "Mongos", "new_address_0": "localhost:27016", "new_kind_0": "Mongos", "new_address_1": "localhost:27017", "new_kind_1": "Mongos", "new_address_2": "localhost:27018", "new_kind_2": "Mongos", "new_address_3": "localhost:27019", "new_kind_3": "Mongos"}