# BIG-IP DNS: Check Status Of Multiple Monitors Against Pool Member

**URL:** <https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427>\
**Category:** Technical Forums\
**Tags:** big-ip-dns, gtm-dns, gtm, monitor, pool\
**Created:** [April 26, 2024, 10:09pm UTC](https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427 "2024-04-26T22:09:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cory\_O](https://d1p9zq3aats0t8.cloudfront.net/user_avatar/community.f5.com/cory_o/32/458_2.png) [@Cory\_O](https://community.f5.com/u/Cory_O)\
**Post date:** [April 26, 2024, 10:09pm UTC](https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427/1 "2024-04-26T22:09:36Z")

</div>

Good day, everyone!

Within the LTM platform, if a Pool is configured with “Min 1 of” with multiple monitors, you can check the status per monitor via&nbsp;_ **tmsh show ltm monitor \<name\>** _, or you can click the Pool member in the TMUI and it will show you the status of each monitor for that member.&nbsp; I cannot seem to locate a similar function on the GTM/BIG-IP DNS platform.&nbsp; We’d typically use this methodology when transitioning to a new type of monitor, where we can passively test connectivity without the potential for impact prior to removing the previous monitor.

Does anyone have a way through tmsh or the TMUI where you can check an individual pool member’s status against the multiple monitors configured for its pool?

Thanks, all!

---

<div class="post-metadata">

**Author:** ![F5\_Design\_Engineer](https://d1p9zq3aats0t8.cloudfront.net/user_avatar/community.f5.com/f5_design_engineer/32/2479_2.png) [@F5\_Design\_Engineer](https://community.f5.com/u/F5_Design_Engineer)\
**Post date:** [April 27, 2024, 9:15am UTC](https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427/2 "2024-04-27T09:15:20Z")

</div>

Hi Cory,

Try this for your scenario:

**tmsh show gtm pool a members detail | grep &nbsp;-i -e “pool\|gtm\|reason”**

or if need more details use this:

**tmsh show gtm pool a all detail | grep -i -e ‘gtm\|pool\|member\|availability\|state\|reason\|destination\|utime\|member\|vip’**

You can modify it according to your requirement.

**The output will be like this**

**============================================================================**

tmsh show gtm pool a members detail | grep &nbsp;-i -e “pool\|gtm\|reason”

Gtm::Pool::A Test-rule  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_proxy-rule:A Test\_Box10\_Test2\_a\_8080:10.10.10.39  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_proxy-rule:A Test\_Box10\_Test2\_b\_8080:10.10.10.41  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_proxy-rule:A Test\_Box10\_Test2\_c\_8080:10.10.10.40  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_proxy-rule:A Test\_Box20\_Test2\_a\_8080:10.10.11.39  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_proxy-rule:A Test\_Box20\_Test2\_b\_8080:10.10.11.41  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_proxy-rule:A Test\_Box20\_Test2\_c\_8080:10.10.11.40  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
Gtm::Pool::A test\_wideIp  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : No enabled pool members available  
&nbsp; | _ **Gtm::Pool Member: test\_wideIp:A ptetest\_wideIp-primary:10.10.10.36** _  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp; **Monitor /Common/gateway\_icmp from 10.x.24y.13 : state: timeout**  
&nbsp; | Gtm::Pool Member: test\_wideIp:A test\_wideIp-primary:10.10.10.242  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp; **Monitor /Common/gateway\_icmp from 10.10.10.13 : state: timeout**  
Gtm::Pool::A test\_wideIp.USA  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: test\_wideIp.USA:A Bostonc.USA:Bostonc.USA  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: test\_wideIp.USA:A Bostone.USA:Bostone.USA  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
Gtm::Pool::A Amazon\_fileshare  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : No enabled pool members available  
&nbsp; | Gtm::Pool Member: Amazon\_fileshare:A pteAmazon\_fileshare-primary:10.11.12.102  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp;Monitor /Common/gateway\_icmp from 10.20.27.23 : state: timeout  
&nbsp; | Gtm::Pool Member: Amazon\_fileshare:A Amazon\_fileshare-primary:10.10.11.12  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp;Monitor /Common/gateway\_icmp from 10.28.247.23 : state: timeout  
Gtm::Pool::A Test\_PRD  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: Test\_PRD:A wtg\_M\_VIP:10.10.10147  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp;Monitor /Common/tcp from 10.28.247.10 : state: connect failed  
&nbsp; | Gtm::Pool Member: Test\_PRD:A wtg\_STest\_USA\_VIP:10.26.17.26  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
Gtm::Pool::A Test\_USA-vip  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : No enabled pool members available  
&nbsp; | Gtm::Pool Member: Test\_USA-vip:A Test\_USA-vip-mTest\_USA:10.12.3.27  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp; **Monitor /Common/tcp from 10.28.247.10 : state: timeou** t  
&nbsp; | Gtm::Pool Member: Test\_USA-vip:A Test\_USA-vip-sTest\_USA:10.16.9.27  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp; **Monitor /Common/tcp from 10.28.27.10 : state: timeout: disabled directly**  
Gtm::Pool::A DFlipcart\_dev  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: DFlipcart\_dev:A DFlipcart\_dev\_bck:10.16.25.21  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp; **Monitor /Common/http-head-DFlipcart-api-diagnostics-ishealthy from 10.18.27.10 : connect: timeout search result false:** disabled  
&nbsp; | Gtm::Pool Member: DFlipcart\_dev:A DFlipcart\_dev\_bck\_new1:10.16.25.21  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: DFlipcart\_dev:A DFlipcart\_dev\_bck\_new:10.10.150.55  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp; **Monitor /Common/none from \<unknown\> : no reply from big3d: timed out: disabled directly**  
&nbsp; | Gtm::Pool Member: DFlipcart\_dev:A DFlipcart\_dev\_pri:10.12.14.33  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available: disabled directly  
&nbsp; | Gtm::Pool Member: DFlipcart\_dev:A DFlipcart\_dev\_pri\_new:10.12.20.21  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : &nbsp;Monitor /Common/http-head-DFlipcart-api-diagnostics-ishealthy from 10.28.247.10 : connect: protocol mismatch search result false  
Gtm::Pool::A DFlipcart\_prod  
&nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: DFlipcart\_prod:A /PROD/vs\_wb\_DFlipcart\_prd:Test2\_LTMs  
&nbsp; | &nbsp; Reason &nbsp; &nbsp; &nbsp; : Available  
&nbsp; | Gtm::Pool Member: DFlipcart\_prod:A DFlipcart\_sTest\_USA:10.10.13.14

**============================================================================**

Here are many more commands for other purpose i keep trying and experimenting, for that you have to be good in GREP :

The following command will find pools with a return to DNS option and print the name of the pools.

**tmsh -c ‘cd /; list gtm pool recursive all-properties one-line’ | awk ‘/return-to-dns/{print $4}’**

**My Other GTM master Commands which i use frequently and keep customizing them based on the requirement**

**My Other GTM master Commands you can try to get more results of your choice**

bash mode

netstat -na |grep 4353

tmsh list /gtm server all

tmsh list gtm wideip a one-line  
tmsh list gtm wideip aaaa one-line  
tmsh show gtm wideip a detail  
tmsh show gtm wideip a pools  
tmsh show gtm wideip a all

tmsh show gtm listener  
tmsh show gtm listener all-properties

tmsh show gtm pool a detail  
tmsh show gtm pool a detail field-fmt  
tmsh show gtm pool a members detail  
tmsh show gtm pool a members fireld-fmt  
show gtm pool a members field-fmt server

tmsh show gtm pool a members detail | grep -i -e Gtm::Pool::A | grep -i -e ‘GTM\|Pool’ | grep -i -e ‘GTM\|Virtual’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’

show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ | &nbsp;grep -i -e&nbsp; monitor

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ | &nbsp;grep &nbsp;-i -e “pool\|gtm\|reason”

tmsh show gtm pool a members detail | grep &nbsp;-i -e “pool\|gtm\|reason”

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ | &nbsp;grep &nbsp;-i -e “pool\|gtm\status\|reason”

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ | &nbsp;grep &nbsp;-i -e “reason”

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ | &nbsp;grep &nbsp;-i -e “pool\|gtm\|reason”

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ &nbsp;| &nbsp;grep &nbsp;-i -e -r &nbsp;“reason"

list ltm pool members | grep ‘^ltm\|:\|priority’

tmsh show gtm pool a members detail | grep ‘^gtm\|:\|reason’

tmsh show gtm pool a members detail grep monitor

tmsh show gtm pool a members detail | grep -i -e&nbsp; monitor

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’ | &nbsp;grep -i -e&nbsp; monitor

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Pool’ | &nbsp;grep -i -e&nbsp; monitor

tmsh show gtm pool a members detail | grep -i -e

tmsh show gtm pool a members detail | grep -e -i &nbsp;“Gtm\Pool” | grep -i -e “pool\|gtm\|reason”

tmsh show gtm pool a members detail | grep -i -e " pool\|destination\|reason"

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Virtual’

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Pool’ | grep -i -e ‘GTM\|Virtual’ | grep -i -e " pool\|destination\|reason"

tmsh show gtm pool a members detail | grep -i -e ‘GTM\|Pool’ | grep -i -e ‘GTM\|Virtual’ | grep -i -e " reason"

tmsh show gtm pool a members &nbsp;field-fmt | grep -i -e ‘GTM\|Virtual’ | grep -i -e " pool\|destination\|reason"

tmsh show gtm pool a members &nbsp;field-fmt | grep -i -e ‘GTM\|Virtual’ | grep -i -e " pool\|destination\|reason"

tmsh show gtm pool a members &nbsp;field-fmt | grep -i -e “GTM\|Pool”

tmsh show gtm pool a members detail grep

tmsh show gtm server all detail  
tmsh show gtm server detail virtual-servers  
tmsh show gtm server detail virtual-servers field-fmt  
tmsh list gtm server addresses virtual-servers

tmsh show gtm server detail  
tmsh show gtm server detail all

tmsh list net self all-properties  
tmsh list gtm listener all-properties  
tmsh list gtm listener vlans

tmsh show sys ip-address all-properties

tmsh show gtm wideip A all detail | grep ‘WideIp\|Destination’

tmsh show gtm all detail | grep -e -i Gtm::Server -e “Server”

tmsh show gtm wideip a all detail | grep -e -i -n NAME\_OF\_YOUR\_GTM\_SERVE

tmsh show gtm wideip a all detail | grep -i -e Gtm::Pool::A grep -i -e ‘Pool\|Destination’

tmsh show gtm wideip a all detail | grep -i -e Gtm::Pool::A grep ‘Pool\|Destination’

tmsh show gtm wideip a all detail | grep -i -e Gtm::Pool::A | grep -i -e ‘Pool\|Destination’ grep -i -e ‘Pool\|Destination’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e Gtm::Pool::A grep -i -e ‘Pool\|Destination’

**only one pipe**

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e Gtm::Pool::A grep -i -e ‘Pool\|Destination’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -i -e NAME\_OF\_YOUR\_GTM\_SERVER

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -i -e NAME\_OF\_YOUR\_GTM\_SERVER

tmsh show gtm wideip a all detail | grep -i -e ‘^gtm’ grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -i -e ‘NAME\_OF\_YOUR\_GTM\_SERVER$’

tmsh show gtm wideip a all detail | grep -i -e ‘^gtm’ grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ | grep -i -e ‘^NAME\_OF\_YOUR\_GTM\_SERVER$’ = No results

tmsh show gtm wideip a all detail | grep -i -e ‘^gtm’ grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -i -e ‘\^NAME\_OF\_YOUR\_GTM\_SERVER$’

tmsh show gtm wideip a all detail | grep -i -e ‘^gtm’ grep -i -e ‘wideip\|Destination’ grep -i -e ‘\^NAME\_OF\_YOUR\_GTM\_SERVER$’

tmsh show gtm wideip a all detail | grep -i -e ‘^gtm’ grep -i -e ‘^NAME\_OF\_YOUR\_GTM\_SERVER$’

tmsh show gtm wideip a all detail | grep -i -e ‘^NAME\_OF\_YOUR\_GTM\_SERVER$’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -i -e ‘\NAME\_OF\_YOUR\_GTM\_SERVER’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -e -i Gtm::Server -e “Server” grep -i -e ‘\NAME\_OF\_YOUR\_GTM\_SERVER’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -e -i Gtm::Server -e “Server”

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -e -i Gtm::Server -e “Server” grep -i -e ‘$NAME\_OF\_YOUR\_GTM\_SERVER’

tmsh show gtm wideip a all detail | grep -i -e ‘wideip\|Destination’ grep -i -e ‘Pool\|Destination’ grep -e -i Gtm::Server -e “Server” grep -i -e ‘$\*NAME\_OF\_YOUR\_GTM\_SERVER’ -C 2

tmsh show gtm wideip a all detail | grep -i -e ‘$\*NAME\_OF\_YOUR\_GTM\_SERVER’ -C 1

tmsh show gtm wideip a all detail | grep -i -e ‘$\*15\*’ -C 1

tmsh show gtm wideip a all detail | grep -i -e ‘$\*gtm\*’ -C 3 grep -i -e ‘$\*NAME\_OF\_YOUR\_GTM\_SERVER’

tmsh show gtm wideip a all detail | grep -i -e ‘$\*gtm\*’ grep -e -i NAME\_OF\_YOUR\_GTM\_SERVER

HTH

🙏

---

<div class="post-metadata">

**Author:** ![Cory\_O](https://d1p9zq3aats0t8.cloudfront.net/user_avatar/community.f5.com/cory_o/32/458_2.png) [@Cory\_O](https://community.f5.com/u/Cory_O)\
**Post date:** [April 29, 2024, 1:54pm UTC](https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427/3 "2024-04-29T13:54:12Z")

</div>

Thank you for your response @F5_Design_Engineer ; I appreciate it!&nbsp; Sadly, it seems the system is limited in it’s response.

The typical output of “tmsh show gtm pool a %MY\_POOL% members detail” only shows a simple up/down status with a reason of one monitor.&nbsp; What I’m looking for is to track the status of MULTIPLE independent monitors against a Pool member, when the monitor is configured as a “min 1 of” several monitors.

The use case would be to be able to test a new monitor against a pool in parallel with what exists in production, all the while not impacting production with the test.&nbsp; As I mentioned, the LTM platform allows you to do this by running a tmsh show against a specific monitor, but in gtm it appears this is not an option.

I hope that helps to explain it better, and I really appreciate your assistance!

-C

---

<div class="post-metadata">

**Author:** ![RemcoA](https://avatars.discourse-cdn.com/v4/letter/r/6bbea6/32.png) [@RemcoA](https://community.f5.com/u/RemcoA)\
**Post date:** [March 3, 2025, 2:14pm UTC](https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427/4 "2025-03-03T14:14:42Z")

</div>

Hello Cory\_O,

did you ever find away to show the individual monitor status when using F5 DNS? I have the same issue.

---

<div class="post-metadata">

**Author:** ![Cory\_O](https://d1p9zq3aats0t8.cloudfront.net/user_avatar/community.f5.com/cory_o/32/458_2.png) [@Cory\_O](https://community.f5.com/u/Cory_O)\
**Post date:** [March 4, 2025, 5:32pm UTC](https://community.f5.com/t/big-ip-dns-check-status-of-multiple-monitors-against-pool-member/74427/5 "2025-03-04T17:32:43Z")

</div>

Hi @RemcoA !

Sadly, no.&nbsp; I couldn’t find a holistic way to individually validate multiple Monitors against members within a single Pool.

The workaround that I’ve resorted to is essentially standing up one or more temporary Pool object(s) in parallel where I could assign the other Monitor(s).&nbsp; I configure it identically to the original Pool, but with the new Monitor, then I verify status.&nbsp; If all shows clean and green, I apply the new Monitor to the original Pool and delete the temporary Pool and original Monitor.&nbsp; This use case can also be left in place for the long term if you suspect a specific Monitor is marking something down.&nbsp; All you’d have to do is check the Pool with the suspect Monitor.

It’s certainly not a perfect solution, but it works!&nbsp; HTH

-C
