リモートコマンドにて特定の文字を置換したい
いつもフォーラムではお世話になっています。
前に、アクションのリモートコマンドでシェルに改行項目を渡したいという内容を質問させていただきました。
http://www.zabbix.jp/node/1532
その際に提示していただいた方法(メディアタイプに登録しメール送信設定)で実現できました。
ありがとうございました。
また、この内容に絡むのですが、
改行コードをスペースなどに置換して渡すことは可能でしょうか?
現在、考えている項目は
トリガーコメント({TRIGGER.COMMENT})
最新の値({ITEM.LASTVALUE})
となります。
これらの項目内に改行が存在する場合、スペースなどに置換し、1行にしたいのです。
例)
<トリガーコメント{TRIGGER.COMMENT}>
-----------------------
TH[改行]
トリガーコメント欄
--- ↓↓↓ ------------
TH トリガーコメント欄
-----------------------
すみませんが、よろしくお願いします。
TNK - 投稿数: 4769
リモートコマンドでは、先日も回答させて頂いた通りの動きのよう
ですので、改行を含む引数は渡せないようです。
呼び出す前の部分に置換の処理は組み込むためには、Zabbixのソー
スの変更が必要だと思われます。
こちらの場合も、メディアを利用してシェルスクリプト内で引数か
ら変数に取得する際に、ダブルクォーテーションで括ると改行が生
かされ、括らないとスペースで区切られてつなげられるという動作
を利用されてはいかがでしょうか。
例1:
echo "$@" >> /tmp/Shell_dbg.log
例2:
echo $@ >> /tmp/Shell_dbg.log
他にも、sedなどと組み合わせると柔軟な置換が行えると思います。
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231161/
GUITU - 投稿数: 20
TNK様
いつもありがとうございます。
やはりZabbixのソースに手を加えないと駄目ですか。
了解しました。
メディアを使用した方法でしたら、改行付きのデータもシェルに
渡せることを確認してありますので、渡した後に置換するように
してみます。
ありがとうございました。