ククログ
サポート事例紹介: nginxの最大接続数とreuseport
こんにちは。データ収集ツールFluentdのメンテナーの福田です。
今回の記事では、有名なWebサーバーアプリケーションであるnginxの最大接続数のチューニングについて調査した事例を紹介します。
最大接続数をチューニングするにあたり、reuseport設定とファイルディスクリプター数上限(worker_rlimit_nofile)を考慮する必要がある、という点が重要です。
この調査はクリアコードのFluentd法人様向けサポートサービスの一貫で実施したもので、 Fluentdとセットで周辺のフリーソフトウェアのサポートを実施した事例となっています。
nginxなどのwebサーバーの性能チューニングや、クリアコードの法人様向けサポートサービスに興味のある方は、ぜひ本記事をご覧ください。
2025年、fat gemをやめる
fat gemを簡単に作れるようにするgemであるrake-compilerをメンテナンスしている須藤です。2019年にもfat gemをやめる話をしていましたが、5-6年経ってもまだfat gemが使われているので、この5-6年でのアップデートを紹介します。
GitHub Actions上のUbuntuでAlmaLinuxの仮想マシンを動かすときの注意点
GitHub ProjectsにOrganizationを横断してIssueを集約し、トラッキングしやすくする方法
GitHubを利用して様々なプロジェクトに関わっている場合、関連するissueを一覧で確認できると便利な場合があります。 Notificationsのフィルタを活用すればある程度一覧性を担保できますが、その結果を複数人で共有、加工等したい場合には不向きです。 GitHub ProjectsではOrganization配下に作成されたリポジトリのissueを任意で追加できるので、トリアージが必要なissueを登録しておくと一覧できて有用です。
クリアコードではFluentdの開発にも深く関わっていることから、Fluentdのサポートサービスを提供しています。 Fluentdにはプラグインのエコシステムがありますが、関連するリポジトリはあちこちに分散しています。 それらのリポジトリで新規に起票されたissueをGitHub Projectsで一覧できると有用なのですが、そのようなしくみは整えられていませんでした。
そこで、GitHub ProjectsにOrganizationを横断して既存のissueを集約し、Fluentd Kanbanとしてトラッキングしやすくした方法について紹介します。
Fluentdでレコードを分割するプラグインの紹介
クロスプラットフォームで動作し、オープンソースであるデータ収集ソフトウェアとしてFluentdがあります。 Fluentdはさまざまな用途にあわせてプラグインにより機能を拡張できます。 多くのプラグインが開発されているのは、要件を満たすべく新規にプラグインが開発される事例があるためです。
Fluentdで収集したログは、Fluentd内部ではイベントという形で処理されます。 イベントはタグと日時、レコードから構成され、収集されたデータはレコードに詰め込まれます。
発生したログをアーカイブ目的のため手を加えずになんらかの外部サービスに保存するだけということもありますが、 レコードに詰め込まれたデータの加工が必要となる場合が多々あります。
Fluentdでは非常に多くのプラグインが開発されてきているので、レコードを分割するという目的だけでも専用のものがいくつかあります。 今回はそのようなプラグインの中から、Fluentdサポートの一環として、お客様の要望に応じて新規でプラグインを開発した事例を紹介します。
RubyのMemoryViewでsumを高速化
RubyとApache Arrowの開発に参加している須藤です。RubyのMemoryViewの使い方がわからないという話を聞いてsumをするサンプルを作ったので紹介します。
Fluentd: Inputプラグインをゼロダウンタイム・リスタート機能に対応させる方法
こんにちは。Fluentdのメンテナーの福田です。
2024年12月14日にリリースした Fluent Package v5.2.0 では、ゼロダウンタイム・リスタートおよびアップデートの機能を追加しました。
この機能では、in_udp
, in_tcp
, in_syslog
, の3種のInputプラグインの動作を止めずに、リスタートやアップデートを行うことができます。
本記事では、Fluentdのプラグイン開発者向けに、その他のInputプラグインをこの機能に対応させる方法について紹介します。
Fluent Package v5.2.0 リリース - ゼロダウンタイム・アップデート
こんにちは。Fluentdのメンテナーの福田です。
2024年12月14日に Fluent Package v5.2.0 をリリースしました。
本リリースでは、ゼロダウンタイム・アップデート機能を追加しました。 これによって、今後のバージョンではリスタートやアップデートをゼロダウンタイムで実行できるようになります。
この記事では、メンテナーの観点から Fluentd の最新パッケージの動向を詳しく解説します。
git push origin mainの意味をずっと勘違いしていた話
こんにちは。Gitはコマンド操作とクライアントアプリ操作を使い分けるのが好きな福田です。
突然ですが問題です。 このGitのよくあるコマンドラインを見てください。
git push origin main
このmain
って、どのmain
だと思いますか?
...答えは、ローカルリポジトリーのmain
です。
え、当たり前ですかね...?
なんと私は10年以上にわたって、これがorigin
のmain
のことだと勘違いしながら使い続けてきました。
え、結果的に同じことじゃん、って? まあそうなんですが、この勘違いが見事にpush誤爆を生みまして、真相を知った私はまあ大きな衝撃を受けたわけです。
この記事では、私の勘違いポイントと、その勘違いが招いたpush誤爆を紹介します。