Merge pull request #6882 from offlinehacker/nixos/fluentd

Add fluentd package and module
This commit is contained in:
Jaka Hudoklin 2015-03-21 22:37:48 +01:00
commit ad10db7617
7 changed files with 286 additions and 0 deletions

View File

@ -161,6 +161,7 @@
./services/hardware/udisks2.nix ./services/hardware/udisks2.nix
./services/hardware/upower.nix ./services/hardware/upower.nix
./services/hardware/thermald.nix ./services/hardware/thermald.nix
./services/logging/fluentd.nix
./services/logging/klogd.nix ./services/logging/klogd.nix
./services/logging/logcheck.nix ./services/logging/logcheck.nix
./services/logging/logrotate.nix ./services/logging/logrotate.nix

View File

@ -0,0 +1,39 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.fluentd;
in {
###### interface
options = {
services.fluentd = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable fluentd.";
};
config = mkOption {
type = types.lines;
default = "";
description = "Fluentd config.";
};
};
};
###### implementation
config = mkIf cfg.enable {
systemd.services.fluentd = with pkgs; {
description = "Fluentd Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.fluentd}/bin/fluentd -c ${pkgs.writeText "fluentd.conf" cfg.config}";
};
};
};
}

View File

@ -0,0 +1,4 @@
source "https://rubygems.org"
gem 'fluentd'
gem 'fluent-plugin-elasticsearch'

View File

@ -0,0 +1,49 @@
GEM
remote: https://rubygems.org/
specs:
cool.io (1.3.0)
elasticsearch (1.0.8)
elasticsearch-api (= 1.0.7)
elasticsearch-transport (= 1.0.7)
elasticsearch-api (1.0.7)
multi_json
elasticsearch-transport (1.0.7)
faraday
multi_json
faraday (0.9.1)
multipart-post (>= 1.2, < 3)
fluent-plugin-elasticsearch (0.7.0)
elasticsearch
fluentd (>= 0.10.43)
patron (~> 0)
fluentd (0.12.6)
cool.io (>= 1.2.2, < 2.0.0)
http_parser.rb (>= 0.5.1, < 0.7.0)
json (>= 1.4.3)
msgpack (>= 0.5.11, < 0.6.0)
sigdump (~> 0.2.2)
string-scrub (>= 0.0.3)
tzinfo (>= 1.0.0)
tzinfo-data (>= 1.0.0)
yajl-ruby (~> 1.0)
http_parser.rb (0.6.0)
json (1.8.2)
msgpack (0.5.11)
multi_json (1.11.0)
multipart-post (2.0.0)
patron (0.4.20)
sigdump (0.2.2)
string-scrub (0.0.5)
thread_safe (0.3.5)
tzinfo (1.2.2)
thread_safe (~> 0.1)
tzinfo-data (1.2015.1)
tzinfo (>= 1.0.0)
yajl-ruby (1.2.1)
PLATFORMS
ruby
DEPENDENCIES
fluent-plugin-elasticsearch
fluentd

View File

