{"id":17569106,"url":"https://github.com/riywo/fluent-plugin-hash-forward","last_synced_at":"2026-03-03T15:02:16.376Z","repository":{"id":4586166,"uuid":"5728279","full_name":"riywo/fluent-plugin-hash-forward","owner":"riywo","description":null,"archived":false,"fork":false,"pushed_at":"2016-05-20T14:19:39.000Z","size":30,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-14T08:06:26.963Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/riywo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-08T12:36:52.000Z","updated_at":"2016-01-19T07:35:06.000Z","dependencies_parsed_at":"2022-09-13T18:50:26.077Z","dependency_job_id":null,"html_url":"https://github.com/riywo/fluent-plugin-hash-forward","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Ffluent-plugin-hash-forward","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Ffluent-plugin-hash-forward/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Ffluent-plugin-hash-forward/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Ffluent-plugin-hash-forward/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/riywo","download_url":"https://codeload.github.com/riywo/fluent-plugin-hash-forward/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251306660,"owners_count":21568309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-21T17:09:24.972Z","updated_at":"2026-03-03T15:02:11.340Z","avatar_url":"https://github.com/riywo.png","language":"Ruby","readme":"# fluent-plugin-hash-forward\n\nFluentd plugin to keep forwarding messages of a specific tag pattern to a specific node\n\n## Configuration\n\nExample:\n\n    \u003cmatch pattern\u003e\n      type hash_forward\n      flush_interval 1s\n    \n      \u003cserver\u003e\n        host 192.168.1.3\n        port 24224\n      \u003c/server\u003e\n      \u003cserver\u003e\n        host 192.168.1.4\n        port 24224\n      \u003c/server\u003e\n    \n      \u003csecondary\u003e\n        type file\n        path /var/log/fluent/forward-failed\n      \u003c/secondary\u003e\n    \u003c/match\u003e\n\n## Parameters\n\nBasically same with out\\_forward plugin. See [http://docs.fluentd.org/articles/out_forward](http://docs.fluentd.org/ja/articles/out_forward). \n\nFollowing parameters are additionally available:\n\n\n* keepalive (bool)\n\n    Keepalive connection. Default is `false`.\n\n* keepalive_time (time)\n\n    Keepalive expired time. Default is nil (which means to keep connection as long as possible).\n\n* heartbeat_type\n\n    The transport protocol to use for heartbeats. The default is “udp”, but you can select “tcp” as well.\n    Furthermore, in hash_forward, you can also select \"none\" to disable heartbeat. \n\n* hash\\_key\\_slice *min*..*max*\n\n    Use sliced `tag` as a hash key to determine a forwarding node. Default: use entire `tag`. \n\n    For example, assume tags of input messages are like\n\n        foo.bar.host1\n        foo.bar.host2\n\n    but, you want to forward these messages to the same node, configure like\n\n        hash_key_slice 0..-2\n\n    then, hash\\_key becomes as `foo.bar` which results in forwarding these messages to the same node.\n\n    FYI: This option behaves like `tag.split('.').slice(min..max)`.\n\n## ToDo\n\n* Consistent hashing\n\n   * Consistent hashing is useful on adding or removing nodes dynamically, but currently `out_hash_forward` does not support such a dynamical feature, so consistent hashing is just useless now. To effectively support consistent hashing, this plugin must support ways to add or remove nodes dynamically by preparing http api or reading nodes information from redis or memcached, etc. \n\n## ChangeLog\n\nSee [CHANGELOG.md](CHANGELOG.md) for details. \n\n## Copyright\n\n* Copyright\n  * Copyright (c) 2012- Ryosuke IWANAGA (riywo)\n  * Copyright (c) 2013- Naotoshi SEO (sonots)\n* License\n  * Apache License, Version 2.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friywo%2Ffluent-plugin-hash-forward","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friywo%2Ffluent-plugin-hash-forward","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friywo%2Ffluent-plugin-hash-forward/lists"}