snmpエージェントを使用したリソース監視(使用率)について

Zabbixエージェントなしの環境にて、snmpエージェントを使用して
メモリ使用率やディスク使用率のリソース監視をしたいと考えています。

http://www.sraoss.co.jp/technology/zabbix/introduction/02-2ndstep.php
(外部サイトですが、上記URLにできると思われる記述があるため投稿)

以下のアイテム設定にてそれぞれの値(下記)については取得できています。

タイプ:snmp v2
SNMP OID:
 UCD-SNMP-MIB::memAvailReal.0 → メモリ空き容量
 UCD-SNMP-MIB::memTotalReal.0 → メモリ搭載容量
 UCD-SNMP-MIB::dskUsed.1 → ディスク使用量
 UCD-SNMP-MIB::dskAvail.1 → ディスク空き容量
 UCD-SNMP-MIB::dskTotal.1 → ディスク全容量

使用率にて監視したいと考えており、実現可能な設定方法があるようでしたら
ご教示いただきたくよろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

それぞれの値が取得できているのであれば、それらの値を利用した
計算アイテムを作成すれば実現できると思います。

例えば、メモリの使用率なら、

 100 - (100 * メモリ空き容量 / メモリ搭載容量)

という式の計算アイテムを作成してみてください。

ユーザー Keiichi_2709 の写真

早速のご返信ありがとうございます。

別のアイテムをご回答の計算式で作成すればいいということだと
思うのですが、、式にどう書けば良いかが分からないです。

タイプ:計算
式:・・・

(別のアイテムにて)取得した値を、計算式にどう表現すれば良いかがわかりません。

メモリ空き容量 の取得に設定したアイテムのキー名や
snmp oid等を使用してみましたがダメでした。

他のアイテムで取得した値を別のアイテムでどう使えばよいのか
教えて頂けますと助かります。

ユーザー TNK の写真

どうせっていされて駄目だったのか、それぞれのアイテムとして
どのように設定されているのかをお教えください。

各アイテムとしてどう設定されていて、どう駄目であったのかが
わかりませんので、現時点でどこまでどのように設定されている
のかの情報がないとどのように設定すべきかを判断できませんので
よろしくお願い致します。

ユーザー Keiichi_2709 の写真

#返信にて再投稿

現時点の設定内容は以下の通りです。

1.メモリ空き容量取得アイテム(成功)

タイプ:SNMPv2エージェント
SNMP OID:UCD-SNMP-MIB::memAvailReal.0
SNMPコミュニティ:public → (例)
SNMPポート:161
キー:proc.mem[,,,]
データ型:数値(浮動小数)
単位:B
乗数を使用:チェック有り 1024
(以下略)

2.メモリ搭載容量取得アイテム(成功)

タイプ:SNMPv2エージェント
SNMP OID:UCD-SNMP-MIB::memTotalReal.0
SNMPコミュニティ:public → (例)
SNMPポート:161
キー:vm.memory.size[]
(以下、上記1に同じ)

3.メモリ使用率取得アイテム(失敗)

タイプ:計算
キー:system.stat[resource <,type>]
式:(((UCD-SNMP-MIB::memTotalReal.0)-(UCD-SNMP-MIB::memAvailReal.0))/(UCD-SNMP-MIB::memTotalReal.0))*100
データ型:数値(浮動小数)
単位:%

現時点で3の式にどう書けば良いのかが分からない状態です。
(別の方法で使用率を取得、計算できるのかもしれないですが・・)

※キーは適当に選択してます。

よろしくお願いいたします。

ユーザー Keiichi_2709 の写真

現時点の設定内容は以下の通りです。

1.メモリ空き容量取得アイテム(成功)

タイプ:SNMPv2エージェント
SNMP OID:UCD-SNMP-MIB::memAvailReal.0
SNMPコミュニティ:public → (例)
SNMPポート:161
キー:proc.mem[,,,]
データ型:数値(浮動小数)
単位:B
乗数を使用:チェック有り 1024
(以下略)

2.メモリ搭載容量取得アイテム(成功)

タイプ:SNMPv2エージェント
SNMP OID:UCD-SNMP-MIB::memTotalReal.0
SNMPコミュニティ:public → (例)
SNMPポート:161
キー:vm.memory.size[]
(以下、上記1に同じ)

3.メモリ使用率取得アイテム(失敗)

タイプ:計算
キー:system.stat[resource <,type>]
式:(((UCD-SNMP-MIB::memTotalReal.0)-(UCD-SNMP-MIB::memAvailReal.0))/(UCD-SNMP-MIB::memTotalReal.0))*100
データ型:数値(浮動小数)
単位:%

現時点で3の式にどう書けば良いのかが分からない状態です。
(別の方法で使用率を取得、計算できるのかもしれないですが・・)

※キーは適当に選択してます。

よろしくお願いいたします。

ユーザー TNK の写真

各アイテムのキーの名称は、Zabbixエージェントが持っているキーとは
別のキーを付与してください。

例えば、snmp.memAvailRealとかsnmp.memTotalRealとかでも構いません。
他の元々Zabbixに用意されているキーとは別の名前を付与することが必要
です。

その後、新規に降り直したキーを利用した式を記述してみてください。

ユーザー Keiichi_2709 の写真

設定を以下のように修正しましたが、使用率が取得できません。
3の計算式など、誤りがあればご指摘のほどよろしくお願いします。

1.メモリ空き容量取得アイテム(成功)

タイプ:SNMPv2エージェント
SNMP OID:UCD-SNMP-MIB::memAvailReal.0
SNMPコミュニティ:public → (例)
SNMPポート:161
キー:snmp.memAvailReal
データ型:数値(浮動小数)
単位:B
乗数を使用:チェック有り 1024
(以下略)

2.メモリ搭載容量取得アイテム(成功)

タイプ:SNMPv2エージェント
SNMP OID:UCD-SNMP-MIB::memTotalReal.0
SNMPコミュニティ:public → (例)
SNMPポート:161
キー:snmp.memTotalReal
(以下、上記1に同じ)

3.メモリ使用率取得アイテム(失敗)

タイプ:計算
キー:snmp.memUsedRate
式:(((snmp.memTotalReal) - (snmp.memAvailReal)) / (snmp.memTotalReal)) * 100
データ型:数値(浮動小数)
単位:%

以上、よろしくお願いいたします。

ユーザー TNK の写真

すみません。
提供する情報で省略してしまっていた部分がありました。

各キーの最新の値を利用して計算することになると思うのですが、
そうであるならば、以下のような式になると思います。

 ((last("snmp.memTotalReal") - last("snmp.memAvailReal")) / last("snmp.memTotalReal")) * 100

ご確認ください。

ユーザー Keiichi_2709 の写真

ありがとうございます。

丁度調べていて、最新の値を取得するには last を使用する必要があることに気付き、
先ほど試してみてうまく採取できました。【解決】

この度は、ご教示いただき誠にありがとうございました。