コンテナでログをどう取得すればいいの?そもそもどういうログがあるのか? ログの取得パターンから活用方法まで、 @prog893 が選定のためのヒントとサンプルアーキテクチャで紹介します。
はじめに ログ集約・可視化・検索ツールとしてはELKスタックを利用するケースが多いが、これをLokiに置き換えることでより軽量にログを集約することができるようになる。 Grafana Lab社が開発したLokiは、ログのストリームに対してタグ付けし保存する仕組みを持つ。Prometheusと親和性がたかく、水平展開、高可用性、マルチテナントが可能。 構成 各クライアントからのsyslogは514/udpポートで送信される。これをrsyslogデーモンで受け5514/tcpポートへ転送する。fluentdは5514/tcpポートで受信したsyslogをさらにlokiへ転送する。 +------------------------------------------------+ | | | +---------+ | +--------+ 514/udp | | | | | client +
こんにちは、臼田です。 fluentdの設定は自由度が高くて、逆にどうやるのが最適なのかなーと悩むことがよくあります。 今回は「apacheのログを出力したい」のような単体のログではなくて、「OSに保存されているいろんなログを(比較的)楽にS3に出力したい」という需要に答える設定を考えてみました。用途としてはとりあえずローカルの出力されているいろんなアプリログを拾ったりですとか、あとはコンプライアンス用件で細かい様々なログを全てS3に保管したいといったところが上げられると思います。 fluentdの設定値の役割についてもある程度解説しつつ、設定を紹介したいと思います。 なお、インストール方法などは省略します。公式ドキュメントなどをご参照ください。 いろんなログをまとめてS3に出力する設定 まず/etc/td-agent/td-agent.confの設定を共有します。 # read apac
忙しい人のために先にまとめログファイルのopen時のアクセスモードは os.O_WRONLY|os.O_APPEND|os.O_CREATE を指定するlogrotateの設定には nocreate を渡すlogrotateではファイルをmvした後に行う処理が書けるので、そこでアプリケーションに対してシグナルを送ることでlogrotateの処理を実装できるfluentdはログのローテートを頑張って検知している ファイルディスクリプタについてファイルを open するとファイルディスクリプタを得られます。ファイルに書き込む際にはファイルディスクリプタ経由で書き込みを行います。 Linuxシステムプログラミング 23pをちょっと長めに引用します。 ファイルを読み書きする前にはオープンする必要があります。カーネルはオープンしたファイルをプロセスごとに管理しており、これをプロセスのファ
OSS紹介アドベントカレンダー の14日目の記事です。 Fluentd の 公式 Go 版 Logger である fluent-logger-golang はこのように使うのがよさそう、という使い方をまとめてみました。 元々社内で書いておいたドキュメントを編集したものです。 github.com 前提のユースケース Webアプリケーション(APIサーバ) を Go で書いていて、そこから何らかのログを Fluentd に送信したい。 config のお勧めオプション Timeout : Connect に対するタイムアウト。デフォルト3秒なのでそのままでよさそう WriteTimeout : 書き込みのタイムアウト。デフォルトだとずっと待ってしまうので 3 秒とか? BufferLimit : デフォルト 8MB これを超えると捨てられてしまう。送る流量によって調整が必要 MaxRetry
最近業務で Fluentd を触ることが出てきて入門したんですが、最初のうちはトラブルが起きた時に何が起きているのか、どう対処したら良いのかがさっぱりわからなかったので、「Fluentd ってログの収集とかに使われるやつでしょ?」程度の知識しかなかった過去の自分に向けて「とりあえずこれぐらいは知っておけ!」と言いたい内容をまとめてみました。 トラブルが起きた時にどの処理で問題が起きているのか素早くコードを追うことができて、データの消失を最小限に抑えつつ適切に対処できるようになることを目的としています。 なお、現時点で最新版の Fluentd v0.14.21 を対象にしています。 アジェンダ Getting Started Fluentd のアーキテクチャ Processes Supervisor process Worker process Threads Input thread En
以前Fluentd (td-agent 2.3.0) + Elasticsearch 2.1 + Kibana 4.3の環境を構築した。 totech.hateblo.jp 2017年4月現在、ElasticsearchとKibanaが5.3となり新しくなっていたので、現在の最新版で環境を再構築してみることにした。 結果、手順に大きな変更はなく簡単に構築できたが、細かな部分で違いもあったので手順をメモする。 環境はMacにインストールしたVirtualBox上にゲストOSとしてCent OS 7.3をたててそこに構築する。 今回利用した各種ソフトウェアのバージョンは以下の通り。 VirtualBox 5.1.18 Vagrant 1.9.3 CentOS Linux release 7.3.1611 (Core) Fluentd (td-agent v2.3.4) Elasticsearc
Fluentd Meetup 2016 Summer レポート 〜 v0.14 の新機能からプラグイン開発者向け API まで - 無印吉澤
NorikraをCentOS6にインストール ビックデータ時代のログ管理ソフトfluentd。 その利便性と安定した動作から、業界ではログ管理の標準になりつつあります。 そんなfluentdにも苦手な分野があります。 条件を指定した集計処理です。環境によって異なる集計処理を実装するには数値を操作するプラグインを組み合わせる必要がありました。 カウント処理で言えば「fluent-plugin-datacounter」。小数点を切り上げるには「fluent-plugin-amplifier-filter」といった具合です。 そうした集計処理をSQLライクな文法で手軽に追加できるのが、今回導入するNorikraです。 今回はCentOS6系での導入を例に解説します。 目次 Norikraとは Norikraの導入方法 rbenvの環境にRubyをインストール rbenvの環境にjRubyのインス
Recently I’ve been experimenting with EFK to see how we can extract value from our machine logs. We also use Nagios to monitor various services and processes within our infrastructure. The text logs produces by Nagios are not very useful in their raw form as you can see… [1405413255] Auto-save of retention data completed successfully. [1405413285] SERVICE ALERT: servername;t 3306;OK;SOFT;2;QUERY O
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く