トレタ開発者ブログ

飲食店向け予約/顧客台帳サービス「トレタ」、モバイルオーダー「トレタO/X」などを運営するトレタの開発メンバーによるブログです。

ログ収集サービスのlogdnaを試す

佐野です。ここ2ヶ月くらい坐骨神経痛を患って、座ると痛い、立つと痛い、歩くと痛い、朝起きると痛い、くしゃみすると痛い。靴下がはけない(痛いから)、しゃがめない(痛いから)、夜痛みで目が覚める。という生活をしています。こちらの記事( 頭痛に耐えかねて自殺する人も…【激痛を伴う病気ワースト5】 )によると、痛すぎる病気ワースト4位らしいです。さて、ご近所のplaidさんからlogdnaというログ収集サービスを教えていただいたのですが、試してみました。

logdna

ローンチは2016年、つまり今年のようです。fluentd同様、エージェントをサーバに棲ませて、それがログをlogdnaに転送します。トレジャーデータ似ていますが、まだ機能は少なくて分析などはできないです。特定文言のハイライト、通知、grep...など全サーバのログを一覧するような用途には良さそうです。rtailのホスティングサービスような感じです。

次の画像はとあるrailsサーバ群のauth.logを"CRON"という文字列でtail/grepしつつ、openという文字とcloseという文字をハイライトさせたときの様子です。

f:id:hiroakis:20161102143155p:plain

所感

使ってみた所感なのですが、

  • 安い

といった印象です。ただログを集めて一括で参照したいだけなら非常に楽です。トレタでは /var/log/syslog/var/log/auth.log などを収集対象にしてお試し運用中です。アプリケーションが吐くサービスのログは結構量もあり、今のログ基盤(fluentd->アグリゲータ->BigQuery)で十分ワークしているので移し替えるつもりはないです。

コンフィグとエージェントを配置すればよい

上述しましたが、エージェントがlogdnaに対象のログを転送します。コンフィグは次のような形式で、対象のログファイルまたはディレクトリを指定してエージェントを起動するだけです。ディレクトリ指定の場合そのディレクトリ配下の .log が対象になります。コンフィグは正規表現も受け付けます。tagsというのはサーバのロールのようなもので、例えばrailsサーバにはrails、worker用のサーバにはworkerなどと指定しておけば、logdnaのGUI上でグルーピングしてくれます。keyはlogdnaのアクセスキーです。

logdir = /var/log/syslog,/var/log/auth.log,/var/log/logdna-agent.log,/var/log/monit.log,/var/log/dpkg.log,/var/log/mackerel-agent.log,/var/log/td-agent/td-agent.log
tags = {{ logdna_group }}
key = {{ logdna_key }}

エージェントはnodejsで書かれていて、rootで動きます(!!)。収集対象のログにエージェントが収集可能なパーミッションを与えておく...のではなく、root権限をもったエージェントがコンフィグに指定されたログを舐めていきます。エージェントのソースはgithubにホスティングされています(https://github.com/logdna/logdna-agent)。さらっと見たんですが怪しいことはやっていなかったですw ソース自体もそれほど大きくなく、まだはじまったばかり感があります。

リテンションは〜30日

課金によって変わりますが、永遠に保存/参照可能にしておくことはできないです。GUI上で設定しておけば、日次でs3(オレゴン)にログアーカイブしてくれます。バックアップ用途としても一応使えます。

GUIは少しバグっているところもある

たまにバグっています。アカウントのオーナーのつけかえをしたらオーナーがいないように見えるw 一応、オーナーを付け替えた方のアカウントはオーナーとしての操作ができることは確認したので大丈夫なのですがw

f:id:hiroakis:20161102135819p:plain

また、ちょっと出力の量の多いログを転送してみたら描画が追いつかないのか、たまに画面が消えることもあったw

気がついたらfluent-pluginもリリースされてた

fluentプラグイン書いてみようとか思ったらつい先日できてたw

まさに今はじまったサービス、という印象です。

おわり

© Toreta, Inc.

Powered by Hatena Blog