Forum Discussion
About script
- Dec 01, 2022
Hi MIchaelyang,
check the iCall script below to get a picture how to LTM configs could be enumerated with foreach loops. No need to [exec] native BASH commands... 😉
sys icall handler periodic check_pool_state { interval 120 script check_pool_state } sys icall script check_pool_state { app-service none definition { tmsh::log_dest file tmsh::log_level debug foreach temp(pool_config) [tmsh::get_config /ltm pool] { set temp(pool_name) [tmsh::get_name $temp(pool_config)] if { [tmsh::show /ltm pool $temp(pool_name)] contains "Availability : available" } then { # Everything is fine... } else { tmsh::log debug "Pool Check: $temp(pool_name) is unhealthy" } } } description none events none }
Cheers, Kai
Hi Michaelyang,
on a quick view: You are not passing $pool to the "tmsh::show ltm virtual" command...
Cheers, Kai
Hi Kai_Wike,
Sorry, I sent the wrong one
I've updated it...
- Kai_WilkeDec 01, 2022MVP
As i said... you are not passing the $pool variable into the the "tmsh::show ltm virtual" command. In this case you check if a single pool of all your pools is available. It should be "tmsh::show ltm virtual $pool"
Beside of this the [exec] part can be avoided... Give me a sec to give you a quick coding how to access and enumerate LTM configurations within TMSH scripts...
Cheers, Kai
- MichaelyangDec 01, 2022Cirrostratus
Hi Kai_Wike,
Sorry, I sent the wrong one
I've updated it again...Thank you
- Kai_WilkeDec 01, 2022MVP
Still the same problem. Check the script I've just posted. During the foreach loop it passes the currently processed $temp(pool_name) to the [tmsh::show] command, so that you analyse the state of the just processed pool. If you dont pass the pool name to the show command, then you would analyse all pools at the same time.
Cheers, Kai
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