Edited at

Webサーバーのアクティブセッション数を確認するコマンド例

More than 5 years have passed since last update.

たまにやりたくなるアレのメモです。


コマンド

watch -d -n 1 "netstat -alpn | grep -E ':(80|443) ' | awk {'print $5'} | sed -e 's/\:[^.]*$//' | sort | uniq -c"


やっていること


watch -d -n 1 "COMMAND"

COMMAND を1秒毎に実行し、実行結果に変化があった場合は該当箇所をハイライト表示します。



  • -n … 指定した秒数ごとに COMMAND を実行します。


  • -d … 実行結果の差分をハイライト表示します。


netstat -alpn

すべてのネットワーク状態をポート付き&名前解決なしで表示します。


grep -E ':(80|443)'

80番と443番ポートの表示を抽出します。


awk {'print $5'}

5番目の列を表示します。

netstat -alpn の場合は、左端を1番めとして順に


  1. Proto

  2. Recv-Q

  3. Send-Q

  4. Local Address

  5. Foreign Address

  6. State

  7. PID/Program name

となるので、 Foreign Address (アクセス元)を表示しようとしています。


sed -e 's/:[^.]*$//'

アクセス元IPのポート番号部分を削除し、IPアドレスだけの形にしています。


sort

表示をソートします。


uniq -c

重複を除去し、出現回数を表示しています。