Forum Discussion
Blue_whale
Jun 28, 2024Cirrocumulus
Need help on CLI command to fetch < VIP Name + current connections >
Hello Experts , I need help in modifying below command which should also give me information of VIP name along with current connection . show ltm virtual recursive all | grep 'Availability\|Cu...
- Jun 29, 2024
Hi Blue_whale you could use a bash script to do this pretty easily (or write a tmsh script to do the same, but bash might be a little easier if you're not familiar with the tmsh scripting):
#!/bin/bash tmsh_show=$(tmsh show ltm virtual recursive all field-fmt) vipname="" vipconns="" vipstate="" echo "$tmsh_show" | while IFS= read -r line; do line=$(echo "$line" | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') if [ -z "$line" ]; then continue fi if [[ "$line" =~ ^ltm\ virtual\ ([^\ ]+) ]]; then vipname="${BASH_REMATCH[1]}" fi if [[ "$line" =~ ^clientside\.cur-conns\ ([0-9]+) ]]; then vipconns="${BASH_REMATCH[1]}" fi if [[ "$line" =~ ^status\.availability-state\ ([^\ ]+) ]]; then vipstate="${BASH_REMATCH[1]}" fi if [[ "$line" == "}" ]]; then printf "Vip Name: %s\n" "$vipname" printf "Current Connections: %s\n" "$vipconns" printf "Availability State: %s\n" "$vipstate" printf "\n" vipname="" vipconns="" vipstate="" fi done
which on my fairly empty test box running 15.1.x shows results like this:
[root@ltm15:LICENSE EXPIRES IN 1 DAYS:Active:Standalone] tmp # ./vip-glance.sh Vip Name: acme_handler_vip Current Connections: 9 Availability State: available Vip Name: nginx-vip-tls Current Connections: 0 Availability State: available Vip Name: self.listener Current Connections: 0 Availability State: unknown Vip Name: tcp_duplication Current Connections: 0 Availability State: offline
JRahm
Jun 29, 2024Admin
Hi Blue_whale you could use a bash script to do this pretty easily (or write a tmsh script to do the same, but bash might be a little easier if you're not familiar with the tmsh scripting):
#!/bin/bash
tmsh_show=$(tmsh show ltm virtual recursive all field-fmt)
vipname=""
vipconns=""
vipstate=""
echo "$tmsh_show" | while IFS= read -r line; do
line=$(echo "$line" | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
if [ -z "$line" ]; then
continue
fi
if [[ "$line" =~ ^ltm\ virtual\ ([^\ ]+) ]]; then
vipname="${BASH_REMATCH[1]}"
fi
if [[ "$line" =~ ^clientside\.cur-conns\ ([0-9]+) ]]; then
vipconns="${BASH_REMATCH[1]}"
fi
if [[ "$line" =~ ^status\.availability-state\ ([^\ ]+) ]]; then
vipstate="${BASH_REMATCH[1]}"
fi
if [[ "$line" == "}" ]]; then
printf "Vip Name: %s\n" "$vipname"
printf "Current Connections: %s\n" "$vipconns"
printf "Availability State: %s\n" "$vipstate"
printf "\n"
vipname=""
vipconns=""
vipstate=""
fi
done
which on my fairly empty test box running 15.1.x shows results like this:
[root@ltm15:LICENSE EXPIRES IN 1 DAYS:Active:Standalone] tmp # ./vip-glance.sh
Vip Name: acme_handler_vip
Current Connections: 9
Availability State: available
Vip Name: nginx-vip-tls
Current Connections: 0
Availability State: available
Vip Name: self.listener
Current Connections: 0
Availability State: unknown
Vip Name: tcp_duplication
Current Connections: 0
Availability State: offline
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects