fluent/fluentd-ui

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# fluentd-ui

[![Build Status](https://travis-ci.org/fluent/fluentd-ui.svg?branch=master)](https://travis-ci.org/fluent/fluentd-ui)
[![Gem Version](https://badge.fury.io/rb/fluentd-ui.svg)](http://badge.fury.io/rb/fluentd-ui)
[![Code Climate](https://codeclimate.com/github/fluent/fluentd-ui/badges/gpa.svg)](https://codeclimate.com/github/fluent/fluentd-ui)

fluentd-ui is a browser-based [fluentd](http://www.fluentd.org) and [td-agent](https://docs.treasuredata.com/articles/td-agent) manager that supports following operations.

* Install, uninstall, and upgrade Fluentd plugins
* start/stop/restart fluentd process
* Configure Fluentd settings such as config file content, pid file path, etc
* View Fluentd log with simple error viewer

[Official documentation](https://docs.fluentd.org/deployment/fluentd-ui) \| [Changelog](./ChangeLog.md)


## Requirements

- ruby 2.2.2 or later (since v1.0.0)
- fluentd v1.0.0 or later (also supports td-agent 3)
  - Currently, fluentd v1 and td-agent 3 support is in alpha state

And some additional packages (Debian / Ubuntu)

- build-essential
- libssl-dev
- libxml2-dev
- libxslt1-dev
- ruby-dev

## How to install and run

    $ gem install fluentd-ui
    $ fluentd-ui setup
    $ fluentd-ui start --daemonize

Access http://localhost:9292 by web browser.
The default account is username="admin" and password="changeme".

### Run under sub path

Use `RAILS_RELATIVE_URL_ROOT` environment variable.

   $ RAILS_RELATIVE_URL_ROOT=/prefix fluentd-ui start --daemonize

Access http://localhost:9292/prefix by web browser.

## Development

### Get the source

    $ git clone https://github.com/fluent/fluentd-ui
    $ cd fluentd-ui

### Install dependent gems

Use bundler:

    $ gem install bundler --version 1.17.3
    $ bundle install --path vendor/bundle

### Install dependent JavaScript packages

Use [yarn](https://yarnpkg.com/).
See https://yarnpkg.com/en/docs/install to install it to your environment.
After install it, run following command:

    $ ./bin/yarn install

### Run fluentd-ui

    $ bin/rails server

Access http://localhost:3000 by web browser.

#### Run with Docker

    $ docker build -t fluent/fluentd-ui:1.0.0 .
    $ docker run --net=host fluent/fluentd-ui:1.0.0


### Run tests

You need [chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads) or chromiumdriver to run tests.

    $ npm install -g chromedriver
    Or,
    $ brew install chromedriver
    Or,
    $ sudo apt install chromium-driver

NOTE: `chromedriver` executable binary should be located under your `$PATH`.

After that you can run tests by following command:

    $ bundle exec rake test

### Building fluentd-ui.gem

    # Generate ChangeLog.md and increment version
    $ bin/rails release:prepare

    # Clear tmp/, public/assets and public/packs
    $ bin/rails tmp:clear assets:clobber && touch tmp/.gitkeep

    # Generate pre-compiled assets
    $ RAILS_ENV=production bin/rails assets:precompile

    # fluentd-ui X.X.X built to pkg/fluentd-ui-X.X.X.gem.
    $ RAILS_ENV=production bin/rails build

    # Push to rubygems.org
    $ bin/rails release