2

API 経由でメトリクスを取得するために単純な curl を使用しています。問題は、出力が引数の量で固定されているが、出力内の位置が固定されていないことです。

ツールはこれのみを受け入れるため、「単純な」正規表現を使用してこれを行う必要があります。

/"name":"(.*)".*?"memory":(\d+).*?"consumer_utilisation":(\w+|\d+).*?"messages_unacknowledged":(\d+).*?"messages_ready":(\d+).*?"messages":(\d+)/s

それはうまくいきます:

{"name":"queue1","memory":89048,"consumer_utilisation":null,"messages_unacknowledged":0,"messages_ready":0,"messages":0}

ただし、出力順序が変更されると、一致しなくなります。

{"name":"queue2","consumer_utilisation":null,"messages_unacknowledged":0,"messages_ready":0,"messages":0,"memory":21944}
{"name":"queue3","consumer_utilisation":null,"messages_unacknowledged":0,"messages_ready":0,"memory":21944,"messages":0}

文字列がどの位置に表示されるかわからないため、一致する文字列の相対的な定義が必要です。その合計で 9 つの異なるキュー メトリック グループ。

4

1 に答える 1