fluent-plugin-pgjson
fluent-plugin-pgjson copied to clipboard
Fluent::Plugin::PgJson, a plugin for Fluentd
Output Plugin for PostgreSQL Json Type.
Json type is availble in PostgreSQL version over 9.2
Requirements
| fluent-plugin-pgjson | fluentd | Ruby |
|---|---|---|
| >= 1.0.0 | >= v1.0.0 | >= 2.2 |
| < 1.0.0 | >= v0.12.0 | >= 1.9 |
Installation
$ fluent-gem install fluent-plugin-pgjson
Schema
Specified table must have following schema:
| col | type |
|---|---|
| {tag_col} | Text |
| {time_col} | Timestamp WITH TIME ZONE |
| {record_col} | Json |
Example
CREATE TABLE fluentd (
tag Text
,time Timestamptz
,record Json
);
JSONB?
Yes! Just define a record column as JSONB type.
CREATE TABLE fluentd (
tag Text
,time Timestamptz
,record Jsonb
);
Configuration
Example
<match **>
@type pgjson
#host localhost
#port 5432
#sslmode prefer
database fluentd
table fluentd
user postgres
password postgres
#time_col time
#tag_col tag
#record_col record
#msgpack false
#encoder yajl
</match>
Parameter
| parameter | description | default |
|---|---|---|
| host | The hostname of PostgreSQL server | localhost |
| port | The port of PostgreSQL server | 5432 |
| sslmode | Set the sslmode to enable Eavesdropping protection/MITM protection. See PostgreSQL Documentation for more details. (disable, allow, prefer, require, verify-ca, verify-full) |
prefer |
| database | The database name to connect | |
| table | The table name to insert records | |
| user | The user name to connect database | nil |
| password | The password to connect database | nil |
| time_col | The column name for the time | time |
| tag_col | The column name for the tag | tag |
| record_col | The column name for the record | record |
| msgpack | If true, insert records formatted as msgpack | false |
| encoder | JSON encoder (yajl, json) |
yajl |
Copyright
- Copyright (c) 2014- OKUNO Akihiro
- License
- Apache License, version 2.0