No commit activity in last 3 years
No release in over 3 years
Fluentd plugin to parse bunyan format logs and to transfer Google Cloud Logging.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.14
~> 12.0
~> 3.0

Runtime

< 2, >= 0.14.10
>= 1.5.1, ~> 1.5
 Project Readme

fluent-plugin-bunyan-to-google-cloud-logging

Gem Version

Fluentd plugin to parse bunyan format logs and to transfer Google Cloud Logging.

Installation

RubyGems

$ gem install fluent-plugin-bunyan-to-google-cloud-logging

Bundler

Add following line to your Gemfile:

gem "fluent-plugin-bunyan-to-google-cloud-logging"

And then execute:

$ bundle

Configuration

Example 1. Tailing a log file and transfering to Google Cloud Logging

<source>
  @type tail
  path /tmp/myapp.log
  pos_file /tmp/myapp.log.pos
  tag myapp.trace
  <parse>
    @type json
    time_key time
    time_format %FT%T.%L%z
  </parse>
</source>

<match **>
  @type bunyan_to_google_cloud_logging
  project_id  'my-project-211117'
  keyfile /etc/td-agent/secret/keyfile.json
</match>

Example 2. Receiving docker container logs and transfering to Google Cloud Logging

/etc/td-agent/td-agent.conf

<source>
  @type forward
</source>

<filter docker.**>
  @type parser
  format json
  key_name log
  time_key time
  time_format %FT%T.%L%z
  reserve_data yes
</filter>

<filter docker.**>
  @type record_transformer
  remove_keys log
  <record>
    time ${time}
    app_tag ${tag_parts[1]}
  </record>
</filter>

<match docker.**>
  @type bunyan_to_google_cloud_logging
  project_id  'high-office-001'
  keyfile /etc/td-agent/secret/gcp-key.json
</match>

<label @ERROR>
  <match **>
    @type bunyan_to_google_cloud_logging
    project_id  'high-office-001'
    keyfile /etc/td-agent/secret/gcp-key.json
  </match>
</label>

docker-compose.yml

version: '3'
services:
  yourwebapp:
    image: registry.example.com/yourwebapp
    logging:
      driver: fluentd
      options:
        fluentd-address: "localhost:24224"
        tag: "docker.webapp"
    environment:
      NODE_ENV: production
    ports:
      - 8080:8080

Fluent::Plugin::BunyanToGoogleCloudLoggingOutput

project_id (string) (required)

your Project ID on Google Cloud Platform

keyfile (string) (required)

Specify the path of key json file https://cloud.google.com/iam/docs/creating-managing-service-account-keys

Copyright

  • Copyright(c) 2018- Toshimitsu Takahashi
  • License
    • Apache License, Version 2.0