
CentreonアラートをGoogleHomeに送信する
私たちが少しオタクで、GoogleHomeと呼ばれるインテリジェントなアシスタントが手元にある場合, CentreonまたはNagiosに基づく監視システムがあり、そこでアラートを聞きたいと考えています, これがあなたの投稿です!
悪くありません, これを達成するには、Centreon監視サーバーでいくつかの手順を実行する必要があります, Pythonスクリプトのおかげでそれを達成します 3, これにより、引数としてGoogleHomeにテキストを送信できます.
少なくともPythonを持っていることを考慮に入れます 3.5:
Sudo yum install RH-Python35 SCL enable RH-Python35 Bash
そして、私たちはそれを永続的に有効にします, 私の '/etc/profile.d/enablepython35.sh'の例:
#!/ビン/バッシュ
ソースscl_source RH-python35 を有効にします
その後は, Centreonサービスを再起動して、Centreon-engineセッションを再度ロードしてPython3を実行する必要があります.
私たちが確かに好きではないもの, しかし、私はそれを要件として書き留めています, ユーザーcentreon-centengineはsudo権限を持っている必要があります, 「ヴィスド」を実行しました’ そして、対応する部分に次の行を追加します:
センターオンエンジンALL=(すべての) ノパスWD:すべての
このスクリプトをダウンロードします, 私の場合は「mensaje_google_home.sh」と呼んでいました:
#! /usr/bin/python3.5 です。
#
# GoogleHomeで何かを話した
#
# 使う: ./ghome_say [ghome_ip] [text_to_say]
#
#
import sys import pychromecast import os import os.path from gtts import gTTS import time import hashlib ip=sys.argv[1];
say=sys.argv さん[2];
#********* 私のRPI3インポートソケットのローカルIPを取得する s = socket.socket(socket.AF_INET, ソケット。SOCK_DGRAM)
S.コネクト(("8.8.8.8", 80))
local_ip=s.getsockname()[0]
s.閉じる()
#**********************
fname=hashlib.md5(say.encode()).ヘックスダイジェスト()+".MP3の"; #キャッシュ用の md5 ファイル名を作成します castDevice = Pychromecast。Chromecastの(IPアドレス)
castdevice.wait()
vol_prec=castdevice.status.volume_level castdevice.set_volume(0.0) #ボリュームの設定 0 BEEEPの試しを聞かない:
os.mkdir("/var/www/html/mp3_cache/")
除く:
os.path.isfileでない場合はパスします("/var/www/html/mp3_cache/"+fname):
tts = gTTS(言う,lang='es')
tts.save(英語)("/var/www/html/mp3_cache/"+fname)
MC=castdevice.media_controller mc.play_media("HTTPの://"+local_ip+"/mp3_cache/"+fname, "オーディオ/MP3")
mc.block_until_active()
mc.pause() #オーディオを準備して一時停止します。.
時間.スリープ(1)
castdevice.set_volume(vol_prec) #ボリュームを先行値time.sleepに設定する(0.2)
MC.プレイ() #mc.status.player_is_idleせずにMP3を再生する:
時間.スリープ(0.5)
MC.ストップ()
castdevice.quit_app()
Lo hacemos ejecutable y lo probamos:
python3 mensaje_google_home.sh DIRECCION_IP_GOOGLE_HOME mensaje_google_home.sh chmod +x "テスティング, テスティング"
Veremos cómo nuestro altavoz inteligente de Google Home nos dirá el texto que pusimos en el ejemplo. 悪くありません, Ahora llevaremos esto a Centreon, これは, 上記のスクリプトを使用して、ホストアラート用の通知コマンドとサービスアラート用の通知コマンドを作成します.
これを行うには、, から “構成” > “コマンド” > “通知”, Google Home用のコマンドを作成して、次のコマンド ラインで何が起こるかをホストに警告します:
python3 /usr/lib/centreon/plugins/mensaje_google_home.sh DIRECCION_IP_GOOGLE_HOME "ホスト$HOSTNAME$ ($ホストアドレス$) $HOSTSTATE$ステータスである"
そして、別のコマンドを実行します, しかし、今回はサービスに警告するために, そして、次の行で十分です:
python3 /usr/lib/centreon/plugins/mensaje_google_home.sh DIRECCION_IP_GOOGLE_HOME "$HOSTNAME$では、$SERVICEDESC$サービスは$SERVICESTATE$ステータスです"
ここで残るのは、これらの新しく作成された通知コマンドを、次のユーザーに関連付けることです, たとえば、すでに定義されています, または通知を有効にする相手. Centreonの構成をエクスポートし、この瞬間から、スピーカーやGoogle Home、Google Home Miniなどのスマートアシスタントによる監視のアラートを受け取ります.
いつも通り, それがあなたにとって興味を持っていただければ幸いです、そしてソーシャルネットワークを通じてそれを動かしてくれていつもありがとう.