mtop
mtop: top for Memcached.

Features
- Display real-time statistics about your
memcachedservers such as- Memory usage/limit
- Current/max connections
- Hit ratio
- Gets/Sets/Evictions
- Bytes transmitted and received
- Server CPU usage
- Support for monitoring multiple servers:
mtop example1:11211 example2:11211 example3:11211
Install
There are multiple ways to install mtop listed below.
Binaries
TBD
Cargo
mtop along with its dependencies can be downloaded and built from source using the
Rust cargo tool. Note that this requires you have a Rust toolchain installed.
To install:
cargo install mtop
To install as a completely static binary (Linux only):
cargo install --target=x86_64-unknown-linux-musl mtop
To uninstall:
cargo uninstall mtop
Source
mtop along with its dependencies can be built from the latest sources on Github using
the Rust cargo tool. Note that this requires you have Git and a Rust toolchain installed.
Get the sources:
git clone https://github.com/56quarters/mtop.git && cd mtop
Install from local sources:
cargo install --path .
Install a completely static binary from local sources (Linux only):
cargo install --path . --target=x86_64-unknown-linux-musl
To uninstall:
cargo uninstall mtop
Usage
mtop takes one or more Memcached host:port combinations as arguments. Statistics from
each of these servers will be collected approximately once a second. A maximum of ten
measurements from each server will be kept in memory to use for computations.
If mtop is not able to connect to the servers when starting, it will exit after printing
an error message. If mtop is not able to connect to servers or fetch statistics from
them after starting, the errors will be logged to a file. The location of this file is
/tmp/mtop/mtop.log on Unix-like systems. This log file is truncated every time mtop
starts.
Some examples of invoking mtop are given below.
Connecting to a local server
mtop localhost:11211
Connecting to multiple servers
mtop cache01.example.com:11211 cache02.example.com:11211 cache03.example.com:11211
Connecting to a port-forwarded Kubernetes pod
kubectl port-forward --namespace=example memcached-0 11211:11211
mtop localhost:11211
TLS connection to server
mtop --tls-enabled cache01.example.com:11211
TLS with a custom CA
mtop --tls-enabled --tls-ca memcached-ca-cert.pem cache01.example.com:11211
TLS with client authentication and a custom CA
mtop --tls-enabled --tls-ca memcached-ca-cert.pem --tls-cert memcached-client-cert.pem --tls-key memcached-client-key.pem cache01.example.com:11211
UI
Within the mtop UI, there are a few keys that control behavior.
qto quit.lorright-arrowto select the next host.horleft-arrowto select the previous host.
Limitations
No historical data
mtop displays instantaneous statistics or an average over the last 10 seconds (depending on
the particular statistic). It does not persist statistics anywhere for historical analysis. If
this is something you need, use the memcached_exporter
for Prometheus.
License
mtop is available under the terms of the GPL, version 3.
Contribution
Any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.