To understand this document

This document assumes you have a clear understanding of the standard UNIX™ shell, sh(1), and have used muxcat(11) to access an RFC 1078 data service.

It also assumes that you can read the manual page for any other example command.

What is muxsend?

The manual page for muxsend says it sends a stream to a TCPMUX-like service. That's all it does. It accepts a stream of bytes, usually on stdin, which is copies to a network service.

There is no sense of intent here; the service could do anything at all with the data sent. For example the payload might record a attempt to run a bad sudo command, or it might be a message to an operator.

Since such services almost always have local scope, it is impossible to provide a comprehensive list of services and their intent. So we'll have to make-do with some examples.

Usaully the name of the service indicates the intent of the service. The local services diag and storage are used to record the diagnostics (e.g. dmidecode data and the like) and disk space available (e.g. lvm and such) for each host as it finishes a weekly checkout. Another task on the collector host produces trend, error, and usage reports later from a cron job.

These same reports could be send over e-mail (received via procmail) or via anonymous FTP. We use recvmux (see the manual page) to catch the data because we encode the source host in a format that program knows how to decode.

Basic examples

The storage service is a good example. As new instances (VMs, hard-hosts, zones, or jails) come on-line they may report their inherent storage capcaity and total presently allocated. This information may be updated weekly or daily depending on the growth (percentage change) and available capacity.

This feed-back loop checks some basic assumptions:

Every host reports at least once
We know every instance built should report at least once after the build process completes (on first boot). If it doesn't report then the configuration of the instance is not complete. (For example it may not be able to lookup the name of the storage host.)
Any report that doesn't match an expected hostname
Reports from instances which we didn't build indicate that someone built an unauthorized host, or booted a host that was decommisioned. In either case we need to follow-up.
The values should match expected norms
A host reporting full filesystems, no swap space, or any of many other known bad conditions gets fixed before it goes into production.
Missing filesystems or volumes
Some classes or services require special provisioning. Those are also checked before the host makes it to production.

See also

The recvmux HTML document and the muxcat HTML document and
$Id: muxsend.html,v 1.1 2012/08/20 21:26:48 ksb Exp $