OpenShiftにはConfigMapで設定変更できるfluentdが用意されているので、このブログ記事の内容は大抵の人は必要ないはずです。特定の新しいバージョンのfluentdが必須であるとか、あえて別にfluentd公式イメージをデプロイする理由がある人だけ読んでください。 OpenShiftの上でfluentd-docker-imageを動かすにはどうすればいいのか,みたいな質問が稀に来るので誰か記事かいて欲しい— SKSの申し子 (@repeatedly) 2018年4月19日 https://github.com/fluent/fluentd-kubernetes-daemonset と対応するリファレンスKubernetes Logging with Fluentd、リポジトリ上のfluentd-daemonset-elasticsearch-rbac.yaml見ると、Ser
うぎゃあ、これ今年の初エントリなのか。なんてこった。 で、FluentdがめでたくCNCF (Cloud Native Computing Foundation)に加わって初めてのCloudNativeConなので、Treasure DataのOSSチームで都合のつく人みんなで参加してきたというやつ。前夜祭的なところで同僚の Eduardo がKeynoteをやったり、Fluentd Salonという枠がつくられてFluentd関連の話をしたり。 自分はそれとは別にTalk proposalを出していて通っていたので、それを話しに行く、というのが個人的には最大の目的。 しゃべってきた セッションはカンファレンス2日目、全体でいちばん最後の時間枠。正直話すのが終わるまで気が抜けないからあんま好きじゃないんだけど、とりあえず、やるだけはやった。けっこう多い人が来てくれて席がぜんぶ埋まる(70人
米Linux Foundationは2016年11月8日(米国時間)、データ収集のオープンソースソフトウエア(OSS)「Fluentd」が「Cloud Native Computing Foundation(CNCF)」の管理するプロジェクトになったと発表した。Fluentdは古橋貞之氏(写真)が開発を始めたOSSで、現在は米Googleや米Microsoftのクラウドの中でも使われている。 Linux Foundation傘下のCNCFは、「Docker」コンテナを集中管理するOSS「Kubernetes」の開発を主導する団体。KubernetesはGoogleが開発したOSSだが、Googleは2015年7月にKubernetesの開発をCNCFに移行すると発表していた。CNCFは現在、Kubernetes用の運用管理ツールである「OpenTracing」や「Prometheus」の開
最近めっきり対外的なアウトプットが減っていたのは、ぜんぶこいつのコードを書きまくってたからです。すごい書いた。 Fluentd v0.14.0 has been released | Fluentd ということで出ました、Fluentd v0.14.0。だいぶいろいろ良くなってるはずだけど、そのあたりはこれからv0.14対応プラグインが増えてきたりすると分かってくるかなと思う。ユーザにとっても嬉しい変更が山盛りです。 で、まずそのことをアピールしなければならんということで、Fluentd meetupではがっつりとしゃべってきた。 Fluentd meetup 2016 Summer - dots. [ドッツ] Fluentd v0.14 Plugin API Details from SATOSHI TAGOMORI 元々45分の予定だったのに90分弱くらいしゃべってしまったらしい。すま
Fluentdのv0.14の開発バージョンであるv0.14.0.pre.1をリリースしました. これはテストして欲しい以下の二つの機能が実装されたからです. Windowsサポート イベントのナノ秒サポート インストール 開発版なので,普通にインストールは出来ません.--preをつけてください.注意点として,v0.14はruby 2.1以上を必要とします. 依存ライブラリのいくつかがWindows向けのbinary gemをリリースしてないので,Windows環境ではDevKitが必要になると思います.DevKitのインストールについてはfluentd for WindowsをRuby 2.2で動かすの記事を参照してください(時間があればパッチを投げたい). Windowsサポート nurseさんやokahashi117さんの尽力やパッチを投げてくれた方々のおかげで,Windowsで動くよ
6日目が少々反則的な内容となってしまいましたが、きにせず7日目行きたいと思います。今日は仕事からの帰りが遅かったので書き始めから日付を超えているというミラクル。もう、時間を気にせず書けます。 と、前置きはこれくらいにして本題に入りたいと思います。いままでのガッツリな感じ(?)とは異なり、時間の関係でサラッとしたネタです。参考にさせていただいたのはRHELやSystemdやDockerの説明では知らない人はいないであろう中井さんの下記サイトです。 enakai00.hatenablog.com ログ収集をする場合にはデファクトスタンダードとなっているであろうfluentdをCentOS7などのSystemdなディストリビューションで起動/停止の管理をしたい場合の設定方法です。といっても、ひとまず動かしてみたレベルなので、問題もあるかもしれません。 通常はtd-agentをRPMからインストー
イベントページ: Fluentd Meetup 2015 夏 - 2015/06/01(月) - dots. Fluentd Meetupに参加してきました。6月上旬なのにタイトルは夏?と思わないでもないですが、まあすでに暑いですしね……。 イベント中にざっと講演内容をメモしてたので、せっかくですしブログに貼っておきます。 イベント全体の感想 v0.12の機能について断片的にしか知らなかったので、@repeatedlyさんの講演でそのへんの説明を改めて聞けて良かったです。Fluentdについては出たばかりの頃に使ったせいか、「複雑なことをやろうとするとタグの付け替えが大変」という印象が強かったのですが、FilterとLabelの機能がある今なら、だいぶ楽に使えそうですね。 あと、IoT向けFluentdであるFluent-Bitについて、開発者のEduardo Silva氏による講演もあり
Docker は 1.6 から Logging Drivers というのが追加され、コンテナからのログというものをどのように扱うかをドライバとして差し替えできるようになったとのこと。 そして Docker 1.8 からは Fluentd logging driver が追加され、ログ自体を fluentd を通した状態で扱えるようになりました。ログに fluentd の tag が付与された状態になるので、fluentd 集約サーバへ転送することであとは自由に操作することができそうです。 Fluentd 集約サーバ Docker の Fluend logging driver によって転送される先となる Fluentd 集約サーバを用意します。今回はこの Fluentd サーバも Docker コンテナとして動作させることにします。 Docker Hub に Fluent コミュニティから
複数のクライアントから一つのサーバーにログを集める事をしていたのですが、hostnameを入れておかないと後で『どこの鯖のログだこれ?(^q^』となってしまうので。 なお、今回初めてfluentd(というかtd-agentを)触りましたw とりあえず、初心者らしく td-agentはバージョン 1.1.19を利用しています。 なお、この項はhostnameを入れる件とは関係ないので、hostnameを入れる部分を読みたい方は、ページ中段の「hostnameを入れる」の項を参照してください。 インストール等々、以下のサイトが分かりやすかったです。 fluentd(td-agent) の導入 td-agent? Fluentdは拡張しやすいようRubyで実装され、一部の性能に直結する部分はC言語で実装されています。 しかしライトユーザーにとってRubyのデーモンをインストールし運用することは難
ログのバックアップをfluentd経由でs3に転送するようにしたのですが、time_slice_format %Y%m%dにしてても、一日に複数ファイルが生成されていました。 こんな感じ 原因がよく分からなかったのでtwitterでつぶやいてみたら、@frsyukiが返答してくださいました! twitterでのやり取りはこちらにまとめました。 fluent-plugin-s3で、time_slice_format %Y%m%dにしてても、一日に複数ファイルがでてくる件解決策↓のように、buffer_chunk_limitを大きい値で設定すればOKでした。 原因原因は、buffer pluginで指定される、buffer_chunk_limitがデフォルトの8M(2012/11/27現在)だったためです。 chunkは一時的なデータの格納場所で、fluent-plugin-s3ではbuffe
最近ようやく仕事でガッツリFluentdとMongoDBを触るようになってちょっとハマったことが あったので誰かの役に立つかも知れないので書いておく。 Fluentd界隈は開発が活発なので、数ヶ月後にはこの記事の情報も恐らく古くなっているのでご注意ください。 結論 書いてたら長くなってしまったので先に要点というか結論を書いておく。 apache => fluentd => MongoDB とapacheのアクセスログをMongoDBに入れたときにcodeやsizeといった数値が文字列(string)として入っていた td-agent.confのformatを自作すると、時間以外のフィールドが文字列(string)として扱われる fluent-plugin-typecastを利用することでcodeやsizeといった特定のフィールドを、stringやintegerなどの任意のデータ型に変換可能
Fluentdはデータを流すのに非常に便利なツールでそこら中で使われている(個人調べ)。そのため、なんかいろんなところで設定を見るのであるが、タグに情報が付いていたりフィールドに情報がついていたりして、あれ、これどうなってるんだっけ感に襲われることがよくある。 このあたり自分でも混乱しがちなので、普段どのように考えているかだいたいまとまった気がしたところで書いておくことにした。 Fluentdのデータ構造 まずはFluentdのデータ構造を知っておいた方が良い。Fluentdの内部データはMessagePackで符号化されているが、Fluentdのデータ構造は単なるハッシュではなく、時刻(time)とタグ(tag)という属性を持っている。次のような感じだ。 レコード レコード(record)は入力されたデータそのものであり、tailプラグインであれば、tailした1行のデータに相当する。重
MessagePackフォーマット仕様のPull Request #209をマージし、MessagePackにTimestamp型を追加しました。 ※この記事の英語版は XXX にあります(翻訳中) Extension型の型コード -1 として定義されているため、後方互換性が維持されています。つまり、既にExtension型に対応しているデシリアライザであれば、Timestamp型を使用して作成されたデータを、Timestamp型に対応していない古いデシリアライズで読み出すことができます。 新しいTimestamp型には timestamp 32、timestamp 64、timestamp 96 の3つのフォーマットがあり、よく使う値をより少ないバイト数で保存できるようになっています。例えば、1970年〜2106年までの時刻で、秒までの精度しか持たない時刻であれば、合計6バイトで保存でき
Fluentdにおけるネットワークごしデータ転送プラグインといえば forward が組み込みであるし、通信路を暗号化したければ secure-forward がある。 しかしこれらFluentdのネットワーク転送プラグインは基本的に全て送信元から送信先に対してプッシュする形になっており、ネットワーク接続も送信元から送信先に対して行うことになっている。このため送信先のFluentdがNAT下にある場合やファイアウォールで保護された場所にある場合、もしくはダイヤルアップ接続……は、まあ今は無いだろうけど、例えば移動するデバイス上にある場合など、こういったときにはうまくデータの転送を行う構成がとれない。 なぜこういう状況、つまりプッシュ型で転送を行うプラグインばかりなのかというと、FluentdのBuffer pluginの仕組みによる。細かく設計上の話をあれこれしてもアレだし面倒くさいので省
前回の記事でJMXのメトリクスをfluentd経由で蓄積する方法を書きましたが、殆どの場合JMXのメトリクスは深い入れ子構造になっています。 $ curl -X POST -d '{"type":"read","mbean":"java.lang:type=Memory"}' http://localhost:8778/jolokia/ | python -mjson.tool { "request": { "mbean": "java.lang:type=Memory", "type": "read" }, "status": 200, "timestamp": 1389278295, "value": { "HeapMemoryUsage": { "committed": 133054464, "init": 16432320, "max": 518979584, "used": 67
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く