APC(PHP)のメモリ使用率をチェックするNagiosプラグイン 鈴木 宏康 エンジニアブログ 2013.09.13 x facebook はてなブックマーク pocket # cat apc_sma_info.php Webサーバ経由でアクセスすると下記のように出力されます。 # curl -s http://localhost/apc_sma_info.php{ "num_seg":1, "seg_size":67108728, "avail_mem":58670064, "block_lists":[ [ {"size":58670024,"offset":8438760} ] ]} 使用率は下記のように計算できます。 # curl -s http://localhost/apc_sma_info.php | jq '100 - .avail_mem / .num_seg / .seg_size * 100' | cut -d. -f112 上記を使ってNagiosプラグインを作ってみます。 # cd /usr/lib64/nagios/plugins# cat check_apc_sma#!/bin/sh. `dirname $0`/utils.shset -etrap 'echo "UNKNOWN: $?"; exit $STATE_UNKNOWN' ERRWARN=0CRIT=0while getopts c:w:u: OPTNAME; do case $OPTNAME in w) WARN=$OPTARG ;; c) CRIT=$OPTARG ;; u) URL=$OPTARG ;; *) echo "UNKNOWN: Usage" exit $STATE_UNKNOWN ;; esacdoneUSAGE=`curl -s $URL | jq '100 - .avail_mem / .num_seg / .seg_size * 100' | cut -d. -f1`if [ $USAGE -gt $CRIT ]; then echo "CRITICAL USAGE $USAGE%|usage=$USAGE%;$WARN;$CRIT;0;100" exit $STATE_CRITICALelif [ $USAGE -gt $WARN ]; then echo "WARNING USAGE $USAGE%|usage=$USAGE%;$WARN;$CRIT;0;100" exit $STATE_WARNINGelse echo "OK USAGE $USAGE%|usage=$USAGE%;$WARN;$CRIT;0;100" exit $STATE_OKfiecho "UNKNOWN: End"; exit $STATE_UNKNOWN 実行すると下記のようになります。 # ./check_apc_sma -c 20 -w 10 -u http://localhost/apc_sma_info.php ; echo $?WARNING USAGE 12%|usage=12%;10;20;0;1001 あとはNagiosに組み込むだけになります。 こちらの記事はなかの人(suz-lab)監修のもと掲載しています。元記事は、こちら エンジニアブログ この記事を書いた人 鈴木 宏康 facebook 愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。 鈴木 宏康が書いた記事 x facebook はてなブックマーク pocket 関連記事Related Articles エンジニアブログ 2011.08.17 Postfix Adminを設定する(MySQL/postfix/設定編) エンジニアブログ 2011.08.16 MySQLのレプリケーションをSSL接続で エンジニアブログ 2011.08.15 RDS上のOracleライセンス(BYOL)について エンジニアブログ 2016.04.19 cloudpack杯 第5回 ICTトラブルシューティングコンテストに参加なう エンジニアブログ 2016.04.19 CentOS6 fsckを強制/抑止する