GoAccessによるNginxおよびApacheログの監視

オープンソースのリアルタイムログアナライザーでWebサーバーログを監視および分析– GoAccess


Webのトラブルシューティングは楽しいものであり、適切なツールを備えていないとイライラすることがあります.

トラフィックの多いウェブサイトをサポートしている場合は、多くの場合、パフォーマンスのためにウェブサーバーのログを分析して監視する必要があります & キャパシティプランニング。これはWebエンジニアにとって不可欠です.

小さいログサイズを手動でチェックすることは問題ありませんが、大きなファイルがある場合、数百万行を調べて指標を見つけるのは面白くないでしょう.

そのため、管理者の仕事を容易にし、生産性を高めるためのツールが必要です。.

GoAccess軽量のオープンソースログアナライザー 複数のログ形式をサポートし、次のいずれかで使用できます.

  • Nginx
  • Apache HTTP
  • AWS ELB、S3、CloudFront
  • Googleクラウドストレージ

GoAccessで分析できるメトリック?

ログに記録するほぼすべて。あなたにアイデアを与えるために:

  • リクエストの処理に時間がかかる
  • 訪問者IP、DNS、ホスト
  • 訪問者のブラウザ & オペレーティングシステムの詳細
  • 404詳細が見つかりません
  • 上位のリクエスト/訪問者
  • 帯域幅
  • 静的ファイル
  • 地理的位置
  • ステータスコード
  • もっと..

サイトの監視対象となるこれらの指標を探しています?

良い!

インストールできるOS?

GoAccessは1つの依存関係、ncursesのみを取得しました。インストールできればどんなOSでも使える.

以下の配布パッケージで入手できます。

  • Ubuntu
  • Debian
  • Fedora
  • CentOS
  • FreeBSD / OpenBSD
  • Slackware
  • Arch Linux
  • Gentoo
  • マックOS
  • CygwinによるWindows

ただし、ソースからビルドするか、Dockerで使用することもできます.

Dockerを初めて使用する場合は、 Docker Masteryコース.

UbuntuへのGoAccessのインストール

  • root権限でUbuntuサーバーにログインします
  • apt-getを使用して以下のようにインストールします

apt-get install goaccess

かんたん.

CentOSへのインストール

サーバーにログインして、yumcommandを実行します

yum install goaccess

CentOS / Ubuntuへのソースを使用したインストール

ソースからのコンパイルが大好き?

手順は次のとおりです.

  • 使用する場合は、次の依存関係をインストールします CentOS

yum install gcc ncurses-devel glib2-devel geoip-devel tokyocabinet-devel

  • 使用する場合 Ubuntu

apt-get install libncursesw5-dev libgeoip-dev make

  • wgetを使用して最新のパッケージをダウンロードする

wget http://tar.goaccess.io/goaccess-1.2.tar.gz

  • ダウンロードしたファイルを解凍します

gunzip –c goaccess-1.2.tar.gz | tar xvf –

  • 抽出後に取得した、新しく作成されたフォルダーに移動します

cd goaccess-1.2

  • 以下のコマンドでコンパイルします

./ configure –enable-geoip = legacy –enable-utf8
作る
インストールする

よくやった, GoAccessをインストールし、ログを分析するように設定しました.

インストールの確認

インストールしたら、コマンドプロンプトでgoaccessを実行するだけで、以下のように使用方法が出力されます。.

[[メール保護] goaccess-1.2]#goaccess
GoAccess-1.2
使用法:goaccess [ファイル名] [オプション…] [-c] [-M] [-H] [-q] [-d] […]
次のオプションもコマンドに指定できます。
ログ & 日付形式オプション
  –date-format =-ログの日付形式を指定します。例:%d /%b /%Y
  –log-format =-ログ形式を指定します。内側の引用は
                                    エスケープ、または単一引用符を使用.
  –time-format =-ログの時間形式を指定します。例:%H:%M:%S
