したがって、いくつかの統計情報を監視するためにNagiosXIでcheck_json.plを設定しようとしています。 https://github.com/c-kr/check_jsoncheck_json.plのJSONクエリの属性構文
私はcode with the modification I submitted in pull request #32を使用していますので、行番号にそのコードが反映されています。私は特定のファイルのサイズを監視しようとしている
[
{
"total_bytes": 123456,
"customer_name": "customer1",
"customer_id": "1",
"indices": [
{
"total_bytes": 12345,
"index": "filename1"
},
{
"total_bytes": 45678,
"index": "filename2"
},
],
"total": "765.43gb"
},
{
"total_bytes": 123456,
"customer_name": "customer2",
"customer_id": "2",
"indices": [
{
"total_bytes": 12345,
"index": "filename1"
},
{
"total_bytes": 45678,
"index": "filename2"
},
],
"total": "765.43gb"
}
]
:
JSONクエリは、このような何かを返します。私は私がいないCUSTOMER_IDとインデックスが、その位置を知るcustomer2でファイル名1のTOTAL_BYTESを監視できるように代を把握しようとしている
/path/to/check_json.pl -u https://path/to/my/json -a "SOMETHING" -p "SOMETHING"
...:そうチェックは次のようになりますそれぞれのアレイにおいて。
文字列「[0]->{'total_bytes'}
」を使用してcustomer1の合計バイト数を監視できますが、どの顧客を指定し、ファイル名(既知)とファイルサイズ(監視する統計情報)を詳しく調べることができ、ステータス(OK、WARNING、またはCRITICAL)を確認します。私が得るすべての-p追加すると、私はそれが常にあるフレーズにできましたか-pどんなにでエラー....
エラーです:
Not a HASH reference at ./check_json.pl line 235.
私はOK有効を得ることができた場合でも"[0]->{'total_bytes'}
"の例では、-pのそれを使用しても同じエラーが返されます。
使用する書式のドキュメントを指すリンクは非常に役立ちます。スクリプトのREADMEや-h出力の例は、ここでは失敗しています。何か案は?
https://stackoverflow.com/help/mcveを参照してください。 –
あなたと元のcheck_jsonとの間に大きな隔たりがあるのは、JSONが返されるJSONが単一のオブジェクトであると予想しているのに対し、JSONはオブジェクトの配列です。あなたの$ json_responseはARRAY ref:行235(そして229行目、259行目、265行目)はHASH refであると予想しています。 –