docs(stage): add docker and cri (#1091)

Signed-off-by: Xiang Dai <764524258@qq.com>
pull/1094/head
Xiang Dai 6 years ago committed by Robert Fratto
parent fc6c5c063f
commit ca6fce19cc
  1. 2
      docs/clients/promtail/pipelines.md
  2. 46
      docs/clients/promtail/stages/cri.md
  3. 38
      docs/clients/promtail/stages/docker.md

@ -188,6 +188,8 @@ given log entry.
Parsing stages:
* [docker](./stages/docker.md): Extract data by parsing the log line using the standard Docker format.
* [cri](./stages/cri.md): Extract data by parsing the log line using the standard CRI format.
* [regex](./stages/regex.md): Extract data using a regular expression.
* [json](./stages/json.md): Extract data by parsing the log line as JSON.

@ -0,0 +1,46 @@
# `cri` stage
The `cri` stage is a parsing stage that reads the log line using the standard CRI logging format.
## Schema
```yaml
cri: {}
```
Unlike most stages, the `cri` stage provides no configuration options and only
supports the specific CRI log format. CRI specifies log lines log lines as
space-delimited values with the following components:
1. `time`: The timestamp string of the log
2. `stream`: Either stdout or stderr
3. `log`: The contents of the log line
No whitespace is permitted between the components. In the following exmaple,
only the first log line can be properly formatted using the `cri` stage:
```
"2019-01-01T01:00:00.000000001Z stderr P test\ngood"
"2019-01-01 T01:00:00.000000001Z stderr testgood"
"2019-01-01T01:00:00.000000001Z testgood"
```
## Examples
For the given pipeline:
```yaml
- cri: {}
```
Given the following log line:
```
"2019-04-30T02:12:41.8443515Z stdout xx message"
```
The following key-value pairs would be created in the set of extracted data:
- `output`: `message`
- `stream`: `stdout`
- `timestamp`: `2019-04-30T02:12:41.8443515`

@ -0,0 +1,38 @@
# `docker` stage
The `docker` stage is a parsing stage that reads log lines in the standard
format of Docker log files.
## Schema
```yaml
docker: {}
```
Unlike most stages, the `docker` stage provides no configuration options and
only supports the specific Docker log format. Each log line from Docker is
written as JSON with the following keys:
1. `log`: The content of log line
2. `stream`: Either `stdout` or `stderr`
3. `time`: The timestamp string of the log line
## Examples
For the given pipeline:
```yaml
- docker: {}
```
Given the following log line:
```
{"log":"log message\n","stream":"stderr","time":"2019-04-30T02:12:41.8443515Z"}
```
The following key-value pairs would be created in the set of extracted data:
- `output`: `log message\n`
- `stream`: `stderr`
- `timestamp`: `2019-04-30T02:12:41.8443515`
Loading…
Cancel
Save