-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sigdump func to fluent-ctl #3680
Conversation
Signed-off-by: Daijiro Fukuda <[email protected]>
TODO - add test-codes - support winsvc - consider about supporting rpc - consider about supporting the next error which occurs without `/tmp` dir. (`Sigdump.dump` outputs to `/tmp/sigdump-{pid}.log` by default) error: `failed to dump: No such file or directory @ rb_sysopen - /tmp/sigdump-{pid}.log` Signed-off-by: Daijiro Fukuda <[email protected]>
This is still in draft status. I will continue to work on it. |
Signed-off-by: Daijiro Fukuda <[email protected]>
Signed-off-by: Daijiro Fukuda <[email protected]>
Signed-off-by: Daijiro Fukuda <[email protected]>
I have confirmed the following actions correctly working on Windows.
Powershell $ fluentd --reg-winsvc I
$ fluentd --reg-winsvc-fluentdopt "-v -c {conf-path} -o {log-path}"
$ Start-Service fluentdwinsvc
$ fluent-ctl dump fluentdwinsvc
$ Stop-Service fluentdwinsvc
$ fluentd --reg-winsvc u
TODO
|
Signed-off-by: Daijiro Fukuda <[email protected]>
A class definition in `test_in_object_space` was making Sigdump fail. This is because `ObjectSpace.each_object` iterates all classes defined. I have fixed this so that `FailObject.class` raises an error only in `test_in_object_space`. Signed-off-by: Daijiro Fukuda <[email protected]>
Signed-off-by: Daijiro Fukuda <[email protected]>
I found the problem with UNIX-like system. |
Signed-off-by: Daijiro Fukuda <[email protected]>
I finished the implementation and tests on Windows and Ubuntu but I found a problem with this specification. We can set However, this specified path is not be separated by each pid. I see two possible solutions.
|
I have tested on macOS too. |
I would like to ask for opinion on this point. |
To "%windir%/Temp/fluentd-sigdump-#{Process.pid}.log" by default. When 'SIGDUMP_PATH' environment variable is specified, add pid to the extension of the path in order to avoid a conflict of writing to the same file. Made no modifications for UNIX-like for this commit. As for UNIX-like, in order to add the same specification, need to add a trap of SIGCONT to the worker processes or to fix the Sigdump library. However, it loses backward compatibility for users using 'SIGDUMP_PATH' environment variable, so need to consider what to do. Signed-off-by: Daijiro Fukuda <[email protected]>
to describe its function well Signed-off-by: Daijiro Fukuda <[email protected]>
Shouldn't change SIGCONT behavior on UNIX-like for backward compatibility. The rpc dump command is a new function, so make it send SIGCONT to all fluentd processes. With `SIGDUMP_PATH` environment variable specified on UNIX-like, the rpc dump command will cause a writing conflict. This should be fixed by improving the Sigdump library so that we can specify a directory path. Signed-off-by: Daijiro Fukuda <[email protected]>
In order not to block the waiting thread. Signed-off-by: Daijiro Fukuda <[email protected]>
On my Windows envrionment,
73 ObjectSpace.each_object {|o|
74 c = o.class This test succeeds when I execute only this test. Also, with difficulty, the following line can be commented out so that the test succeeds.
@@ -347,7 +347,7 @@ class SupervisorTest < ::Test::Unit::TestCase
server.run_rpc_server
- mock(server).restart(true) { nil }
+ # mock(server).restart(true) { nil }
response = Net::HTTP.get(URI.parse("http://#{localhost}:24447/api/plugins.flushBuffers"))
server.stop_rpc_server |
Hmm, it's also occurred on CI: |
Maybe I should not use |
This test works fine on its own, but some other tests make it fail. Use mock to solve this problem. Signed-off-by: Daijiro Fukuda <[email protected]>
Completes the whole process except for the documentation. |
See also: fluent/fluentd#3680 Signed-off-by: Daijiro Fukuda <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/api/processes.dump
should be disabled by default to prevent dumping sensitive information.
If a user update Fluentd from old versions, it might be enabled unexpectedly.
There is no actual request from users, and it might introduce security risk. Signed-off-by: Takuro Ashie <[email protected]>
We ended up removing RPC dump function. See also: fluent/fluentd#3680 Signed-off-by: Daijiro Fukuda <[email protected]>
Thank you for the fix. |
See also: fluent/fluentd#3680 Signed-off-by: Daijiro Fukuda <[email protected]>
…10839) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [fluentd](https://www.fluentd.org/) ([source](https://github.com/fluent/fluentd)) | `'1.14.2'` -> `'1.15.3'` | [![age](https://developer.mend.io/api/mc/badges/age/rubygems/fluentd/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/fluentd/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/fluentd/'1.14.2'/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/fluentd/'1.14.2'/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2022-39379](https://github.com/fluent/fluentd/security/advisories/GHSA-fppq-mj76-fpj2) ### Impact A remote code execution (RCE) vulnerability in non-default configurations of Fluentd allows unauthenticated attackers to execute arbitrary code via specially crafted JSON payloads. Fluentd setups are only affected if the environment variable `FLUENT_OJ_OPTION_MODE` is explicitly set to `object`. Please note: The option FLUENT_OJ_OPTION_MODE was introduced in Fluentd version 1.13.2. Earlier versions of Fluentd are not affected by this vulnerability. ### Patches v1.15.3 ### Workarounds Do not use `FLUENT_OJ_OPTION_MODE=object`. ### References * GHSL-2022-067 --- ### Release Notes <details> <summary>fluent/fluentd (fluentd)</summary> ### [`v1.15.3`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1153---20221102) [Compare Source](https://github.com/fluent/fluentd/compare/v1.15.2...v1.15.3) ##### Bug Fix - Support glob for `!include` directive in YAML config format [https://github.com/fluent/fluentd/pull/3917](https://github.com/fluent/fluentd/pull/3917)3917 - Remove meaningless oj options [https://github.com/fluent/fluentd/pull/3929](https://github.com/fluent/fluentd/pull/3929)3929 - Fix log initializer to correctly create per-process files on Windows [https://github.com/fluent/fluentd/pull/3939](https://github.com/fluent/fluentd/pull/3939)3939 - out_file: Fix the multi-worker check with `<worker 0-N>` directive [https://github.com/fluent/fluentd/pull/3942](https://github.com/fluent/fluentd/pull/3942)3942 ##### Misc - Fix broken tests on Ruby 3.2 [https://github.com/fluent/fluentd/pull/3883](https://github.com/fluent/fluentd/pull/3883)3[https://github.com/fluent/fluentd/pull/3922](https://github.com/fluent/fluentd/pull/3922)ull/3922 ### [`v1.15.2`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1152---20220822) [Compare Source](https://github.com/fluent/fluentd/compare/v1.15.1...v1.15.2) ##### Enhancement - Add a new system configuration `enable_jit` [https://github.com/fluent/fluentd/pull/3857](https://github.com/fluent/fluentd/pull/3857)3857 ##### Bug Fix - out_file: Fix append mode with `--daemon` flag [https://github.com/fluent/fluentd/pull/3864](https://github.com/fluent/fluentd/pull/3864)3864 - child_process: Plug file descriptor leak [https://github.com/fluent/fluentd/pull/3844](https://github.com/fluent/fluentd/pull/3844)3844 ##### Misc - Drop win32-api gem to support Ruby 3.2 [https://github.com/fluent/fluentd/pull/3849](https://github.com/fluent/fluentd/pull/3849)3[https://github.com/fluent/fluentd/pull/3866](https://github.com/fluent/fluentd/pull/3866)ull/3866 ### [`v1.15.1`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1151---20220727) [Compare Source](https://github.com/fluent/fluentd/compare/v1.15.0...v1.15.1) ##### Bug Fix - Add support for concurrent append in out_file [https://github.com/fluent/fluentd/pull/3808](https://github.com/fluent/fluentd/pull/3808)3808 ##### Misc - in_tail: Show more information on skipping update_watcher [https://github.com/fluent/fluentd/pull/3829](https://github.com/fluent/fluentd/pull/3829)3829 ### [`v1.15.0`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1150---20220629) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.6...v1.15.0) ##### Enhancement - in_tail: Add log throttling in files based on group rules [https://github.com/fluent/fluentd/pull/3535](https://github.com/fluent/fluentd/pull/3535)3[https://github.com/fluent/fluentd/pull/3771](https://github.com/fluent/fluentd/pull/3771)ull/3771 - Add `dump` command to fluent-ctl [https://github.com/fluent/fluentd/pull/3680](https://github.com/fluent/fluentd/pull/3680)3680 - Handle YAML configuration format on configuration file [https://github.com/fluent/fluentd/pull/3712](https://github.com/fluent/fluentd/pull/3712)3712 - Add `restart_worker_interval` parameter in `<system>` directive to set interval to restart workers that has stopped for some reas[https://github.com/fluent/fluentd/pull/3768](https://github.com/fluent/fluentd/pull/3768)ull/3768 ##### Bug fixes - out_forward: Fix to update timeout of cached sockets [https://github.com/fluent/fluentd/pull/3711](https://github.com/fluent/fluentd/pull/3711)3711 - in_tail: Fix a possible crash on file rotation when `follow_inodes true` [https://github.com/fluent/fluentd/pull/3754](https://github.com/fluent/fluentd/pull/3754)3754 - output: Fix a possible crash of flush thread [https://github.com/fluent/fluentd/pull/3755](https://github.com/fluent/fluentd/pull/3755)3755 - in_tail: Fix crash bugs on Ruby 3.1 on Windows [https://github.com/fluent/fluentd/pull/3766](https://github.com/fluent/fluentd/pull/3766)3766 - in_tail: Fix a bug that in_tail cannot open non-ascii path on Windows [https://github.com/fluent/fluentd/pull/3774](https://github.com/fluent/fluentd/pull/3774)3774 - Fix a bug that fluentd doesn't release its own log file even after rotated by external to[https://github.com/fluent/fluentd/pull/3782](https://github.com/fluent/fluentd/pull/3782)ull/3782 ##### Misc - in_tail: Simplify TargetInfo related code [https://github.com/fluent/fluentd/pull/3489](https://github.com/fluent/fluentd/pull/3489)3489 - Fix a wrong issue number in CHANGELOG [https://github.com/fluent/fluentd/pull/3700](https://github.com/fluent/fluentd/pull/3700)3700 - server helper: Add comments to linger_timeout behavior about Windows [https://github.com/fluent/fluentd/pull/3701](https://github.com/fluent/fluentd/pull/3701)3701 - service_discovery: Fix typo [https://github.com/fluent/fluentd/pull/3724](https://github.com/fluent/fluentd/pull/3724)3724 - test: Fix unstable tests and warnings [https://github.com/fluent/fluentd/pull/3745](https://github.com/fluent/fluentd/pull/3745)3[https://github.com/fluent/fluentd/pull/3753](https://github.com/fluent/fluentd/pull/3753)u[https://github.com/fluent/fluentd/pull/3767](https://github.com/fluent/fluentd/pull/3767)t[https://github.com/fluent/fluentd/pull/3783](https://github.com/fluent/fluentd/pull/3783)l[https://github.com/fluent/fluentd/pull/3784](https://github.com/fluent/fluentd/pull/3784)n[https://github.com/fluent/fluentd/pull/3785](https://github.com/fluent/fluentd/pull/3785)f[https://github.com/fluent/fluentd/pull/3787](https://github.com/fluent/fluentd/pull/3787)com/fluent/fluentd/pull/3787 ### [`v1.14.6`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1146---20220331) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.5...v1.14.6) ##### Enhancement - Enable server plugins to specify socket-option `SO_LINGER` [https://github.com/fluent/fluentd/pull/3644](https://github.com/fluent/fluentd/pull/3644)3644 - Add `--umask` command line parameter [https://github.com/fluent/fluentd/pull/3671](https://github.com/fluent/fluentd/pull/3671)3[https://github.com/fluent/fluentd/pull/3679](https://github.com/fluent/fluentd/pull/3679)ull/3679 ##### Bug fixes - Fix metric name typo [https://github.com/fluent/fluentd/pull/3630](https://github.com/fluent/fluentd/pull/3630)3[https://github.com/fluent/fluentd/pull/3673](https://github.com/fluent/fluentd/pull/3673)ull/3673 - Apply modifications in pipeline to the records being passed to `@ERROR` label [https://github.com/fluent/fluentd/pull/3631](https://github.com/fluent/fluentd/pull/3631)3631 - Fix wrong calculation of retry interval [https://github.com/fluent/fluentd/pull/3640](https://github.com/fluent/fluentd/pull/3640)3[https://github.com/fluent/fluentd/pull/3649](https://github.com/fluent/fluentd/pull/3649)u[https://github.com/fluent/fluentd/pull/3685](https://github.com/fluent/fluentd/pull/3685)t[https://github.com/fluent/fluentd/pull/3686](https://github.com/fluent/fluentd/pull/3686)luentd/pull/3686 - Support IPv6 address for `rpc_endpoint` in `system` config [https://github.com/fluent/fluentd/pull/3641](https://github.com/fluent/fluentd/pull/3641)3641 ##### Misc - CI: Support Ruby 3.1 except Windows [https://github.com/fluent/fluentd/pull/3619](https://github.com/fluent/fluentd/pull/3619)3619 - Switch to GitHub Discussions [https://github.com/fluent/fluentd/pull/3654](https://github.com/fluent/fluentd/pull/3654)3654 - Fix CHANGELOG.md heading styles [https://github.com/fluent/fluentd/pull/3648](https://github.com/fluent/fluentd/pull/3648)3648 - Declare `null_value_pattern` as `regexp` [https://github.com/fluent/fluentd/pull/3650](https://github.com/fluent/fluentd/pull/3650)3650 ### [`v1.14.5`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1145---20220209) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.4...v1.14.5) ##### Enhancement - Add support for "application/x-ndjson" to `in_http` [https://github.com/fluent/fluentd/pull/3616](https://github.com/fluent/fluentd/pull/3616)3616 - Add support for ucrt binary for Windows [https://github.com/fluent/fluentd/pull/3613](https://github.com/fluent/fluentd/pull/3613)3613 ##### Bug fixes - Don't retry when `retry_max_times == 0` [https://github.com/fluent/fluentd/pull/3608](https://github.com/fluent/fluentd/pull/3608)3608 - Fix hang-up issue during TLS handshake in `out_forward` [https://github.com/fluent/fluentd/pull/3601](https://github.com/fluent/fluentd/pull/3601)3601 - Bump up required ServerEngine to v2.2.5 [https://github.com/fluent/fluentd/pull/3599](https://github.com/fluent/fluentd/pull/3599)3599 - Fix "invalid byte sequence is replaced" warning on Kubernetes [https://github.com/fluent/fluentd/pull/3596](https://github.com/fluent/fluentd/pull/3596)3596 - Fix "ArgumentError: unknown keyword: :logger" on Windows with Ruby 3.1 [https://github.com/fluent/fluentd/pull/3592](https://github.com/fluent/fluentd/pull/3592)3592 ### [`v1.14.4`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1144---20220106) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.3...v1.14.4) ##### Enhancement - `in_tail`: Add option to skip long lines (`max_line_size`) [https://github.com/fluent/fluentd/pull/3565](https://github.com/fluent/fluentd/pull/3565)3565 ##### Bug fix - Incorrect BufferChunkOverflowError when each event size is < `chunk_limit_size` [https://github.com/fluent/fluentd/pull/3560](https://github.com/fluent/fluentd/pull/3560)3560 - On macOS with Ruby 2.7/3.0, `out_file` fails to write events if `append` is true. [https://github.com/fluent/fluentd/pull/3579](https://github.com/fluent/fluentd/pull/3579)3579 - test: Fix unstable test cases [https://github.com/fluent/fluentd/pull/3574](https://github.com/fluent/fluentd/pull/3574)3[https://github.com/fluent/fluentd/pull/3577](https://github.com/fluent/fluentd/pull/3577)ull/3577 ### [`v1.14.3`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1143---20211126) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.2...v1.14.3) ##### Enhancement - Changed to accept `http_parser.rb` 0.8.0. `http_parser.rb` 0.8.0 is ready for Ractor. [https://github.com/fluent/fluentd/pull/3544](https://github.com/fluent/fluentd/pull/3544)3544 ##### Bug fix - in_tail: Fixed a bug that no new logs are read when `enable_stat_watcher true` and `enable_watch_timer false` is set. [https://github.com/fluent/fluentd/pull/3541](https://github.com/fluent/fluentd/pull/3541)3541 - in_tail: Fixed a bug that the beginning and initial lines are lost after startup when `read_from_head false` and path includes wildcard '\*'.[https://github.com/fluent/fluentd/pull/3542](https://github.com/fluent/fluentd/pull/3542)/3542 - Fixed a bug that processing messages were lost when BufferChunkOverflowError was thrown even though only a specific message size exceeds chunk_limi[https://github.com/fluent/fluentd/pull/3553](https://github.com/fluent/fluentd/pull/3553)t[https://github.com/fluent/fluentd/pull/3562](https://github.com/fluent/fluentd/pull/3562)luentd/pull/3562 ##### Misc - Bump up required version of `win32-service` gem. newer version is required to implement additional `fluent-ctl` commands. [https://github.com/fluent/fluentd/pull/3556](https://github.com/fluent/fluentd/pull/3556)3556 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/grafana/loki). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44LjEiLCJ1cGRhdGVkSW5WZXIiOiIzNy44LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…rafana#10839) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [fluentd](https://www.fluentd.org/) ([source](https://github.com/fluent/fluentd)) | `'1.14.2'` -> `'1.15.3'` | [![age](https://developer.mend.io/api/mc/badges/age/rubygems/fluentd/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/fluentd/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/fluentd/'1.14.2'/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/fluentd/'1.14.2'/1.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2022-39379](https://github.com/fluent/fluentd/security/advisories/GHSA-fppq-mj76-fpj2) ### Impact A remote code execution (RCE) vulnerability in non-default configurations of Fluentd allows unauthenticated attackers to execute arbitrary code via specially crafted JSON payloads. Fluentd setups are only affected if the environment variable `FLUENT_OJ_OPTION_MODE` is explicitly set to `object`. Please note: The option FLUENT_OJ_OPTION_MODE was introduced in Fluentd version 1.13.2. Earlier versions of Fluentd are not affected by this vulnerability. ### Patches v1.15.3 ### Workarounds Do not use `FLUENT_OJ_OPTION_MODE=object`. ### References * GHSL-2022-067 --- ### Release Notes <details> <summary>fluent/fluentd (fluentd)</summary> ### [`v1.15.3`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1153---20221102) [Compare Source](https://github.com/fluent/fluentd/compare/v1.15.2...v1.15.3) ##### Bug Fix - Support glob for `!include` directive in YAML config format [https://github.com/fluent/fluentd/pull/3917](https://github.com/fluent/fluentd/pull/3917)3917 - Remove meaningless oj options [https://github.com/fluent/fluentd/pull/3929](https://github.com/fluent/fluentd/pull/3929)3929 - Fix log initializer to correctly create per-process files on Windows [https://github.com/fluent/fluentd/pull/3939](https://github.com/fluent/fluentd/pull/3939)3939 - out_file: Fix the multi-worker check with `<worker 0-N>` directive [https://github.com/fluent/fluentd/pull/3942](https://github.com/fluent/fluentd/pull/3942)3942 ##### Misc - Fix broken tests on Ruby 3.2 [https://github.com/fluent/fluentd/pull/3883](https://github.com/fluent/fluentd/pull/3883)3[https://github.com/fluent/fluentd/pull/3922](https://github.com/fluent/fluentd/pull/3922)ull/3922 ### [`v1.15.2`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1152---20220822) [Compare Source](https://github.com/fluent/fluentd/compare/v1.15.1...v1.15.2) ##### Enhancement - Add a new system configuration `enable_jit` [https://github.com/fluent/fluentd/pull/3857](https://github.com/fluent/fluentd/pull/3857)3857 ##### Bug Fix - out_file: Fix append mode with `--daemon` flag [https://github.com/fluent/fluentd/pull/3864](https://github.com/fluent/fluentd/pull/3864)3864 - child_process: Plug file descriptor leak [https://github.com/fluent/fluentd/pull/3844](https://github.com/fluent/fluentd/pull/3844)3844 ##### Misc - Drop win32-api gem to support Ruby 3.2 [https://github.com/fluent/fluentd/pull/3849](https://github.com/fluent/fluentd/pull/3849)3[https://github.com/fluent/fluentd/pull/3866](https://github.com/fluent/fluentd/pull/3866)ull/3866 ### [`v1.15.1`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1151---20220727) [Compare Source](https://github.com/fluent/fluentd/compare/v1.15.0...v1.15.1) ##### Bug Fix - Add support for concurrent append in out_file [https://github.com/fluent/fluentd/pull/3808](https://github.com/fluent/fluentd/pull/3808)3808 ##### Misc - in_tail: Show more information on skipping update_watcher [https://github.com/fluent/fluentd/pull/3829](https://github.com/fluent/fluentd/pull/3829)3829 ### [`v1.15.0`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1150---20220629) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.6...v1.15.0) ##### Enhancement - in_tail: Add log throttling in files based on group rules [https://github.com/fluent/fluentd/pull/3535](https://github.com/fluent/fluentd/pull/3535)3[https://github.com/fluent/fluentd/pull/3771](https://github.com/fluent/fluentd/pull/3771)ull/3771 - Add `dump` command to fluent-ctl [https://github.com/fluent/fluentd/pull/3680](https://github.com/fluent/fluentd/pull/3680)3680 - Handle YAML configuration format on configuration file [https://github.com/fluent/fluentd/pull/3712](https://github.com/fluent/fluentd/pull/3712)3712 - Add `restart_worker_interval` parameter in `<system>` directive to set interval to restart workers that has stopped for some reas[https://github.com/fluent/fluentd/pull/3768](https://github.com/fluent/fluentd/pull/3768)ull/3768 ##### Bug fixes - out_forward: Fix to update timeout of cached sockets [https://github.com/fluent/fluentd/pull/3711](https://github.com/fluent/fluentd/pull/3711)3711 - in_tail: Fix a possible crash on file rotation when `follow_inodes true` [https://github.com/fluent/fluentd/pull/3754](https://github.com/fluent/fluentd/pull/3754)3754 - output: Fix a possible crash of flush thread [https://github.com/fluent/fluentd/pull/3755](https://github.com/fluent/fluentd/pull/3755)3755 - in_tail: Fix crash bugs on Ruby 3.1 on Windows [https://github.com/fluent/fluentd/pull/3766](https://github.com/fluent/fluentd/pull/3766)3766 - in_tail: Fix a bug that in_tail cannot open non-ascii path on Windows [https://github.com/fluent/fluentd/pull/3774](https://github.com/fluent/fluentd/pull/3774)3774 - Fix a bug that fluentd doesn't release its own log file even after rotated by external to[https://github.com/fluent/fluentd/pull/3782](https://github.com/fluent/fluentd/pull/3782)ull/3782 ##### Misc - in_tail: Simplify TargetInfo related code [https://github.com/fluent/fluentd/pull/3489](https://github.com/fluent/fluentd/pull/3489)3489 - Fix a wrong issue number in CHANGELOG [https://github.com/fluent/fluentd/pull/3700](https://github.com/fluent/fluentd/pull/3700)3700 - server helper: Add comments to linger_timeout behavior about Windows [https://github.com/fluent/fluentd/pull/3701](https://github.com/fluent/fluentd/pull/3701)3701 - service_discovery: Fix typo [https://github.com/fluent/fluentd/pull/3724](https://github.com/fluent/fluentd/pull/3724)3724 - test: Fix unstable tests and warnings [https://github.com/fluent/fluentd/pull/3745](https://github.com/fluent/fluentd/pull/3745)3[https://github.com/fluent/fluentd/pull/3753](https://github.com/fluent/fluentd/pull/3753)u[https://github.com/fluent/fluentd/pull/3767](https://github.com/fluent/fluentd/pull/3767)t[https://github.com/fluent/fluentd/pull/3783](https://github.com/fluent/fluentd/pull/3783)l[https://github.com/fluent/fluentd/pull/3784](https://github.com/fluent/fluentd/pull/3784)n[https://github.com/fluent/fluentd/pull/3785](https://github.com/fluent/fluentd/pull/3785)f[https://github.com/fluent/fluentd/pull/3787](https://github.com/fluent/fluentd/pull/3787)com/fluent/fluentd/pull/3787 ### [`v1.14.6`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1146---20220331) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.5...v1.14.6) ##### Enhancement - Enable server plugins to specify socket-option `SO_LINGER` [https://github.com/fluent/fluentd/pull/3644](https://github.com/fluent/fluentd/pull/3644)3644 - Add `--umask` command line parameter [https://github.com/fluent/fluentd/pull/3671](https://github.com/fluent/fluentd/pull/3671)3[https://github.com/fluent/fluentd/pull/3679](https://github.com/fluent/fluentd/pull/3679)ull/3679 ##### Bug fixes - Fix metric name typo [https://github.com/fluent/fluentd/pull/3630](https://github.com/fluent/fluentd/pull/3630)3[https://github.com/fluent/fluentd/pull/3673](https://github.com/fluent/fluentd/pull/3673)ull/3673 - Apply modifications in pipeline to the records being passed to `@ERROR` label [https://github.com/fluent/fluentd/pull/3631](https://github.com/fluent/fluentd/pull/3631)3631 - Fix wrong calculation of retry interval [https://github.com/fluent/fluentd/pull/3640](https://github.com/fluent/fluentd/pull/3640)3[https://github.com/fluent/fluentd/pull/3649](https://github.com/fluent/fluentd/pull/3649)u[https://github.com/fluent/fluentd/pull/3685](https://github.com/fluent/fluentd/pull/3685)t[https://github.com/fluent/fluentd/pull/3686](https://github.com/fluent/fluentd/pull/3686)luentd/pull/3686 - Support IPv6 address for `rpc_endpoint` in `system` config [https://github.com/fluent/fluentd/pull/3641](https://github.com/fluent/fluentd/pull/3641)3641 ##### Misc - CI: Support Ruby 3.1 except Windows [https://github.com/fluent/fluentd/pull/3619](https://github.com/fluent/fluentd/pull/3619)3619 - Switch to GitHub Discussions [https://github.com/fluent/fluentd/pull/3654](https://github.com/fluent/fluentd/pull/3654)3654 - Fix CHANGELOG.md heading styles [https://github.com/fluent/fluentd/pull/3648](https://github.com/fluent/fluentd/pull/3648)3648 - Declare `null_value_pattern` as `regexp` [https://github.com/fluent/fluentd/pull/3650](https://github.com/fluent/fluentd/pull/3650)3650 ### [`v1.14.5`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1145---20220209) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.4...v1.14.5) ##### Enhancement - Add support for "application/x-ndjson" to `in_http` [https://github.com/fluent/fluentd/pull/3616](https://github.com/fluent/fluentd/pull/3616)3616 - Add support for ucrt binary for Windows [https://github.com/fluent/fluentd/pull/3613](https://github.com/fluent/fluentd/pull/3613)3613 ##### Bug fixes - Don't retry when `retry_max_times == 0` [https://github.com/fluent/fluentd/pull/3608](https://github.com/fluent/fluentd/pull/3608)3608 - Fix hang-up issue during TLS handshake in `out_forward` [https://github.com/fluent/fluentd/pull/3601](https://github.com/fluent/fluentd/pull/3601)3601 - Bump up required ServerEngine to v2.2.5 [https://github.com/fluent/fluentd/pull/3599](https://github.com/fluent/fluentd/pull/3599)3599 - Fix "invalid byte sequence is replaced" warning on Kubernetes [https://github.com/fluent/fluentd/pull/3596](https://github.com/fluent/fluentd/pull/3596)3596 - Fix "ArgumentError: unknown keyword: :logger" on Windows with Ruby 3.1 [https://github.com/fluent/fluentd/pull/3592](https://github.com/fluent/fluentd/pull/3592)3592 ### [`v1.14.4`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1144---20220106) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.3...v1.14.4) ##### Enhancement - `in_tail`: Add option to skip long lines (`max_line_size`) [https://github.com/fluent/fluentd/pull/3565](https://github.com/fluent/fluentd/pull/3565)3565 ##### Bug fix - Incorrect BufferChunkOverflowError when each event size is < `chunk_limit_size` [https://github.com/fluent/fluentd/pull/3560](https://github.com/fluent/fluentd/pull/3560)3560 - On macOS with Ruby 2.7/3.0, `out_file` fails to write events if `append` is true. [https://github.com/fluent/fluentd/pull/3579](https://github.com/fluent/fluentd/pull/3579)3579 - test: Fix unstable test cases [https://github.com/fluent/fluentd/pull/3574](https://github.com/fluent/fluentd/pull/3574)3[https://github.com/fluent/fluentd/pull/3577](https://github.com/fluent/fluentd/pull/3577)ull/3577 ### [`v1.14.3`](https://github.com/fluent/fluentd/blob/HEAD/CHANGELOG.md#Release-v1143---20211126) [Compare Source](https://github.com/fluent/fluentd/compare/v1.14.2...v1.14.3) ##### Enhancement - Changed to accept `http_parser.rb` 0.8.0. `http_parser.rb` 0.8.0 is ready for Ractor. [https://github.com/fluent/fluentd/pull/3544](https://github.com/fluent/fluentd/pull/3544)3544 ##### Bug fix - in_tail: Fixed a bug that no new logs are read when `enable_stat_watcher true` and `enable_watch_timer false` is set. [https://github.com/fluent/fluentd/pull/3541](https://github.com/fluent/fluentd/pull/3541)3541 - in_tail: Fixed a bug that the beginning and initial lines are lost after startup when `read_from_head false` and path includes wildcard '\*'.[https://github.com/fluent/fluentd/pull/3542](https://github.com/fluent/fluentd/pull/3542)/3542 - Fixed a bug that processing messages were lost when BufferChunkOverflowError was thrown even though only a specific message size exceeds chunk_limi[https://github.com/fluent/fluentd/pull/3553](https://github.com/fluent/fluentd/pull/3553)t[https://github.com/fluent/fluentd/pull/3562](https://github.com/fluent/fluentd/pull/3562)luentd/pull/3562 ##### Misc - Bump up required version of `win32-service` gem. newer version is required to implement additional `fluent-ctl` commands. [https://github.com/fluent/fluentd/pull/3556](https://github.com/fluent/fluentd/pull/3556)3556 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/grafana/loki). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44LjEiLCJ1cGRhdGVkSW5WZXIiOiIzNy44LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Which issue(s) this PR fixes:
Fixes #3600
What this PR does / why we need it:
Currently, Sigdump is available by sending the CONT signal, without Windows.
The main purpose of this PR is to make this function available for Windows too.
To do so, add the following features to
fluent-ctl
and rpc.We can use the following methods to use Sigdump.
$ fluent-ctl dump {pid or svcname}
http request to Fluentd:/api/processes.dump
Windows
C:\\Windows\\Temp
.SIGDUMP_PATH
environment variable to change the path.Examples of dump files on Windows.
Examples of specifying
SIGDUMP_PATH
by powershell on Windows.UNIX-like
command:
$ fluent-ctl dump {pid}
http request to Fluentd:/api/processes.dump
This is the same as Windows and outputs all processes' dump-files.However, we cannot useSIGDUMP_PATH
to specify the path for this rpc command.Since each process-id is not added in this case and it causes a writing conflict.We need to fix Sigdump library.Docs Changes:
fluent/fluentd-docs-gitbook#397
Release Note:
TODO