ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ショッピング担当の吉野です。 今回はタイトルの通り、headコマンドとtailコマンドのソースコードを読んでいきたいと思います。 ■はじめに 皆さんご存じの通り、headコマンドはファイルの先頭からn行(バイト)を出力し、 tailコマンドはファイルの末尾からn行(バイト)を出力するコマンドです。 ほかにもパイプの入力に使ったり、[tail -f]でログファイルの出力監視に使ったりと、 UNIXを使う上では欠かせないコマンドと言えるでしょう。 headとtailは見た目の動作は似ているようですが、ソースコードの中は結構違います。 さっそく見ていきましょう。 <headのソースコード> http://www.
はじめに td-agentのin_tailプラグインを使うと 指定したファイルをtail-fしてるように読みこんでからごにょごにょしてくれるわけですが、sourceディレクティブに指定するpos_fileの挙動について確認してみました in_tailプラグインとは tail インプットプラグインは、Fluentdがイベントログをテキストファイルの末尾から読み取れるようにします。その読み取り方は tail -F コマンドによく似ています。 引用→http://documents.mazgi.com/fluentd/doc/plugin.html#tail 公式→http://docs.fluentd.org/ja/articles/in_tail 補足 そんなにテクニカルでも有用でもないカモですがこちらにメモまとめをメモっておきました →td-agent(fluentd)を本番サ―ビスで小さ
本記事について Fluentdは機能としてはシンプルですが、 高負荷環境で安定的に運用するためにはある程度の知識が求められます。 そこで、本記事ではそれなりにログ流量の高い環境下で私が考慮した観点をまとめました。 本記事では、KubernetesでFluentdの信頼性を担保するための3つの観点に加え、 「高負荷時の安定運用」に焦点を当て、 負荷分散 適切なモニタリング トラブルシューティングとチューニング の3つの観点について整理しています。 前提となるアーキテクチャ アーキテクチャとしては実際に私が構築した図の構成を前提とします。 アーキテクチャの特徴 1つのKubernetesクラスタに、FluentdがForwarderとAggregatorという2つのロールで存在しています。 Forwarder DaemonSetでデプロイされる 各コンテナの出力ログをあつめ、Aggregato
タイトル通り Fluentd の Docker イメージを動かした際のメモです。 背景 Fluentd を使って動作確認を行う際は CentOS などの Linux に td-agent を入れていました。ただ、毎回環境構築のたびに td-agent をインストールするのも...と思い、Fluentd の Docker イメージが用意されていたので動かしてみました。 fluent/fluentd-docker-image: Docker image for Fluentd 環境情報は以下のとおりです OS: OS X 10.11.6 (El Capitan) Docker: 1.11.2 Docker 実行環境: Boot2Docker 最近、Docker for Mac がリリースされたようですが、ここでは手を抜いて Boot2Docker 上の Docker で動かしてみます。 Doc
fluentd / td-agent とは fluentd とは fluentdはruby gemによって提供されるログ転送/収集の仕組みです。rsyslogdでは実現できないような大量ログの収集/分析を行う目的で使用すると良いと思います。 td-agent とは td-agentとはfluentdのラッパープログラムです。ruby, gem等のプログラムや起動スクリプトなどの便利なファイルをインストールコマンドひとつで提供してくれます。td-agentは環境変数PATHには存在しないディレクトリにrubyやgemをインストールしてくれるので、システム全体への影響を与えずにfluentdが使えるメリットがあります。 fluentdのデメリット(弱点) fluentdは万能ではなく、業務要件によってはクラシックなrsyslogdを使用する方が良い場面も存在します。以下にfluentdの弱点を
ログ収集ツールとしてはFluentd、Logstash、Flume等が挙げられる。ファイルやメール、syslog、DB、センサからログデータを読込み、必要なログをフィルタして、jsonやxmlに整形してアウトプットする機能を持つ。 メリット プラグインが300+公開されており、様々な形式のデータをインプット、アウトプットできる 単体でログのフィルタ、バッファ、ルーティングができる 2000+を超える企業に利用されている 日本語の情報が多い デメリット 単体で動作するためfluentdが落ちたらバッファしているログが消える 想定外のログが入力されると大量のスタックトレースが吐かれる 引用:http://changineer.info/server/logging/fluentd-td-agent.html#fluentd-2 Logstash メリット フィルタを簡単にカスタマイズできる F
概要 dockerを本番運用する際にログの扱いに悩んだので情報をまとめてみました。 環境 docker v1.12.1 コンテナのログは何処に渡すべきか 主に以下の3通りになると思います。 コンテナ内に保存 volume先に指定してに永続保存 log driverを使って転送 a. コンテナ内に保存 何も設定しないとコンテナに保持されます。 メリット 何も設定しなくていい デメリット 当然コンテナが破棄された場合はログファイルがなくなります。 b. volume先に指定してに永続保存 volumeを用いてホストに永続的に保存します。 参照が切れないように-v <host_path>:<container_path>とするか、--volumes-from <container_name>でデータ用コンテナに保持してください。 メリット コンテナを破棄したとしてもvolumeでそこを指定すれば
米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 を触ることが出てきて入門したんですが、最初のうちはトラブルが起きた時に何が起きているのか、どう対処したら良いのかがさっぱりわからなかったので、「Fluentd ってログの収集とかに使われるやつでしょ?」程度の知識しかなかった過去の自分に向けて「とりあえずこれぐらいは知っておけ!」と言いたい内容をまとめてみました。 トラブルが起きた時にどの処理で問題が起きているのか素早くコードを追うことができて、データの消失を最小限に抑えつつ適切に対処できるようになることを目的としています。 なお、現時点で最新版の Fluentd v0.14.21 を対象にしています。 アジェンダ Getting Started Fluentd のアーキテクチャ Processes Supervisor process Worker process Threads Input thread En
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く