原点回帰!IT業界に蔓延る技術力0の元ダメPMのブログ

原点回帰で技術力をつけたい技術力0の元ダメPMです。技術力がないとやっていけないフリーランスエンジニアの世界に背水の陣で飛び込みました。本ブログでは技術の話だけでなく起業の事とかお金の事とかなんでも備忘録的に綴って行きます。

指定したプロセスのCPU使用率をZabbixで取得する

先日業務で特定のプロセスのCPU使用率を監視する必要があったので単純にpsコマンドでの取得を考えたのですが、一筋縄では行きませんでした。

と言うのもpsコマンドの出力結果はプロセスによって複数行にわたる事もある為、全ての行の使用率を集計しないときちんとした結果にならず、仕方がないので結果が複数業行でもきちんと集計してくれるようにawkを使いワンライナーを書きました。

そのワンライナーも含めて記事にしましたので、よければご活用ください。

環境

■Zabbixサーバ
 ・CentOS7.4
 ・Zabbix-Server3.4.5

■Zabbixクライアント
 ・CentOS7.4
 ・Zabbix-Agent3.4.5

クライアントの設定を行う

Zabbixクライアントのzabbix_agentd.confに以下を追記する。

# vi /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1
UserParameter=proc_info_cpu[*],ps auwx | grep -v grep | grep $1 | awk '{sum += $$3}END{print sum}'


UnsafeUserParameters=1
↑これを追記する事でによりUserParameterの引数に特殊文字を渡せる様になる。

UserParameter=proc_info_cpu[*],ps auwx | grep -v grep | grep $1 | awk '{sum += $$3}END{print sum}'
↑これを追記する事で、指定プロセスのCPU使用率を取得する「proc_info_cpu[プロセス名]」アイテムが使用できる

設定値を反映させる為、Zabbix-agentdを再起動する

# systemctl restart zabbix-agent

これでクライアント側の設定は完了です。
続いてWebコンソールからアイテムを追加します。

WEBコンソールからアイテムを追加する

ZabbixのWEBコンソールにログインし、「設定 > ホスト > アイテムの作成」にてアイテム追加画面を表示させる

以下の通り設定を入力し、アイテムを作成する。

名前:任意
タイプ:Zabbixエージェント
キー:proc_info_cpu[プロセス名]
データ型:浮動小数点数
単位:%

それ以外の項目:任意で設定下さい

以上で完了です。