Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(502)

Unified Diff: logdog/client/cmd/logdog_butler/README.md

Issue 2183233002: Add LogDog project and component documentation. (Closed) Base URL: https://github.com/luci/luci-go@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « logdog/client/README.md ('k') | logdog/client/cmd/logdog_cat/README.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: logdog/client/cmd/logdog_butler/README.md
diff --git a/logdog/client/cmd/logdog_butler/README.md b/logdog/client/cmd/logdog_butler/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..5754f39232a4fd03ccd693d69f55a6f36d31d42a
--- /dev/null
+++ b/logdog/client/cmd/logdog_butler/README.md
@@ -0,0 +1,68 @@
+LogDog Butler
+=============
+
+The LogDog Butler runs on log-producing clients and manages the ingestion of
+log data from a read-forward stream, formatting and bundling it into [log
+protobufs](../../../api/logpb), and the transmission of those protobufs through
+the **Transport Layer** to **Collector** instances.
+
+The Butler is fairly configurable, and is capable of being used in multiple
+scenarios via its subcommands:
+
+* `stream`, which uploads the contents of a single log stream.
+* `serve`, which runs a Butler stream server instance.
+* `run`, which runs another command, instrumenting its enviornment and standard
+ file descriptors for log streaming.
+
+## Stream Servers
+
+The Butler, based on its configuration, may configure default streams. For
+example, when using the `run` subcommand, it has the option to connect the
+bootstrapped process' `STDOUT` and `STDERR` streams to LogDog streams.
+
+However, the Butler can also enable additional stream registration by
+instantiating a local **Stream Server** and exposing that to other applications.
+Those applications can then connect to the **Stream Server**, perform a minimial
+[handshake](../../butlerproto), and connect an additional stream to the Butler.
+
+Clients can use the [streamclient](../../butlerlib/streamclient) package to
+connect to a stream server and create Butler streams. Additional stream client
+packages are availalbe for other languages:
+
+* [Python](https://github.com/luci/luci-py/tree/master/client/libs/logdog)
+
+**Stream Servers** are created by specifying the `-streamserver-uri` parameter
+to LogDog. Stream server options vary by operating system.
+
+### POSIX
+
+POSIX systems (Linux, Mac) support the following stream servers:
+
+* `unix:<path>`, where `path` is a filesystem path to a named UNIX domain socket
+ to create.
+
+### Windows
+
+Windows systems support the following stream servers:
+
+* `net.pipe:<name>`, where `name` is a valid Windows named pipe name.
+
+## Production
+
+In production, each Butler instance will begin by registering a unique log
+stream Prefix with its **Coordinator** instance. The exchange will ensure that
+only that specific Butler instance may create log streams underneath of that
+Prefix.
+
+Production streaming can be requested by specifying the `logdog` Output option
+and associated parameters:
+
+```shell
+$ logdog_butler -output logdog,host=<coordinator-host> ...
+```
+
+The Butler instance must be configured to use a service account that has
+**WRITE** permission for the target project.
+
+This will cause the Butler to perform prefix registration during its Output
+initialization, prior to any bootstrapping or streaming.
« no previous file with comments | « logdog/client/README.md ('k') | logdog/client/cmd/logdog_cat/README.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698