質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

1回答

2793閲覧

ZabbixのSNMPで取得した文字列を数値へ変換したい

Perfume-T-Anata

総合スコア25

0グッド

1クリップ

投稿2019/08/13 10:36

Zabbixでネットワーク機器のSNMP監視をしています。
CPUの使用率を取得するためOIDを指定して取得は可能になったのですが
もともとがSTRING型のデータの為取得したデータが文字列でZabbixに保存されてしまいます。

こちらをメトリック型へ変更する方法はありますでしょうか?

環境

zabbix_server -V
zabbix_server (Zabbix) 3.4.9
Revision 80550 9 May 2018, compilation time: May 9 2018 10:02:30

Copyright (C) 2018 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

アイテムのデータ型を数値(整数)又は数値(浮動小数)に変更してみてはいかがでしょうか。

投稿2019/08/13 10:55

編集2019/08/13 11:34
scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Perfume-T-Anata

2019/08/14 14:25

それだとエラーになってしまうんですよね。 取得元のデータがSTRINGの場合数値にできないんでしょうか?
scsi

2019/08/14 15:40 編集

取得するあたいに数値以外のデータも混ざっていないか確認してもらえないでしょうか? %や空白が含まれているとか。。。 ちなみに下記のSTRING型は数値(整数)で問題なく値を取得できました。試したzabbix-serverは4.0.7です。 .1.3.6.1.2.1.25.4.2.1.5.9698 = STRING: "9424"
Perfume-T-Anata

2019/08/16 01:28

ご回答ありがとうございます! 状況を簡単に説明すると以下のOIDを取得すると下記文字列が返されます snmpwalk -v 2c -c public 192.168.2.12 .1.3.6.1.4.1.XXXX.11.1.1.4.9.0 SNMPv2-SMI::enterprises.XXXX.11.1.1.4.9.0 = STRING: " 5 Secs ( 22.5512%) 60 Secs ( 26.8974%) 300 Secs ( 27.7579%)" このSTRINGを保存前処理で以下のパラメータを入れて数値のみにしております。 正規表現 パラメータ:5 Secs (\s([0-9.]+)%).+60 Secs パラメータ:\1 上記のパラメータを入れるときちんと分割されて数値(浮動小数点)として保存されました! 原因としては正規表現で入力していたパラメータに誤りがあったようです! ありがとうございました!
scsi

2019/08/16 12:10

解決して何より
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問