lnav - 「tail -f」で消耗したくない方必見のターミナル用ログファイルビューアー

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

WebサーバーやDBサーバーなどが書き出すログファイルを閲覧する際、「tail -f」を使って監視しているという方は多いかもしれません。

「tail -f」はログをリアルタイムに監視することができる軽量かつシンプルな方法ですが、機能は多くありませんです。本日紹介する「lnav」はこれを置き換えることができる効率的なログ閲覧・解析ツールです。

lnavはターミナルから使用することができ、次のような特徴を持っています。

  • 複数ログファイルの統合ビュー: 複数のログファイルをタイムスタンプ順に統合して表示することができる。
  • 自動ログフォーマット検出: Apache、Nginx、syslog、JSON形式など、一般的なログ形式を自動で認識。カスタムログ形式も設定可能。
  • リアルタイム更新: ファイルが更新されると自動的に反映されるので、リアルタイムモニタリングが可能。
  • インタラクティブなインターフェイス: vim風のキーバインドで操作可能。
  • 強力なフィルタリングと検索機能: 正規表現やキーワードでログを検索。特定の条件でフィルタリングも可能。
  • SQLクエリ機能: SQLiteを使ってログデータに直接SQLクエリを実行可能。
  • タイムスタンプの正規化: 異なるログファイルのタイムゾーンうやフォーマットを正規化できる。
  • クロスプラットフォーム対応: Linux、macOS、FreeBSDなど、Unix系システムで動作。

以下使用方法を説明します。

目次

lnavの使用方法

lnavはUNIX系OSで実行することができ、さまざまな方法でインストールすることができます。

Linux:

# snapでインストール
sudo snap install lnav

# yumでインストール
curl -s https://packagecloud.io/install/repositories/tstack/lnav/script.rpm.sh | sudo bash
sudo yum install lnav

macOS:

# Homebrewでインストール
brew install lnav

# MacPortsでインストール
sudo port install lnav

ソースコードからインストールすることもできます。詳細はこちらで確認可能です。

インストールが完了したらlnav ログファイル名と実行します。ログファイル名を指定しない場合はsyslogが開かれます。

▲ログファイルがシンタックスハイライトされて分かりやすく表示されます。表示はリアルタイムで更新されていきますが、jkgGなどのvim風のキーを使ってロファイルをナビゲートすることができます。/を使って検索したり、ewでエラーや警告を探すこともできます。

その他にもさまざまな便利機能を利用することができ、詳細は公式ドキュメントで確認可能です。

なお、lnavにはオンラインデモが存在し、インストールしなくてもsshがあれば動作を確認することができます。

ssh playground@demo.lnav.org

チュートリアルもあります。

ssh tutorial1@demo.lnav.org

まとめ

lnavを利用すればログファイルを効率的にナビゲートすることができます。「tail -f」に不満を持っていた方は試してみてはいかがでしょうか。

タイトル lnav
公式サイト https://lnav.org/
ソフトアンテナ https://softantenna.com/softwares/7800-lnav
説明 ログファイルを効率的に監視・ナビゲートすることができるユーティリティ。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次