Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(stage): add docker and cri #1091

Merged
merged 3 commits into from
Oct 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/clients/promtail/pipelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
46 changes: 46 additions & 0 deletions docs/clients/promtail/stages/cri.md
Original file line number Diff line number Diff line change
@@ -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`
38 changes: 38 additions & 0 deletions docs/clients/promtail/stages/docker.md
Original file line number Diff line number Diff line change
@@ -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`