Innotop - MySQL 用の CLI ベースのトップのような監視ツール
Innotop は、top コマンドと同様に、InnoDB エンジンで実行されているローカルおよびリモートの MySQL サーバーを監視するための優れたコマンドライン プログラムです。
Innotop には、多くの機能とさまざまなタイプのモード/オプションが付属しており、MySQL パフォーマンスのさまざまな側面を監視するのに役立ち、データベース管理者が MySQL サーバーの問題を特定するのにも役立ちます。
たとえば、Innotop は、MySQL レプリケーション ステータス、ユーザー統計、クエリ リスト、InnoDB バッファ、InnoDB I/O 情報、オープン テーブル、ロック テーブルなどの監視に役立ちます。データを定期的に更新するため、次のことが可能になります。更新された結果を参照してください。
Innotop には優れた機能と柔軟性が備わっており、追加の構成は必要ありません。ターミナルから「innotop」コマンドを実行するだけで実行できます。
Linux に Innotop (MySQL 監視) ツールをインストールする
Innotop はディストリビューションのパッケージ マネージャーで利用でき、図のようにパッケージ マネージャーを使用してインストールできます。
sudo apt install innotop [On Debian, Ubuntu and Mint]
sudo yum install innotop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
ディストリビューションのパッケージ リポジトリでinnotop が利用できない場合は、Git リポジトリのクローンを作成して、図のようにインストールできます。
git clone https://github.com/innotop/innotop.git
cd innotop
次に、CPAN または cpanminus を使用して Perl の依存関係をインストールする必要があります。 cpanminus がインストールされていない場合は、パッケージ マネージャーを使用してインストールできます。
sudo apt install cpanminus [On Debian, Ubuntu and Mint]
sudo dnf install cpanminus [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
最後に、次のように cpanminus を使用して必要な Perl モジュールをインストールします。
cpanm Term::ReadKey DBI DBD::mysql
依存関係をインストールした後、次のコマンドを使用して Innotop を実行できます。
perl innotop
まず、CPAN 用の軽量で使いやすいクライアントであるcpanminus をインストールする必要があります。これは、Perl モジュールとその依存関係のインストールを簡素化する Perl モジュールとソフトウェアのリポジトリです。
sudo ap install cpanminus # For Debian/Ubuntu
sudo yum install cpanminus # For CentOS/RHEL
次に、以下の Perl モジュールの依存関係をインストールします。
cpanm Term::ReadKey DBI DBD::mysql
次に、Innotop をインストールします。
sudo cpanm innotop
innotop を起動するには、「innotop」と入力し、オプション -u (ユーザー名) と - を指定します。コマンド ラインから p (パスワード) をそれぞれ入力し、Enter キーを押します。
# innotop -u root -p 'tecm1nt'
MySQL サーバーに接続すると、次のような画面が表示されるはずです。
[RO] Dashboard (? for help) localhost, 61d, 254.70 QPS, 5/2/200 con/run/cac thds, 5.1.61-log
Uptime MaxSQL ReplLag Cxns Lock QPS QPS Run Run Tbls Repl SQL
61d 4 0 254.70 _ _ 462 Off 1
Innotop ヘルプ
「?」を押すと、コマンド ライン オプションと使用法の概要が表示されます。
Switch to a different mode:
A Dashboard I InnoDB I/O Info Q Query List
B InnoDB Buffers K InnoDB Lock Waits R InnoDB Row Ops
C Command Summary L Locks S Variables & Status
D InnoDB Deadlocks M Replication Status T InnoDB Txns
F InnoDB FK Err O Open Tables U User Statistics
Actions:
d Change refresh interval p Pause innotop
k Kill a query's connection q Quit innotop
n Switch to the next connection x Kill a query
Other:
TAB Switch to the next server group / Quickly filter what you see
! Show license and warranty = Toggle aggregation
# Select/create server groups @ Select/create server connections
$ Edit configuration settings \ Clear quick-filters
Press any key to continue
このセクションにはinnotop の使用法のスクリーンショットが含まれています。モードを切り替えるには大文字キーを使用します。
ユーザー統計
このモードでは、 読み取りごとに並べ替えられたユーザー統計とインデックス統計が表示されます。
CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut
localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k
クエリリスト
このモードは、mytop のクエリ リスト モードと同様に、SHOW FULL PROCESSLIST からの出力を表示します。この機能はInnoDB 情報を表示しないため、一般的な使用に最も役立ちます。
When Load Cxns QPS Slow Se/In/Up/De% QCacheHit KCacheHit BpsIn BpsOut
Now 0.05 1 0.20 0 0/200/450/100 0.00% 100.00% 882.54 803.24
Total 0.00 151 0.00 0 31/231470/813290/188205 0.00% 99.97% 1.40k 0.22
Cmd ID State User Host DB Time Query
Connect 25 Has read all relay system u 05:26:04
InnoDB I/O 情報
このモードではInnoDB の I/O 統計、保留中の I/O、I/O スレッド、ファイル I/Oが表示されます。 > およびログ統計テーブルがデフォルトで追加されます。
____________________ I/O Threads ____________________
Thread Purpose Thread Status
0 insert buffer thread waiting for i/o request
1 log thread waiting for i/o request
2 read thread waiting for i/o request
3 write thread waiting for i/o request
____________________________ Pending I/O _____________________________
Async Rds Async Wrt IBuf Async Rds Sync I/Os Log Flushes Log I/Os
0 0 0 0 0 0
________________________ File I/O Misc _________________________
OS Reads OS Writes OS fsyncs Reads/Sec Writes/Sec Bytes/Sec
26 3 3 0.00 0.00 0
_____________________ Log Statistics _____________________
Sequence No. Flushed To Last Checkpoint IO Done IO/Sec
0 5543709 0 5543709 0 5543709 8 0.00
InnoDB バッファ
このセクションでは、InnoDB バッファ プール、ページ統計、挿入バッファ、およびアダプティブ ハッシュ インデックスに関する情報が表示されます。 >。データはSHOW INNODB STATUSから取得されます。
__________________________ Buffer Pool __________________________
Size Free Bufs Pages Dirty Pages Hit Rate Memory Add'l Pool
512 492 20 0 -- 16.51M 841.38k
____________________ Page Statistics _____________________
Reads Writes Created Reads/Sec Writes/Sec Creates/Sec
20 0 0 0.00 0.00 0.00
______________________ Insert Buffers ______________________
Inserts Merged Recs Merges Size Free List Len Seg. Size
0 0 0 1 0 2
__________________ Adaptive Hash Index ___________________
Size Cells Used Node Heap Bufs Hash/Sec Non-Hash/Sec
33.87k 0 0.00 0.00
InnoDB 行操作
ここでは、InnoDB 行操作、その他の行操作、セマフォ、および待機配列テーブルの出力が表示されます。デフォルトでは。
________________ InnoDB Row Operations _________________
Ins Upd Read Del Ins/Sec Upd/Sec Read/Sec Del/Sec
0 0 0 0 0.00 0.00 0.00 0.00
________________________ Row Operation Misc _________________________
Queries Queued Queries Inside Rd Views Main Thread State
0 0 1 waiting for server activity
_____________________________ InnoDB Semaphores _____________________________
Waits Spins Rounds RW Waits RW Spins Sh Waits Sh Spins Signals ResCnt
2 0 41 1 1 2 4 5 5
____________________________ InnoDB Wait Array _____________________________
Thread Time File Line Type Readers Lck Var Waiters Waiting? Ending?
コマンドの概要
コマンド概要モードでは、以下のようなすべての cmd_summary テーブルが表示されます。
_____________________ Command Summary _____________________
Name Value Pct Last Incr Pct
Com_update 11980303 65.95% 2 33.33%
Com_insert 3409849 18.77% 1 16.67%
Com_delete 2772489 15.26% 0 0.00%
Com_select 507 0.00% 0 0.00%
Com_admin_commands 411 0.00% 1 16.67%
Com_show_table_status 392 0.00% 0 0.00%
Com_show_status 339 0.00% 2 33.33%
Com_show_engine_status 164 0.00% 0 0.00%
Com_set_option 162 0.00% 0 0.00%
Com_show_tables 92 0.00% 0 0.00%
Com_show_variables 84 0.00% 0 0.00%
Com_show_slave_status 72 0.00% 0 0.00%
Com_show_master_status 47 0.00% 0 0.00%
Com_show_processlist 43 0.00% 0 0.00%
Com_change_db 27 0.00% 0 0.00%
Com_show_databases 26 0.00% 0 0.00%
Com_show_charsets 24 0.00% 0 0.00%
Com_show_collations 24 0.00% 0 0.00%
Com_alter_table 12 0.00% 0 0.00%
Com_show_fields 12 0.00% 0 0.00%
Com_show_grants 10 0.00% 0 0.00%
変数とステータス
このセクションでは秒あたりのクエリ数などの統計を計算し、さまざまなモードで表示します。
QPS Commit_PS Rlbck_Cmt Write_Commit R_W_Ratio Opens_PS Tbl_Cch_Usd Threads_PS Thrd_Cch_Usd CXN_Used_Ever CXN_Used_Now
0 0 0 18163174 0 0 0 0 0 1.99 1.32
0 0 0 18163180 0 0 0 0 0 1.99 1.32
0 0 0 18163188 0 0 0 0 0 1.99 1.32
0 0 0 18163192 0 0 0 0 0 1.99 1.32
0 0 0 18163217 0 0 0 0 0 1.99 1.32
0 0 0 18163265 0 0 0 0 0 1.99 1.32
0 0 0 18163300 0 0 0 0 0 1.99 1.32
0 0 0 18163309 0 0 0 0 0 1.99 1.32
0 0 0 18163321 0 0 0 0 0 1.99 1.32
0 0 0 18163331 0 0 0 0 0 1.99 1.32
レプリケーションステータス
このモードでは、スレーブ SQL ステータス、スレーブ I/O ステータス、およびマスター ステータスの出力が表示されます。最初の 2 つのセクションはスレーブ ステータスとスレーブ I/O スレッド ステータスを示し、最後のセクションはマスター ステータスを示します。
_______________________ Slave SQL Status _______________________
Master On? TimeLag Catchup Temp Relay Pos Last Error
172.16.25.125 Yes 00:00 0.00 0 41295853
____________________________________ Slave I/O Status _____________________________________
Master On? File Relay Size Pos State
172.16.25.125 Yes mysql-bin.000025 39.38M 41295708 Waiting for master to send event
____________ Master Status _____________
File Position Binlog Cache
mysql-bin.000010 10887846 0.00%
非対話型
「innotop」は非対話的に実行できます。
# innotop --count 5 -d 1 -n
uptime max_query_time time_behind_master connections locked_count qps spark_qps run spark_run open slave_running longest_sql
61d 2 0 0.000363908088893752 64 Yes
61d 2 0 4.96871146980749 _ _ 64 Yes
61d 2 0 3.9633543857494 ^_ __ 64 Yes
61d 2 0 3.96701862656428 ^__ ___ 64 Yes
61d 2 0 3.96574802684297 ^___ ____ 64 Yes
リモートデータベースの監視
リモート システム上のリモート データベースを監視するには、特定のユーザー名、パスワード、およびホスト名を使用して次のコマンドを使用します。
# innotop -u username -p password -h hostname
「innotop」の使用法とオプションの詳細については、端末で「man innotop」を押してマニュアルページを参照してください。
参考リンク
イノトップのホームページ
こちらもお読みください :
- RHEL/CentOS/Fedora の Mtop (MySQL データベース監視)