Summary
YugabyteDB consists of two main server components:
- yb-master: Manages cluster metadata and tablet assignment.
- yb-tserver: Handles user data and client requests.
Collecting endpoint details is important for troubleshooting, monitoring, and understanding the current state of your cluster. This guide provides step-by-step instructions to collect endpoint details from both yb-master and yb-tserver, including the most common and useful endpoints.
1. Collecting Endpoint Details via the Web UI
Both yb-master and yb-tserver expose a web UI for monitoring and diagnostics.
yb-master Web UI
-
Default URL:
http://<master_ip>:7000/
Steps:
- Open a web browser.
- Enter the URL:
http://<master_ip>:7000/ - The main dashboard displays master server details, tablet servers, and tablets.
- Useful subpages:
-
/memz(e.g.,http://<master_ip>:7000/memz) — memory tracker details -
/prometheus-metrics(e.g.,http://<master_ip>:7000/prometheus-metrics) — Prometheus metrics -
/tablet-servers— list of tablet servers -
/tablets— list of tablets
-
yb-tserver Web UI
-
Default URL:
http://<tserver_ip>:9000/
Steps:
- Open a web browser.
- Enter the URL:
http://<tserver_ip>:9000/ - The main dashboard provides tserver details, tablets, and performance metrics.
- Useful subpages:
-
/rpcz— RPC statistics -
/metrics— server metrics -
/mem-trackers— memory usage -
/threadz?group=all— thread information -
/pprof/contention— contention profiling
-
2. Collecting Endpoint Details Using curl (Command Line)
You can collect the same details programmatically from each node using curl by replacing <master_ip> or <tserver_ip> as appropriate.
yb-tserver Common Endpoints
Replace <tserver_ip> with your tserver node's IP or hostname:
# RPC statistics curl -s "http://<tserver_ip>:9000/rpcz" > <tserver_ip>-rpcz.txt # Metrics curl -s "http://<tserver_ip>:9000/metrics" > <tserver_ip>-metrics.txt # Memory trackers curl -s "http://<tserver_ip>:9000/mem-trackers" > <tserver_ip>-mem-trackers.txt # Thread details curl -s "http://<tserver_ip>:9000/threadz?group=all" > <tserver_ip>-threadz.txt # Contention profiling curl -s "http://<tserver_ip>:9000/pprof/contention" > <tserver_ip>-contention.txt
yb-master Common Endpoints
Replace <master_ip> with your master node's IP or hostname:
# Memory tracker details (HTML output) curl -s "http://<master_ip>:7000/memz" -o <master_ip>-memz.html # Prometheus metrics (HTML output) curl -s "http://<master_ip>:7000/prometheus-metrics" -o <master_ip>-prometheus-metrics.html
Tip: You can loop over multiple nodes to collect data from all servers in your cluster.
Summary Table of Useful Endpoints
| Component | Endpoint | Description | Example URL |
|---|---|---|---|
| yb-tserver | /rpcz |
RPC statistics | http://<tserver_ip>:9000/rpcz |
| yb-tserver | /metrics |
Metrics | http://<tserver_ip>:9000/metrics |
| yb-tserver | /mem-trackers |
Memory usage | http://<tserver_ip>:9000/mem-trackers |
| yb-tserver | /threadz?group=all |
Thread info | http://<tserver_ip>:9000/threadz?group=all |
| yb-tserver | /pprof/contention |
Contention profile | http://<tserver_ip>:9000/pprof/contention |
| yb-master | /memz |
Memory tracker (HTML) | http://<master_ip>:7000/memz |
| yb-master | /prometheus-metrics |
Prometheus metrics | http://<master_ip>:7000/prometheus-metrics |
| yb-master | /tablet-servers |
Tablet servers list | http://<master_ip>:7000/tablet-servers |
| yb-master | /tablets |
Tablets list | http://<master_ip>:7000/tablets |
Tips for Support Collection
- Save the output files with clear names indicating the node and endpoint.
- Collect from all master and tserver nodes for completeness.
- If automating, consider a shell script to loop over all hosts and endpoints.
Recommendation:
Use the UI for quick inspection and interactive troubleshooting. Use curl (command-line) for systematic collection, automation, and sharing with support.
Reference: SUPPORT-758
Comments
0 comments
Please sign in to leave a comment.