ユーザーインターフェイスオプション
  -c –config-dialog-プロンプトログ/日付/時刻構成ウィンドウ.
  -i –hl-header-アクティブなパネルをハイライト表示.
  -m –with-mouse-メインダッシュボードでマウスサポートを有効にする.
  –color =-カスタム色を指定します。詳細については、マンページを参照してください
                                    詳細とオプション.
  –color-scheme =<1 | 2 | 3>          – スキーム:1 => 灰色、2 => 緑、3 => ものかい.
  –html-custom-css =-HTMLレポートでカスタムCSSファイルを指定します.
  –html-custom-js =-HTMLレポートでカスタムJSファイルを指定する.
  –html-prefs =-デフォルトのHTMLレポートの設定.
  –html-report-title =-HTMLレポートページのタイトルとヘッダーを設定する.
  –json-pretty-print-タブ付きのJSON出力のフォーマット & 改行.
  –max-items-パネルごとに表示するアイテムの最大数.
                                    制限については、manページを参照してください.
  –no-color-カラー出力を無効にする.
  –no-column-names-用語出力に列名を記述しません.
  –no-csv-summary-CSV出力の要約メトリックを無効にする.
  –no-progress-進行状況メトリックを無効にします.
  –no-tab-scroll-TABのパネルのスクロールを無効にします.
  –no-html-last-updated-HTML最終更新フィールドを非表示.
サーバーオプション
  –addr =-サーバーをバインドするIPアドレスを指定.
  –daemonize-デーモンとして実行(–real-time-htmlが有効な場合).
  –fifo-in =-名前付きパイプを読み取るためのパス(FIFO).
  –fifo-out =-名前付きパイプを書き込むパス(FIFO).
  –origin =-クライアントが指定されたoriginヘッダーを送信することを確認します
                                    WebSocketハンドシェイク時.
  –port =-使用するポートを指定します.
  –real-time-html-リアルタイムHTML出力を有効にする.
  –ssl-cert =-TLS / SSL証明書へのパス.
  –ssl-key =-TLS / SSL秘密鍵へのパス.
  –ws-url =-WebSocketサーバーが応答するURL.
ファイルオプション
  –                               – 解析するログファイルはstdinから読み取られます.
  -f –log-file =-入力ログファイルへのパス.
  -l –debug-file =-すべてのデバッグメッセージを指定した
                                    ファイル.
  -p –config-file =-カスタム構成ファイル.
  –invalid-requests =-指定されたファイルへの無効なリクエストを記録します.
  –no-global-config-グローバル構成ファイルを読み込まない.
解析オプション
  -a –agent-list-ホスト別のユーザーエージェントのリストを有効にします.
  -d –with-output-resolver-HTML | JSON出力でIPリゾルバーを有効にする.
  -e –exclude-ip =-1つまたは複数のIPv4 / 6を除外します。 IPを許可
                                    範囲、例えば192.168.0.1-192.168.0.10
  -H –http-protocol =-見つかった場合、HTTP要求プロトコルを設定/設定解除.
  -M –http-method =-見つかった場合、HTTPリクエストメソッドを設定/アンサーする.
  -o –output = file.html | json | csv-HTML、JSON、またはCSVファイルのいずれかを出力します.
  -q –no-query-string-リクエストのクエリ文字列を無視します。の削除
                                    クエリ文字列はメモリを大幅に減らすことができます
                                    消費.
  -r –no-term-resolver-端末出力でIPリゾルバーを無効にする.
  –444-as-404-非標準のステータスコード444を404として扱う.
  –4xx-to-unique-count-ユニークビジターに4xxクライアントエラーを追加する
                                    カウント.
  –all-static-files-クエリ文字列に静的ファイルを含める.
  –クローラーのみ-クローラーのみを解析して表示.
  –date-spec =-日付の具体性。可能な値: `date`
                                    (デフォルト)、または `hr`.
  –二重デコード-二重エンコードされた値をデコード.
  –enable-panel =-指定されたパネルの解析/表示を有効にします.
  –hour-spec =-時間の詳細。可能な値: `hr`
                                    (デフォルト)、または `min`(10分の1).
  –クローラーを無視する-クローラーを無視する.
  –ignore-panel =-指定されたパネルの解析/表示を無視します.
  –ignore-referer =-リファラーのカウントを無視します。ワイルドカード
                                    許可されています。つまり、*。bing.com
  –ignore-status =-指定されたステータスコードの解析を無視します.
  –num-tests =-テストする行数. >= 0(デフォルトは10)
  –プロセスと終了-データを出力せずにログを解析して終了する.
  –real-os-実際のOS名を表示します。例:Windows XP、Snow
                                    ヒョウ.
  –sort-panel = PANEL、METRIC、ORDER-初期読み込み時にパネルを並べ替えます。例えば:
                                    –sort-panel = VISITORS、BY_HITS、ASC。見る
                                    パネル/フィールドのリストのマンページ.
  –static-file =-静的ファイル拡張子を追加します。例:.mp3.
                                    拡張機能では大文字と小文字が区別されます.
