佐野です。ここ2ヶ月くらい坐骨神経痛を患って、座ると痛い、立つと痛い、歩くと痛い、朝起きると痛い、くしゃみすると痛い。靴下がはけない(痛いから)、しゃがめない(痛いから)、夜痛みで目が覚める。という生活をしています。こちらの記事( 頭痛に耐えかねて自殺する人も…【激痛を伴う病気ワースト5】 )によると、痛すぎる病気ワースト4位らしいです。さて、ご近所のplaidさんからlogdnaというログ収集サービスを教えていただいたのですが、試してみました。
logdna
- logdna
ローンチは2016年、つまり今年のようです。fluentd同様、エージェントをサーバに棲ませて、それがログをlogdnaに転送します。トレジャーデータ似ていますが、まだ機能は少なくて分析などはできないです。特定文言のハイライト、通知、grep...など全サーバのログを一覧するような用途には良さそうです。rtailのホスティングサービスような感じです。
次の画像はとあるrailsサーバ群のauth.logを"CRON"という文字列でtail/grepしつつ、openという文字とcloseという文字をハイライトさせたときの様子です。
所感
使ってみた所感なのですが、
- 安い
- 楽
といった印象です。ただログを集めて一括で参照したいだけなら非常に楽です。トレタでは /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
また、ちょっと出力の量の多いログを転送してみたら描画が追いつかないのか、たまに画面が消えることもあったw
気がついたらfluent-pluginもリリースされてた
fluentプラグイン書いてみようとか思ったらつい先日できてたw
まさに今はじまったサービス、という印象です。
おわり