Zabbixサーバーは良いです。 適切に構成され、サーバーと必要なノードを監視します。 それらに問題がある場合、彼は喜んで電子メールで私に通知します。 少し前まで、私たちのお気に入りのプロバイダー(プライマリおよびバックアップインターネットチャネル)の両方が、建物内のネットワーク機器をUPSに提供しないことを決定したことが判明しました。 したがって、電気が切れると(そしてそれが起こると!)Zabbixは元気な手紙で目を覚ますことができますが、何もありません! 一般的に、私はSMSを介して通知に悩まされることにしました。 GSMモデムを介してインターネットに依存しません。
インターネットでZabbixにSMSを送信するオプションを検索したところ、 解決策を見つけましたが、長い間思えました。 したがって、「膝の上で」自分のやり方でやった。 複雑ではない実用的なソリューションと「レーキ」について詳しく説明しようと思います。
だから私が持っていたもの:
- OC Debian 7上のZabbix 2.4-複数のサーバーを監視し、そのうちの1つはAPC smart ups 3000 USBケーブルで接続されています。
- 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"
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コストはほとんどありません。