Forum Discussion
BIG-IP DNS: Check Status Of Multiple Monitors Against Pool Member
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 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. I cannot seem to locate a similar function on the GTM/BIG-IP DNS platform. 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!
Hi Cory,
Try this for your scenario:
tmsh show gtm pool a members detail | grep -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 -i -e "pool\|gtm\|reason"
Gtm::Pool::A Test-rule
Reason : Available
| Gtm::Pool Member: Test_proxy-rule:A Test_Box10_Test2_a_8080:10.10.10.39
| Reason : Available
| Gtm::Pool Member: Test_proxy-rule:A Test_Box10_Test2_b_8080:10.10.10.41
| Reason : Available
| Gtm::Pool Member: Test_proxy-rule:A Test_Box10_Test2_c_8080:10.10.10.40
| Reason : Available
| Gtm::Pool Member: Test_proxy-rule:A Test_Box20_Test2_a_8080:10.10.11.39
| Reason : Available
| Gtm::Pool Member: Test_proxy-rule:A Test_Box20_Test2_b_8080:10.10.11.41
| Reason : Available
| Gtm::Pool Member: Test_proxy-rule:A Test_Box20_Test2_c_8080:10.10.11.40
| Reason : Available
Gtm::Pool::A test_wideIp
Reason : No enabled pool members available
| Gtm::Pool Member: test_wideIp:A ptetest_wideIp-primary:10.10.10.36
| Reason : Monitor /Common/gateway_icmp from 10.x.24y.13 : state: timeout
| Gtm::Pool Member: test_wideIp:A test_wideIp-primary:10.10.10.242
| Reason : Monitor /Common/gateway_icmp from 10.10.10.13 : state: timeout
Gtm::Pool::A test_wideIp.USA
Reason : Available
| Gtm::Pool Member: test_wideIp.USA:A Bostonc.USA:Bostonc.USA
| Reason : Available
| Gtm::Pool Member: test_wideIp.USA:A Bostone.USA:Bostone.USA
| Reason : Available
Gtm::Pool::A Amazon_fileshare
Reason : No enabled pool members available
| Gtm::Pool Member: Amazon_fileshare:A pteAmazon_fileshare-primary:10.11.12.102
| Reason : Monitor /Common/gateway_icmp from 10.20.27.23 : state: timeout
| Gtm::Pool Member: Amazon_fileshare:A Amazon_fileshare-primary:10.10.11.12
| Reason : Monitor /Common/gateway_icmp from 10.28.247.23 : state: timeout
Gtm::Pool::A Test_PRD
Reason : Available
| Gtm::Pool Member: Test_PRD:A wtg_M_VIP:10.10.10147
| Reason : Monitor /Common/tcp from 10.28.247.10 : state: connect failed
| Gtm::Pool Member: Test_PRD:A wtg_STest_USA_VIP:10.26.17.26
| Reason : Available
Gtm::Pool::A Test_USA-vip
Reason : No enabled pool members available
| Gtm::Pool Member: Test_USA-vip:A Test_USA-vip-mTest_USA:10.12.3.27
| Reason : Monitor /Common/tcp from 10.28.247.10 : state: timeout
| Gtm::Pool Member: Test_USA-vip:A Test_USA-vip-sTest_USA:10.16.9.27
| Reason : Monitor /Common/tcp from 10.28.27.10 : state: timeout: disabled directly
Gtm::Pool::A DFlipcart_dev
Reason : Available
| Gtm::Pool Member: DFlipcart_dev:A DFlipcart_dev_bck:10.16.25.21
| Reason : Monitor /Common/http-head-DFlipcart-api-diagnostics-ishealthy from 10.18.27.10 : connect: timeout search result false: disabled
| Gtm::Pool Member: DFlipcart_dev:A DFlipcart_dev_bck_new1:10.16.25.21
| Reason : Available
| Gtm::Pool Member: DFlipcart_dev:A DFlipcart_dev_bck_new:10.10.150.55
| Reason : Monitor /Common/none from <unknown> : no reply from big3d: timed out: disabled directly
| Gtm::Pool Member: DFlipcart_dev:A DFlipcart_dev_pri:10.12.14.33
| Reason : Available: disabled directly
| Gtm::Pool Member: DFlipcart_dev:A DFlipcart_dev_pri_new:10.12.20.21
| Reason : Monitor /Common/http-head-DFlipcart-api-diagnostics-ishealthy from 10.28.247.10 : connect: protocol mismatch search result false
Gtm::Pool::A DFlipcart_prod
Reason : Available
| Gtm::Pool Member: DFlipcart_prod:A /PROD/vs_wb_DFlipcart_prd:Test2_LTMs
| Reason : Available
| 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 alltmsh show gtm listener
tmsh show gtm listener all-propertiestmsh 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 servertmsh 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' | grep -i -e monitor
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Virtual' | grep -i -e "pool\|gtm\|reason"
tmsh show gtm pool a members detail | grep -i -e "pool\|gtm\|reason"
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Virtual' | grep -i -e "pool\|gtm\status\|reason"
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Virtual' | grep -i -e "reason"
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Virtual' | grep -i -e "pool\|gtm\|reason"
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Virtual' | grep -i -e -r “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 monitor
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Virtual' | grep -i -e monitor
tmsh show gtm pool a members detail | grep -i -e 'GTM\|Pool' | grep -i -e monitor
tmsh show gtm pool a members detail | grep -i -e
tmsh show gtm pool a members detail | grep -e -i “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 field-fmt | grep -i -e 'GTM\|Virtual' | grep -i -e " pool\|destination\|reason"
tmsh show gtm pool a members field-fmt | grep -i -e 'GTM\|Virtual' | grep -i -e " pool\|destination\|reason"
tmsh show gtm pool a members 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-serverstmsh show gtm server detail
tmsh show gtm server detail alltmsh list net self all-properties
tmsh list gtm listener all-properties
tmsh list gtm listener vlanstmsh 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_SERVERHTH
🙏
- Cory_OCirrus
Thank you for your response F5_Design_Engineer; I appreciate it! 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. 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. 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
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com