2017/08/08 Kubernetes Meetup Tokyo #6 LT発表資料 GKEではStackDriver Loggingにどうやってログを転送しているか・StackDriver Loggingへのログの転送方法について発表しました。
2017/08/08 Kubernetes Meetup Tokyo #6 LT発表資料 GKEではStackDriver Loggingにどうやってログを転送しているか・StackDriver Loggingへのログの転送方法について発表しました。
この記事はTech KAYAC Advent Calendar 2016の21日目の記事です。 こんにちは、ソーシャルゲーム事業部のぼくらの甲子園!ポケットのサーバサイド開発・運用を担当しておりますマコピーことid:mackee_wです。 ↑のヘッダ画像の人物はワタクシ、という噂があります。みなさま答えはあっていましたでしょうか。 ぼくらの甲子園!ポケットとは 2014年9月にリリースされた共闘スポーツRPGのスマートフォン向けゲーム 現在3年目でございます!!! 甲子園をモチーフにしてプレイヤーとプレイヤーが協力して別のチーム(CPUではない)と対戦して甲子園の頂点を目指す チーム(高校)の部員がプレイヤー9人揃わなければ試合が始まらない縛りとかも特徴です そんな感じで運営しておりますので興味を持たれましたらこちらからダウンロードのほどよろしくお願いしますm( )m。 ちなみにこの記事は
タイトルに @id を書いておくと Twitter でメンションが飛んでしまうため [at]id に修正しました 🙇🏻 前置き mackerel-plugin-fluentd を使うと,Fluentd のメトリクス(バッファサイズ/リトライカウントなど)を Mackerel のカスタムメトリックにポストすることができる.ログの流量が多い場合など,バッファサイズを監視できていると運用しやすいし,是非使っておきたいところ. ちなみに Fluentd のメトリクスを取得するなら事前に monitor_agent を conf に含めておく必要がある.詳しくは Monitoring Fluentd | Fluentd に書いてある. <source> @type monitor_agent bind 0.0.0.0 port 24220 </source> plugin_id のデフォルト値は
はじめに クリアコードではFluentdというソフトウェアの開発に参加しています。Fluentdはログ収集や収集したデータの分配・集約などを行うソフトウェアです。 Fluentdのv0.14はv0.12とある程度の後方互換性が保たれているメジャーバージョンアップです。 v0.14での新機能を使ったプラグインを作成する際にはこれまでの Fluent 以下のクラスではなく、Fluent::Plugin 以下のクラスを継承し、実装する必要が出てきました。 また、v0.14からはプラグインでよく書かれるコードをカプセル化し共通に使えるヘルパーを提供することで、よりプラグイン開発者が簡潔で良くテストされたコードを使ってプラグインが開発出来るようになる、とアナウンスされています。1 Inputプラグインの場合 Inputプラグインをv0.14のプラグインに移行する際には Fluent::Input の
問題があったのでfluentdでsigdumpを使いstactraceしてmackerel-client-rubyにPRした話 July 8, 2016 みんなのネットワーク環境が安定しているのか.. 我々の世界線にノイズが混在してしまっているのか… それを調べるすべはないが、下記のような問題があった。 mackerelで突然グラフが表示されなくなる そのグラフを表示しているのはfluent-plugin-mackerelを利用してfluentd経由で作成している そのtd-agentは再起動しようとするとTimeout errorになる ということで怪奇現象を解決する為にやったことをメモ 愚直にtd-agentの再起動を試みてみる [watashi@example-host ~]$ [watashi@example-host ~]$ [watashi@example-host ~]$ s
@joker1007 メインのバッチ集計処理基盤として bigqueryを利用するために今取り組んでいること、 そしてそれを支えるfluentdとembulkの bigqueryプラグインの現状を解説します。 self.inspect @joker1007 Freelance (Ruby/Rails/JS/Redshift/Bigquery) パーフェクトRubyとかパーフェクトRailsとか 最近はアプリより基盤寄りの仕事が多い (株)Reproで仕事中 Repro Inc.の最新情報 - Wantedly Hireling Now 資料作成サボってて時間がやばくなってしまい、 業務時間使って資料作ってたので、 宣伝を入れるからってことで許してもらいました BQの利用背景 MySQLの限界 将来的にもデータ量は増え続ける 割とヘビーな集計処理がある できるだけ同時に算出したい 構成イメー
2. WHO AM I ? • Toru Takahashi (@nora96o) • Treasure Data, Inc. • Support Engineering Manager • メールにチャットに、ブログ書いたり、コードを書いたり、 • http://qiita.com/toru-takahashi • 気づくと、社会人4年目に突入・・・ 2 3. 質問です! • Treasure Data を 知っている人は ? • Fluentd を 知っている人は ? • Embulkを知っている人は? • Digdagを聞いたことがある人は? • インフラ / 分析基盤 を普段から運用や開発をしている人は? • iOS / Android / Unity / フロントエンドの人は? 3
最近めっきり対外的なアウトプットが減っていたのは、ぜんぶこいつのコードを書きまくってたからです。すごい書いた。 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分弱くらいしゃべってしまったらしい。すま
Hi users! We have released Fluentd version 0.14.0, which is the first release of major version 0.14, including many improvements and new APIs. This post shows some of major changes. See ChangeLog for the full list of changes. Windows support Fluentd v0.14 core supports Windows environment! Process management layer of Fluentd v0.14.0 was rewritten with ServerEngine to make it possible to spawn proc
レプリケーション対応のGroongaシステムを実装するには、いくつかのシステム構成を選ぶことができます。このドキュメントではいくつかのパターンを説明します。 利用可能なパターンは以下の通りです。 マスタースレーブレプリケーション 復帰したスレーブへのデータの再送 利用できないパターンは以下の通りです。 マルチマスターレプリケーション 自動でのスレーブ復旧 動的なスレーブ追加 フェイルオーバー サービスレベルを落とすSPOF(Single Point of Failure。単一障害点)がないシステム マスタースレーブレプリケーション マスタースレーブレプリケーションを利用可能です。このセクションではどのようにシステムを構成すればよいかを説明します。 小さいシステム 小さいシステムでは、2つのサーバーだけがあるとします。1つがマスターGroongaサーバーで、もうひとつがスレーブGroonga
本番環境で動いているFluentdのin_forwardに何が流れているのかを知りたい、けど設定を触りたくない…みたいな場合に流れているタグやレコードを見る方法です。特にFluentdに限った話ではないですが、備忘録として書いておきます。 1. tcpdumpでキャプチャ 調べたいサーバ上で、tcpdumpを使ってパケットキャプチャを取ります。in_forwardのポート番号などを指定してキャプチャします。 $ sudo tcpdump -i eth0 -w fluentd.pcap port 24224 and tcp 2. tcptraceでTCPストリームのデータだけ吐き出す tcptraceは-eオプションを渡すと、TCPストリームごとのデータをファイルに吐いてくれるのでこれを利用します。なお、tcptraceはHomebrewやaptで入ると思います。 $ tcptrace -e
Site Reliability Engineering Teamの@cubicdaiyaです。 今回はGo製のログ転送エージェントであるfluent-agent-hydraとメルカリでの利用事例について紹介します。 メルカリとFluentd メルカリではAPIサーバのアクセスログやアプリケーション固有のログをはじめとする各サーバに散らばっているログデータを転送・集約するのにFluentdを活用しています。 具体的にはローカルに書き込まれるログファイルのin_tailやそれらを転送するための(out|in)_forward、ElasticsearchやBigQueryにログを放り込むためのプラグインを利用しているほか、いくつか特殊な用途のプラグインを独自に開発して運用してたりもします。 ログの流量とFluentdのパフォーマンス 多機能で柔軟なプラグイン機構を持つ便利なFluentdですが
1ヶ月ほど前になりますが、多段Norikraを簡単に試せるようにするNorikra Listenerプラグインを作りました。 norikra-listener-norikra | RubyGems.org | your community gem host github.com なぜ作ったか? ログ量が増えてくると1台のNorikraではさばくことができなくなります。 そうした場合には数台のサーバーごとにNorikraを1つ立てて、その後段に各Norikraの実行結果をまとめるNorikraを立てることで、スケールさせることができます。 例: Norikra in Gunosy Network Ads@Norikra meetup #2 // Speaker Deck その際に前段と後段のNorikraをつなげるために、従来は下図のbeforeように間にfluentdを挟む必要がありました
The unsung heroes of log analysis are the log collectors. They are the hard-working daemons that run on servers to pull server metrics, parse loogs, and transport them to systems like Elasticsearch or PostgreSQL. While visualization tools like Kibana or re:dash bask in the glory, log collectors’s routing making it all possible. Here, we will pit the two of the most popular data collectors in the o
ご存知の通り、ApacheのVirtualHost(以下vhost)、所謂、Webサーバの仮想ホストは単一のApacheで複数のホストを処理しています。そのため、複数のvhostを含めたCPU使用量といったリソース使用量をグラフ化することは簡単なのですが、vhost単位となると各vhostへのリクエスト単位でのリソースを計測しておかないとグラフ化することはできません。そういう意味でvhost単位でリソース使用量をグラフ化しようとすると一気に敷居が上がってしまいます。 また、uid毎に実行プロセスを分離しておけば、pacctといったプロセスアカウンティング機能でuidのカウントはできますが、リアルタイムの計測(秒とか分のオーダー)にはコストが高かったり、vhostで提供しているコンテンツによっては、Apache権限で配信されているものもある(静的コンテンツ)ため、正確に計測することは難しくな
はじめに クリアコードはFluentdの開発に参加しています。 また、Fluentdにはプラグインというしくみがあり、たくさんのプラグインが開発されています。 FluentdはGitHub上で開発されています。また、Fluentd自体はそこまで大きくないものの、柔軟性に重点を置いたコードになっているため、内部構造は複雑です。 メモリ上の設定ダンプ機能とは Fluentdはログなどのデータを集約したり、再配分を行うソフトウェアです。ソフトウェアの性質上、長時間の動作が想定されます。そのため、運用されてある程度経ってくると設定ファイルとメモリ上にある設定が乖離することがあります。また、設定ファイルを書き換えて試している時でもFluentdが使用しているメモリ上の設定と実際の設定ファイルに乖離が生じます。 そのため、今の設定が正しく読み込まれているか、また現在の設定はどうなっているか確認したいと
背景 Rubyで文字列の時間表現を時間に変換するにはTime.strptimeをよく使います.以下は公式リファレンスの例です. Time.strptime('2001-02-03T04:05:06+09:00', '%Y-%m-%dT%H:%M:%S%z') #=> 2001-02-03 06:05:06 +0900 これは楽でとても便利なんですが,Time.strptimeには遅いという致命的な問題があります.例えばFluentdのようなひたすらログを読み込んでパースするソフトウェアの場合,Time.strptimeそのものがボトルネックになります.これはTime.strptimeは毎回文字列フォーマットをパースしないといけないなど,いくつかの要因があります. Fluentdでこの問題をどう解決していたかと言うと,文字列をキャッシュして,前と文字列が同じであればTime.strptime
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く