GeoIPオプション
  -g –std-geoip-メモリを節約するための標準のGeoIPデータベース
                                  消費.
  –geoip-database =-GeoIPデータベースファイルへのパスを指定します。つまり.,
                                    GeoLiteCity.dat、GeoIPv6.dat …
その他のオプション
  -h –help-このヘルプ.
  -V –version-バージョン情報を表示して終了.
  -s –storage-現在の保存方法を表示します。例:B+
                                    ツリー、ハッシュ.
  –dcf-デフォルトの構成のパスを表示
                                    `-p`が使用されていない場合のファイル.
例は、 `man goaccess`を実行して見つけることができます.
詳細については、http://goaccess.ioをご覧ください。
GoAccess Copyright(C)2009-2016 by Gerardo Orellana
[[メール保護] goaccess-1.2]#

Nginxの分析 & GoAccessを使用したApache

access.logを分析する最も速い方法の1つは、using-fparameterを使用することです。.

例:

goaccess -f access.log

上記では、access.logファイルを開くように指示しています。これにより、ダッシュボード全体と次の15セクションが表示されます.

  • 1日あたりのユニークユーザー数
  • リクエストされたファイル
  • 静的リクエスト(フォント、画像、pdfなど)
  • 見つかりません(404)リクエスト
  • 訪問者のIP /ホストの詳細
  • 訪問者のOS
  • ブラウザの詳細
  • 時間分布
  • リファラー
  • HTTPステータスコード
  • 地理的位置

選択したファイルがリアルタイムで更新されている場合は、ターミナルでメトリックが更新されていることに気づくでしょう。ここでは、分析する必要があるメトリックを確認できます.

HTTP経由のリアルタイム監視

GoAccessを使用すると、リアルタイムの監視として使用できるHTMLファイルに出力をリダイレクトできます。これは、いくつかのメトリックを確認する必要があるたびにサーバーにログインしたくない場合に便利です。.

goaccess /var/log/nginx/access.log -o /var/www/geekflare.com/htdocs/real-time.html –log-format = COMBINED –real-time-html

上記では、htdocsで利用可能なreal-time.htmlファイルに出力をリダイレクトしています。 htdocsなので、メトリックを表示する必要があるときはいつでも、https://geekflare.com/real-time.htmlからこのファイルにアクセスできます.

美しいダッシュボード!

ただし、この方法で運用することはお勧めしません。私はあなたが誰かにあなたのウェブサーバーのログを読んでほしくないと確信しています、そしてあなたは次の制限を適用したいかもしれません.

  • ユーザーとパスワードでファイルを保護する
  • IPからのみアクセスを許可する
  • カスタムポートで他のURLを使用し、ファイアウォールの背後に配置して、許可されたIP /ユーザーのみがアクセスできるようにする

GoAccessは、強力なオープンソースログアナライザーのように見えます。軽量で無料なので、ぜひお試しください.

クラウドベースのログアナライザーをチェックすることもできます。.

タグ:

  • モニタリング

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map