マスターの場合
postgres=# SELECT pg_is_in_recovery(); pg_is_in_recovery ------------------- f (1 row) postgres=#
f
が返る。
スレーブの場合
postgres=# SELECT pg_is_in_recovery(); pg_is_in_recovery ------------------- t (1 row) postgres=#
t
が返る。
postgres=# SELECT pg_is_in_recovery(); pg_is_in_recovery ------------------- f (1 row) postgres=#
f
が返る。
postgres=# SELECT pg_is_in_recovery(); pg_is_in_recovery ------------------- t (1 row) postgres=#
t
が返る。
帯域制限をおこないたいコマンドの前にこのコマンドをつけて実行すると帯域制限がかけられる。
apt-get install trickle
trickle -s -d 128 -u 128 curl -L -O http://ftp.riken.jp/Linux/ubuntu-releases/16.04/ubuntu-16.04.3-server-amd64.iso
-s
スタンドアロンモードで実行コマンドのみに適用したいときに使用する。-d
ダウンロードの帯域を指定(単位はKB/s)-u
アップロードの帯域を指定(単位はKB/s)
上記だと128KB/sなので
128KB/s * 8bit = 1024Kb/s
となり1Mb/sの制限になる。
以下のようにダウンロード・アップロードのそれぞれの帯域だけを指定することも可能
trickle -s -d 128 curl -L -O http://ftp.riken.jp/Linux/ubuntu-releases/16.04/ubuntu-16.04.3-server-amd64.iso
trickle -s -u 128 curl -L -O http://ftp.riken.jp/Linux/ubuntu-releases/16.04/ubuntu-16.04.3-server-amd64.iso
現状のトラフィック(帯域)の確認が出来る。
apt-get install vnstat
vnstat --live -i eth0
--live
でリアルタイムで表示-i
でインターフェースを指定$ vnstat --live -i eth0 Monitoring eth0... (press CTRL-C to stop) rx: 1.07 Mbit/s 109 p/s tx: 13 kbit/s 23 p/s
1Mb/sの制限がかかっていることが分かる。
Treasure Data社のOSSワークフローエンジン『Digdag』のプロセス数をZabbixで監視させようした際、
同じサーバーに別のJavaのプロセスがあったのでDigdagのプロセス数だけを監視させるにはどうしたもんかなーと悩みました。
が、ドキュメントを見たら設定方法が分かりました。
proc.num[digdag]
Digdagはプロセス名がjavaなのでこれだと引っかからない。
↓
proc.num[java]
これだと同じサーバーにDigdag以外にJavaのプロセスがあるとDigdagのプロセス監視にならない。
↓
proc.num[java,,,digdag]
これでDigdagのプロセス数だけ取得出来ました。
proc.num[<name>, <user>, <state>, <cmdline>]
パラメータ | 説明 | デフォルト | 設定値 |
---|---|---|---|
name | プロセス名 | 全てのプロセス | |
user | プロセスの実行ユーザ名 | 全てのユーザ | |
state | 監視するプロセスの状態を指定 | 全ての状態 | all(全ての状態)、run(実行中)、sleep(スリープ状態)、zomb(ゾンビ状態) |
cmdline | フィルタする文字列 |
$ zabbix_get -s example.com -k proc.num[java] 3
$ zabbix_get -s example.com -k proc.num[java,,,digdag] 1