Zabbixは、GSMモデムを使用してSMS経由で警告します。 簡単セットアップ



Zabbixサーバーは良いです。 適切に構成され、サーバーと必要なノードを監視します。 それらに問題がある場合、彼は喜んで電子メールで私に通知します。 少し前まで、私たちのお気に入りのプロバイダー(プライマリおよびバックアップインターネットチャネル)の両方が、建物内のネットワーク機器をUPSに提供しないことを決定したことが判明しました。 したがって、電気が切れると(そしてそれが起こると!)Zabbixは元気な手紙で目を覚ますことができますが、何もありません! 一般的に、私はSMSを介して通知に悩まされることにしました。 GSMモデムを介してインターネットに依存しません。

インターネットでZabbixにSMSを送信するオプションを検索したところ、 解決策を見つけましたが、長い間思えました。 したがって、「膝の上で」自分のやり方でやった。 複雑ではない実用的なソリューションと「レーキ」について詳しく説明しようと思います。

だから私が持っていたもの:

  1. OC Debian 7上のZabbix 2.4-複数のサーバーを監視し、そのうちの1つはAPC smart ups 3000 USBケーブルで接続されています。
  2. GSMモデムHuawei e1550(Megaphone)。有線インターネットがないため、自宅に横たわっています。 実践が示しているように、すでに構成済みのシステムに別のHuaweiモデムを挿入しても、再構成を必要とせずに機能します!

端末からsmsを送信するために、gnokiiを使用しました。

行こう:

# apt-get install gnokii 

GSMモデムをサーバーに挿入し、以下を確認します。

 # lsusb 

とりわけ、次のようなものがあります。

 バス001デバイス009:ID 12d1:14ac Huawei Technologies Co.、Ltd. 


モデムとして決定されたかどうかを確認します。

 # ls /dev/ttyUSB* 

空の場合(そして私が空だった場合):

 # apt-get install usb-modeswitch 

モデムを引き出して再挿入します。

決定されたかどうかを確認します。

 # ls /dev/ttyUSB* 

次のようなものが表示されます。

  / dev / ttyUSB0 / dev / ttyUSB1 / dev / ttyUSB2 


それは最初のSMSを送信する前に少し残っています!

gnokii構成を作成します。 私はそれを/家に置いた

 # nano /home/user/sms.conf 

構成テキスト
 [global] port = /dev/ttyUSB0 model = AT initlength = default connection = serial use_locking = no serial_baudrate = 115200 


保存してテストします。

 # echo "text" | gnokii --config /home/user/sms.conf --sendsms +7 

(+ 7XXXXXXXXXXX-もちろん、ここにあなたが送信する必要がある番号)

SMSは問題なく提供されるはずです。 これに関するすべての指示はインターネット上にあり、その瞬間まで私は何の問題もありませんでした。

さらに重要です!

システム内のZabbixは、ユーザーzabbixから機能します。 彼がモデムを使用できるようにします。

 # nano /etc/group 

 ダイヤルアウト:x:20:zabbix 


それ以外の場合、このユーザーから送信すると、次のようなメッセージが表示されます。

GNOKIIバージョン0.6.30
Gnokii serial_open:open:許可が拒否されました
ATBUSデバイスを開けませんでした:許可が拒否されました
電話インターフェイスの初期化に失敗しました:コマンドが失敗しました。
終了します。
コマンドが失敗しました。

送信時にエラーが発生した場合でも:

ログファイル./gnokii-errorsを開けません
警告:ログファイルを開けません。ログはstderrに送られます

これは、パスに沿ってファイルが見つからなかったことを意味します。

  〜/ .cache / gnokii / gnokii-errors 


パスワードなしでsudoを使用するために、ユーザーの許可を変更します。

 # nano /etc/sudoers 

  zabbix ALL =(すべて)NOPASSWD:/ usr / bin / gnokii 


次に、ユーザーzabbixとしてログインし、非常に簡単なスクリプトを作成します。

  nano /home/user/smsscript 


スクリプトテキスト
#!/ bin / sh
zabbixesmsto = 1ドル
zabbixsubject = 2ドル
echo "$ zabbixsubject" | / usr / bin / sudo / usr / bin / gnokii --config /home/user/sms.conf --sendsms "$ zabbixesmsto"



保存します。 すなわち/ usr / bin / sudoおよび/ usr / bin / gnokii-私にとってこれは重要であることがわかりました!

ルートから行うことを忘れないでください:

 # chmod +x /home/user/smsscript 

スクリプトを確認します。

 /home/user/smsscript +7XXXXXXXXXX test 

SMSが届いたら-すべてがほぼ準備完了です! Zabbixに固定されたままです。 来なかった場合は、上記のようにすべてが完了したかどうかを確認します。

zabbix_server.conf configにAlertScriptsPath = / home / user /と書かれているため、/ home / user /にzabbix用のスクリプトを作成しました。

何か問題がある場合は、スクリプトの場所を変更するか、設定で/ home / user /にパスを変更してください。zabbixサーバーを再起動することを忘れないでください!

Zabbixインターフェースで、管理-通知方法に移動します。

通知方法を作成します。

画像

次に、zabbixでユーザーのアラートを設定します。 管理-ユーザー。

画像

そしてカスタマイズ-アクション。

画像

特定のトリガーがトリガーされた場合にのみ、すべての理由でsmsが届かないように、別のアクションを実行しました。 SMSで送信する場合、トピックのみが書き込まれるため、メッセージ自体に何かを書き込む意味はありません。 そして追加された条件で:

画像

以上です! 私はIPBコンセントから引き抜き、数分後にzabbiksaから怒ったSMSを受け取りました! 今、彼は私をどこにでも連れて行きます、感染!

PS:電気は頻繁にオフにならないため、SMSコストはほとんどありません。

Source: https://habr.com/ru/post/J270497/


All Articles