0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

サーバーリソースモニタリング用のコマンド

Last updated at Posted at 2020-10-31

はじめに

最近はサーバーリソースを監視するためのツールが色々あります。しかし、たまにコマンドでも確認したいことがあるため備忘的にアウトプット。

dstat

dstatとは簡単に説明するとCPU負荷をコアごと、IO負荷をディスクごと、ネットワーク転送量をインターフェイスごとに表示できるコマンド。 topやiostat,netstatを使って監視しているリソースがコマンド1つで監視できます。
引用:https://qiita.com/ryuichi1208/items/387fa1cba44690c3db9b

dstat.sh
# ---------
# シェルにしておく方が何かと扱いやすいのシェルを作成
# ---------
# ログ出力先のディレクトリを作成
mkdir /home/log/dstat/

# シェルの内容
echo '#!/bin/sh' > /home/takiguchi-yu/dstat.sh
echo "dstat -T --cpu --disk -D sda10 --load --mem --net --swap -g --output /home/log/dstat/dstat-\`hostname -s\`-\`date +%Y-%m-%d-%H\`.csv 1 3599" >> /home/takiguchi-yu/dstat.sh

# 実行権限付与
chmod 755 /home/takiguchi-yu/dstat.sh
crontab
crontab -e

# dstat log
0 * * * * /home/takiguchi-yu/dstat.sh > /dev/null

出力結果
スクリーンショット 2020-10-31 17.43.08.png

jstat

jstatツールは、設置されている HotSpot Java 仮想マシン (JVM) のパフォーマンス統計データを表示します。ターゲット JVM は、仮想マシン識別子、つまり下記の vmid オプションによって識別されます。
引用:https://docs.oracle.com/javase/jp/1.5.0/tooldocs/share/jstat.html

jstat.sh
# ---------
# シェルにしておく方が何かと扱いやすいのシェルを作成
# ---------
# ログ出力先のディレクトリを作成
mkdir /home/log/jstat/

# シェルの内容
echo '#!/bin/sh' > /home/takiguchi-yu/jstat.sh
echo "/usr/java/jdk/bin/jstat -gcutil | awk 'NR>1 {print strftime("%Y/%m/%d %H:%M:%S"),$0} {system(":")}' | sed -r 's/  +/,/g' >> /home/log/jstat/jstat_\`hostname -s\`-\`date +%Y-%m-%d-%H\`.log" >> /home/takiguchi-yu/jstat.sh

# 実行権限を付与
chmod 755 /home/takiguchi-yu/jstat.sh
crontab
crontab -e

# jstat log
* * * * * for i in `seq 0 5 59`;do (sleep ${i}; /home/takiguchi-yu/jstat.sh) & done;

tcpdump

tcpdumpとはネットワーク通信の生のデータをキャプチャし、その結果を出力してくれるキャプチャツールです。
引用:https://qiita.com/tossh/items/4cd33693965ef231bd2a

tcpdump.sh
# ---------
# シェルにしておく方が何かと扱いやすいのシェルを作成
# ---------
# ログ出力先のディレクトリを作成
mkdir /home/log/tcpdump/

# シェルの内容(ポート番号はサンプルなので適宜変更)
echo '#!/bin/sh' > /home/takiguchi-yu/tcpdump.sh
echo "tcpdump -i eth0 -s 0 -w /home/log/tcpdump/tcpdump-`hostname -s`-%Y-%m-%d-%H.pcap -G 3600 -Z root -z gzip \( tcp port 9160\) or \( tcp port 7000 \)" >> /home/takiguchi-yu/tcpdump.sh

# 実行権限付与
chmod 755 /home/takiguchi-yu/tcpdump.sh
# 実行
sh /home/takiguchi-yu/tcpdump.sh

tcpdumpはwiresharkを使えば中身を可視化できます。
MacであればHomebrewでインストール可能です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?