監視ツール勉強会のめも
ひさびさに書く(・∀・)
munin
- メリット:データサイズが肥大化しない
- デメリット:データ取得の感覚が5分単位
zabbix
- メリット:データ取得の間隔が1分単位
- デメリット:データが肥大化しやすい
munin見るポイント
load average
- 待ち状態になっているプロセスの平均数
- 仮に恒常的に1だったら、処理中のプロセスがずっと1あるという状態になるので CPUのコア数以上になっている場合は処理が間に合ってないと判断する
CPU usage
- 実際にCPUが何用途で使われているか
- systemはカーネルとかレイヤーの低い部分のレイヤー層でつかわれているやつ
- userはミドルウェアとかの上の処理
- owaitはインプット・アウトプットでCPU側で待が発生している状態(上側の紺のやつ) -> ロードアベレージで処理待が発生しているのはどっちの部分か判断できる
Memory usage
- メモリが足りない時に確保しておくところ
- 緑の部分が上限に達してないかどうかでメモリが足りているか判断する
- 青のはばが大きくなってきたら、OS側が自然に確保してきてくれているということ
- サーバー上でfreeコマンドで現在のメモリ所持方法を検索できる
Apache
Apache process
- 何件のアクセスを同時に受けれるようにするかという設定がmax clients
tomcat
tomcat thread
- スレッド上限の設定を見れる
- busyが現在使われているthread
- idleが受け入れを許可しているthread
- maxが上限
JVM
Heap Usage
- JVMのガベージコレクションがどうゆう推移で実行されているかがわかる
- 黄色い部分がold領域、青い部分がnew領域
- スレッド数減らしてるのにold領域が全然下がってくれないとかあったら問題かもしれない
- 上の濃い緑の部分はPermanent領域で、クラスを呼ぶオブジェクト領域(起動してから一定)
mysql
slow queries
connections
そのた
- masterとslaveでどれくらいの差異が発生しているか
- ssh接続してmysqlのなかで mysql> show slave status\G を実行する -> Second_Behind_Master が0以外だとmasterとslaveで同期処理に差異が発生している状態になっている
redis
- redisで設定するメモリは物理メモリの倍くらいで
- 使っている容量の倍のメモリがないと失敗する
memcached
- トラフィックが上限に達するとか
- メモリの何を保存するかをちゃんと検討する