fluentd-ui
fluentd-ui is a browser-based fluentd and 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 | Changelog
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. 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 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