While doing some troubleshooting with F5 TAC we were using “tmctl” command, so I googled looking for a good guide on syntax and some command examples. After looking through some posts and knowledge base articles I decided to just put one together using information from the F5 and an AI , so now others will have it if they need it. Enjoy!
The F5 TMCTL (Traffic Management Command Line Tool) is an essential command-line interface tool used for managing and troubleshooting F5 BIG-IP systems, which are widely used for application delivery and network security. TMCTL provides administrators with a powerful means of interacting with the BIG-IP system’s internal tables, offering insights and control that go beyond what is available through the standard configuration utility or TMSH (Traffic Management Shell).
Key Features and Uses of TMCTL
Direct Access to Internal Tables: TMCTL allows administrators to directly access and manipulate various internal tables of the BIG-IP system. These tables contain detailed information about system configuration and operation, including virtual servers, pools, pool members, and more.
Troubleshooting and System Inspection: With TMCTL, administrators can delve deep into the system to troubleshoot issues, monitor performance, and gather detailed information about the state of various components. This can be crucial in diagnosing complex problems.
Advanced Configuration and Management: While TMSH and the GUI are used for standard configuration tasks, TMCTL can perform more advanced and specific management tasks, especially useful for custom scripting and automation.
Flexibility in Data Handling: TMCTL offers various options to filter, sort, and display data. This flexibility is invaluable for parsing large amounts of information and extracting relevant data quickly.
Scripting and Automation: The command-line nature of TMCTL makes it well-suited for scripting and automation. Administrators can incorporate TMCTL commands into scripts to automate repetitive tasks or integrate with other system management tools.
tmctl -a = List all tmctl options
usage: (null) [OPTIONS] [TABLE [COL=VALUE]…]
Inspect and manipulate statistics subsystem.
Supported options:
-a, –all Display all tables.
-A, –nolazy Don’t lazily load metadata. Load all on open.
-b, –base=DIR Set segment directory base path.
-c, –csv Output in CSV format.
-C, –columns Describe the table columns.
-d, –dir=DIR Subscribe to specific directory.
-D, –snapshots=DIR Subscribe to specific snapshots directory.
-e, –eval=EXPR Evaluate expression.
-f, –file=PATH Inspect specific segment file.
-g, –dump Dump the internal state (-gg dumps addresses).
-G, –guest=DIR Synonym for –base=/shared/vmdisks/stats/GUEST.
-h, –help Display this text.
-H, –hash Display the hash index. Requires -f.
-i, –internal Include internal tables.
-I, –intermediate Ignore intermediate key columns during merge.
-k, –group=COL,COL Group by selected columns, comma separated.
-K, –sortby=COL,COL Sort by selected columns, comma separated.
-l, –locale Format using system locale.
-L, –limit=NUM Limit the number of rows to display to NUM.
-m, –merge=PATH Merge subscribed segments into one segment file.
-n, –number Count the number of selected rows.
-o, –only Only display internal tables.
-O, –order Reverse the sort order to descending.
-p, –performance Measure query performance.
-P, –pivot Pivot display as property list.
-q, –quiet Don’t display headers.
-r, –rollup Merge all selected rows, ignoring keys.
-R, –rate=NUM Limit snapshots to those at NUM seconds.
-s, –select=COL,COL Display only selected columns, comma separated.
Append COL with /x to format in hexadecimal.
-S, –sort Sort rows within each table by their keys.
-t, –time=NUM Maximum seconds to allow a query to respond.
-T, –category=NAME Limit snapshots to tables in NAME category.
-V, –verify Verify the file is a valid segment. Requires -f.
-w, –wrap=NUM Wrap output at NUM characters.
-W, –write Write values to a row in a table.
-x, –extract=DIR Extract segments into directory.
-X, –export=PATH Export tables to file.
-Y, –import=PATH Import tables from file.
-Z, –zap Remove a row created using tmctl.
Commands:
cpu_info_stat
=============
host_info_stat
==============
interface_stat
==============
merge_stats
===========
merge_update_stats
==================
plane_cpu_stat
==============
plane_proc_stat
===============
proc_stat
=========
system_cpu_info_stat
====================
tmm_stat
========
virtual_server_stat
===================
access_acct_radius_stat
=======================
access_gen_stat
===============
agent_proxy_select_stat
=======================
agent_resource_assign_stat
==========================
agent_sso_configuration_select_stat
===================================
antserver_stat
==============
apm_sso_stat
============
apmd_stat
=========
app_cloud_security_service_stat
===============================
arp_stat
========
avr_plugin_stats
================
bbr_proxy_stat
==============
bdos_udp_dns_parser
===================
bigd_stat
=========
bptdbg_cnt
==========
bundle_mgr_stat
===============
bwc_measure_stat
================
category_lookup_stat
====================
cec_tables
==========
clone_stats
===========
compress
========
crypto_codec_status
===================
crypto_cpu
==========
crypto_hybrid
=============
debug_dropredirect_stats
========================
dht_stat
========
disk_info_stat
==============
disk_latency_stat
=================
dns_limiter_stat
================
dns_rapid_response_global
=========================
dns_resolver_derived_stat
=========================
dns_resolver_stat
=================
dnsexpress_zxfrd_stat
=====================
dnssec_stat
===========
dos_neuron_stat
===============
dos_spva_stat
=============
dos_vlan_set_stat
=================
dosl7_hudfilter_stats
=====================
dpi_stats
=========
dynad_stats
===========
ecm_connections_stat
====================
epva_connstat
=============
epva_hwvipstat
==============
epva_ignoredstat
================
epva_prioritystat
=================
epva_tablestat
==============
flow_eviction_policy_stat
=========================
fpm_plugin_stats
================
fw_current_state_stat
=====================
fw_fqdn_stat
============
fw_logthrottle_stat
===================
fw_nat_trans_stat
=================
fw_sendtovirtual_stats
======================
global_access_stat
==================
global_oauth_stat
=================
gtm_global_stat
===============
ha_stat
=======
http_psm_stats
==============
icmp6_stat
==========
icmp_stat
=========
ifc_stats
=========
imap_fsm_stat
=============
imap_parse_stat
===============
ip6_stat
========
ip_stat
=======
ipfix_irules_stats
==================
ipsec_cmp_stat
==============
ipsec_data_stat
===============
ipsec_esp_stat
==============
ipsec_ipcomp_deflate
====================
ipsec_logs
==========
isakmp_stat
===========
isession_iclient
================
l7check_stat
============
lcdwarn_table
=============
log_stat
========
lsn_global_stat
===============
lucenedb_plugin
===============
mcp_request_stat
================
mcp_transaction_stat
====================
memory_stat
===========
memory_usage_stat
=================
monitor_instance_stat
=====================
monitor_stat
============
mp_tcp_stat
===========
ndp_stat
========
neighbor_stat
=============
oauthdb_stat
============
offbox_apis_stat
================
offbox_connections_stat
=======================
packet_filter_rule_stat
=======================
page_stats
==========
peer_hb_stat
============
pem_actions_stat
================
pem_dtos_stat
=============
pem_global_stat
===============
pem_hsl_stat
============
pem_hudnode_opt_stat
====================
pem_multiple_ip_stat
====================
pem_persistence_stats
=====================
pem_radius_stat
===============
pem_rancon_stat
===============
pem_sessions_stat
=================
pem_tethering_stat
==================
perrequest_clinfo_stat
======================
perrequest_policy_stat
======================
pfkey_ike_event_stat
====================
pfkey_ike_msg_stat
==================
policy_stat
===========
pool_member_stat
================
pool_stat
=========
pop3_parse_stat
===============
proc_pid_stat
=============
profile_access_stat
===================
profile_ap_ai_stat
==================
profile_api_protection_stat
===========================
profile_apm_ivs_stat
====================
profile_auth_stat
=================
profile_bigproto_stat
=====================
profile_clientldap_stat
=======================
profile_clientssl_stat
======================
profile_connectivity_stat
=========================
profile_connector_stat
======================
profile_connpool_stat
=====================
profile_csd_stat
================
profile_device_id_stat
======================
profile_dhcpv4_stat
===================
profile_dhcpv6_stat
===================
profile_diameter_endpoint_stat
==============================
profile_diameter_stat
=====================
profile_diameterrouter_stat
===========================
profile_diametersession_stat
============================
profile_dns_stat
================
profile_euie_stat
=================
profile_exchange_stat
=====================
profile_fasthttp_stat
=====================
profile_fix_stat
================
profile_ftp_stat
================
profile_genericmsg_stat
=======================
profile_georedundancy_stat
==========================
profile_gtp_stat
================
profile_html_stat
=================
profile_http2_stat
==================
profile_http3_stat
==================
profile_http_proxy_connect_stat
===============================
profile_http_stat
=================
profile_httpcompression_stat
============================
profile_httprouter_stat
=======================
profile_ibd_stat
================
profile_icap_stat
=================
profile_ilx_stat
================
profile_imap_stat
=================
profile_ipother_stat
====================
profile_ipsecalg_stat
=====================
profile_lw4o6_stat
==================
profile_map_stat
================
profile_mapt_stat
=================
profile_messagerouter_stat
==========================
profile_mqtt_stat
=================
profile_mqttrouter_stat
=======================
profile_mqttsession_stat
========================
profile_mr_ratelimit_stat
=========================
profile_netflow_stat
====================
profile_oauth_stat
==================
profile_ocsp_responder_stat
===========================
profile_pingaccess_stat
=======================
profile_pop3_stat
=================
profile_ppp_stat
================
profile_pptp_stat
=================
profile_pua_ldap_stat
=====================
profile_pua_radius_stat
=======================
profile_qoe_stat
================
profile_quic_stat
=================
profile_radius_aaa_stat
=======================
profile_radius_stat
===================
profile_remotedesktop_stat
==========================
profile_requestadapt_stat
=========================
profile_responseadapt_stat
==========================
profile_rewrite_stat
====================
profile_rtsp_stat
=================
profile_sctp_stat
=================
profile_serverldap_stat
=======================
profile_serverssl_stat
======================
profile_service_stat
====================
profile_sipp_stat
=================
profile_siprouter_stat
======================
profile_sipsession_stat
=======================
profile_smtps_stat
==================
profile_socks_stat
==================
profile_splitsessionclient_stat
===============================
profile_splitsessionserver_stat
===============================
profile_statistics_stat
=======================
profile_stream_stat
===================
profile_tcp_stat
================
profile_tdr_stat
================
profile_tftp_stat
=================
profile_udp_stat
================
profile_webacceleration_jail_stat
=================================
profile_webacceleration_stat
============================
profile_websocket_stat
======================
profile_xml_stat
================
protocol_inspection_attr_sip_call_logs
======================================
protocol_inspection_stats
=========================
pva_stat
========
ra_agent_stat
=============
rc_cache_stat
=============
rcp_conn_stat
=============
rebal
=====
route6_stat
===========
route_domain_stat
=================
route_stat
==========
rst_cause_stat
==============
rule_stat
=========
sb_stats
========
selfip_stat
===========
session_db_stat
===============
session_packtag_stat
====================
smtps_parse_stat
================
sod_tg_conn_stat
================
sod_tg_msg_stat
===============
softpva_stat
============
sso_config_stat
===============
sso_plugin_stats
================
string_cache_stat
=================
syscalld_cmd_stat
=================
syscalld_queue_stat
===================
system_traffic_stat
===================
tap_profile_stat
================
tcpdump_dpt
===========
tcpdump_stat
============
tmm_aes_stat
============
tmm_plugin
==========
urldb_stat
==========
virtual_server_cpu_stat
=======================
vmem_kstat
==========
wam_css_stat
============
wam_html_stat
=============
wam_js_stat
===========
wam_m3u8_stat
=============
wap_conn_stat
=============
xbuf_stats
==========
gtm_datacenter
==============
gtm_pool
========
gtm_server
==========
gtm_wideip
==========
ltm_nat
=======
ltm_node
========
ltm_pool
========
ltm_pool_member
===============
ltm_rule
========
ltm_snat
========
ltm_snat_translation
====================
ltm_snatpool
============
ltm_virtual
===========
ltm_virtual_address
===================
net_interface
=============
net_vlan
========
sys_application_service
=======================
If you would like to add any content to this to improve it please send it to me and I will add you name as a contributor.