@ -0,0 +1,20 @@
{ stdenv, lib, bundlerEnv, ruby, curl }:
bundlerEnv {
name = "fluentd-0.12.6";
inherit ruby;
gemfile = ./Gemfile;
lockfile = ./Gemfile.lock;
gemset = ./gemset.nix;
buildInputs = [ curl ];
meta = with lib; {
description = "Fluentd data collector.";
homepage = http://www.fluentd.org/;
license = with licenses; asl20;
maintainers = with maintainers; [ offline ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,171 @@
{
"cool.io" = {
version = "1.3.0";
source = {
type = "gem";
sha256 = "1s3x0a32gbr6sg4lb0yk5irh48z4260my6g5ssifyl54rh4b6lzh";
};
};
"elasticsearch" = {
version = "1.0.8";
source = {
type = "gem";
sha256 = "0kfiza9p98gchqgd0a64ryw77wgy42b7hhy89ba1s2jy2kcm3ahl";
};
dependencies = [
"elasticsearch-api"
"elasticsearch-transport"
];
};
"elasticsearch-api" = {
version = "1.0.7";
source = {
type = "gem";
sha256 = "0fb7pmzhfl48zxkbx3ayc61x1gv3qvvs4xcp4yf1rxflz1iw6ck9";
};
dependencies = [
"multi_json"
];
};
"elasticsearch-transport" = {
version = "1.0.7";
source = {
type = "gem";
sha256 = "0p5yzbvgpw84asfj8ifbqckw6qbssc6xrw086qfh58kxpfnin0zc";
};
dependencies = [
"faraday"
"multi_json"
];
};
"faraday" = {
version = "0.9.1";
source = {
type = "gem";
sha256 = "1h33znnfzxpscgpq28i9fcqijd61h61zgs3gabpdgqfa1043axsn";
};
dependencies = [
"multipart-post"
];
};
"fluent-plugin-elasticsearch" = {
version = "0.7.0";
source = {
type = "gem";
sha256 = "1jav4lqf9j3w014ksgl3zr05kg62lkc58xnhjjriqp3c1412vwpy";
};
dependencies = [
"elasticsearch"
"fluentd"
"patron"
];
};
"fluentd" = {
version = "0.12.6";
source = {
type = "gem";
sha256 = "04lrr133ci6m3j85cj2rhhjkw3b1r12fxcymk943lsdlrip0brr1";
};
dependencies = [
"cool.io"
"http_parser.rb"
"json"
"msgpack"
"sigdump"
"string-scrub"
"tzinfo"
"tzinfo-data"
"yajl-ruby"
];
};
"http_parser.rb" = {
version = "0.6.0";
source = {
type = "gem";
sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
};
};
"json" = {
version = "1.8.2";
source = {
type = "gem";
sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
};
};
"msgpack" = {
version = "0.5.11";
source = {
type = "gem";
sha256 = "1jmi0i3j8xfvidx6ivbcbdwpyf54r0d7dc4rrq1jbvhd1ffvr79w";
};
};
"multi_json" = {
version = "1.11.0";
source = {
type = "gem";
sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
};
};
"multipart-post" = {
version = "2.0.0";
source = {
type = "gem";
sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
};
};
"patron" = {
version = "0.4.20";
source = {
type = "gem";
sha256 = "0wdgjazzyllnajkzgdh55q60mlczq8h5jhwpzisrj2i8izrq45zb";
};
};
"sigdump" = {
version = "0.2.2";
source = {
type = "gem";
sha256 = "1h4d4vfg1g3wbbmqahmk7khzhswk5mjv4hwbs7bhmp808h8mz973";
};
};
"string-scrub" = {
version = "0.0.5";
source = {
type = "gem";
sha256 = "0fy4qby2az268qzmf00mb3p0hiqgshz9g6kvgl5vg76y90hl178g";
};
};
"thread_safe" = {
version = "0.3.5";
source = {
type = "gem";
sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
};
};
"tzinfo" = {
version = "1.2.2";
source = {
type = "gem";
sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
};
dependencies = [
"thread_safe"
];
};
"tzinfo-data" = {
version = "1.2015.1";
source = {
type = "gem";
sha256 = "1x6fa8ayd2kal397d5gdsdg0fjqynfqv1n9n0q702mq839dw593h";
};
dependencies = [
"tzinfo"
];
};
"yajl-ruby" = {
version = "1.2.1";
source = {
type = "gem";
sha256 = "0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf";
};
};
}

View File

@ -1313,6 +1313,8 @@ let
flpsed = callPackage ../applications/editors/flpsed { }; flpsed = callPackage ../applications/editors/flpsed { };
fluentd = callPackage ../tools/misc/fluentd { };
flvstreamer = callPackage ../tools/networking/flvstreamer { }; flvstreamer = callPackage ../tools/networking/flvstreamer { };
libbsd = callPackage ../development/libraries/libbsd { }; libbsd = callPackage ../development/libraries/libbsd { };