使用 Centreon 通知接收电话

井, 井… 曲线即将到来… 如果您有 Centreon 监控系统, 或基于 Nagios 或类似, 您可能对这篇文章感兴趣. 我们将看到的是如何生成传统的监控警报, 但这次我们不会使用通过电子邮件或 Telegram 发送的警报, 但它将使用我们在组织中的 IP PBX 拨打电话, 有了它,它会通过我们指定的电话号码给我们打电话,并以完美的西班牙语指示存在的问题.

 

所以我说的, si dispones de una centralita de Voz IP y quieres que la monitorización pueda hacer llamadas de teléfono para advertirte con un mensaje de qué Servicio o Servidor se ha caído, no tendrás más que seguir estos sencillos pasos. Si no tienes una centralita VoIP te animo a que montes FreePBX, verás que rápido podrás hacer llamadas voz IP dentro de tu organización, o externas si es que por ejemplo usas la fibra de Movistar, VodafoneEstos son los pasos que debes seguir en tu máquina de Centreon si quieres que ella pueda hacer llamadas automáticamente.

 

Empezamos instalando Festival y PJPROJECT que lo compilaremos:

[源代码]yum install expect festival
WGET HTTP://www.pjsip.org/release/2.8/pjproject-2.8.tar.bz2
tar xjf pjproject-2.8.tar.bz2
cd pjproject-2.8
./设置
make dep
做[/源代码]

 

Nos generará este binario:

[源代码]/root/pjproject-2.8/pjsip-apps/bin/pjsua-x86_64-unknown-linux-gnu[/源代码]

 

Deberemos crear un fichero de configuración para PJSUA, donde indicaremos el acceso a nuestra centralita IP con los credenciales correctos para registrarnos y poder realizar llamadas. En mi caso lo dejo aquí ‘/root/pjproject-2.8/pjsip-apps/bin/pjsua.confy este es su contenido:

[源代码]–null-audio
registrar sip:DIRECCION_IP_CENTRALITA
realm=*
id sip:USUARIO@DIRECCION_IP_CENTRALITA
–用户名 USER
–password 密码 PASSWORD[/源代码]

 

现在, lo que haremos será crear un script que lo usaremos para realizar la llamada, en mi caso un nombre super intuitivo ‘llama.sh’, este script será ejecutado por Centreon cuando tenga que notificar, al que le pasará como argumento el mensaje que tiene que leernos en la llamada. Indicamos los directorios para Expect, PJSUA y su fichero de configuración que acabamos de crear; así mismo podremos añadir un fichero wav con el sonido de alguna alerta que sonará antes del audio, indicaremos el path del binario Text2wave, la duración de la llamada máxima y como no, el número de teléfono que debe marcar para hacer la llamada, por último la dirección IP de la centralita IP. 所以我说的, el contenido de ‘llama.sh

[源代码]#! /bin/bash
EXPECT=/usr/bin/expect
PJSUA=/root/pjproject-2.8/pjsip-apps/bin/pjsua-x86_64-unknown-linux-gnu
PJSUACONFIG=/root/pjproject-2.8/pjsip-apps/bin/pjsua.conf
SOUNDFILE=/tmp/alert.wav
TEXT2WAVE=/usr/bin/text2wave
DURATION=20
NUMBER=NUMERO_DE_TELEFONO_A_MARCAR
CENTRALITA = DIRECCION_IP_DE_LA_CENTRALITA
MESSAGE="Monitoring Alert"

# Setting a lock file
# We can’t make more than one call
# at a time, because pjsua blocks the port
# so we have to make sure that nobody else tries to call
# If there is already a call we have to wait.

locked=false
while $locked == false ; do
如果 ! -f /tmp/caller.lock ; 然后
touch /tmp/caller.lock
locked=true

sleep 5
fi

# Generating the message
$TEXT2WAVE -o $SOUNDFILE -f 8000 << EOF
$MESSAGE
EOF

# Making the call it self.
# Expect will start pjsua and work with
# it so that it will end it self automatically

$EXPECT << EOF
spawn $PJSUAconfig-file $PJSUACONFIGplay-file $SOUNDFILEauto-playduration $DURATIONmax-calls 1 是的:$NUMBER@$CENTRALITA
expect "VAD re-enabled"
sleep $DURATION
send "q\n"
EOF

# Cleaning up
rm $SOUNDFILE

# Removing the lock file
rm /tmp/caller.lock[/源代码]

 

Podremos hacer si queremos una prueba ahora para ver si va todo bien, bastará con ejecutar el script anterior y entrecomillar como argumento el mensaje que queremos que nos diga por teléfono:

[源代码]./llama.sh "Hola, esto es un mensaje de prueba que escucharás en ingles de la muerte"[/源代码]

 

Si queremos que la llamada sea en castellano o español, deberemos además realizar estos últimos pasos. Instalaremos las voces de HISPAVOCES, un proyecto de Guadalinex donde nos dejan 2 voces que hablan perfectamente el castellano, no suenan a robot 🙂 Escogeremos si usar la voz femenina o masculina.

[源代码]yum install hispavoces-pal-diphone hispavoces-sfl-diphone[/源代码]

 

Editamos el fichero de Festival, donde indicaremos que utilice las nuevas voces, editamos ‘/usr/share/festival/lib/voices.scmy sobre la línea 328 podremos modificar directamente y añadir una de estas dos voces

[源代码]…
(defvar 默认语音优先列表
‘(JuntaDeAndalucia_es_pa_diphone
nitech_us_slt_arctic_hts
…[/源代码]

 

如果我告诉你们实话, 我不记得下面的笔记是为什么做的,因为我把它们记下来了… 也许它们不会识别我 2 语音… 但是哇, 这里我们看到的是如何通过 RPM 安装 Guadalinex 好心人提供的语音 (记住 Centreon 的发行版是基于 CentOS 的), 但当然, 我们可以从他们那里下载的是 DEB 格式的, 所以我们要做的是下载, 编译并安装 Alien (以及它的依赖) 然后下载 .DEB 格式的语音并将其转换为 .RPM 并安装. 最后我们将生成的文件移动到 Festival 及其西班牙语语音的正确路径下

[源代码]yum install rpm-build
cd /usr/src
WGET HTTP://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.92.tar.gz
tar -xf alien_8.92.tar.gz
cd alien
珍珠 Makefile.PL

make install

wget https://github.com/guadalinex-archive/hispavoces/raw/master/packages/festvox-palpc16k_1.0-1_all.deb
alien -rv festvox-palpc16k_1.0-1_all.deb
rpm -ivh festvox-palpc16k-1.0-2.noarch.rpm

mv /usr/share/festival/voices/spanish/ /usr/share/festival/lib/voices/es/[/源代码]

 

现在你们可以像以前一样尝试进行呼叫,你们会看到现在它可以完美地用西班牙语由男声或女声讲话,

[源代码]./llama.sh "Hola, esto es un mensaje de prueba que escucharás perfectamente"[/源代码]


在配置全部完成并且脚本运行后, 我们需要告诉 Centreon,当它生成任何通知时给我们打电话, 为此, 首先是注册通知命令, 所以我们创建了 2, 一个用于通知主机,一个用于服务. 因为 “配置” > “命令” > “通知” 我们定义它们, 住:

 

Llamadas_servicios

[源代码]/home/llama.sh "En el equipo $HOSTNAME$ el Servicio $SERVICEDESC$ está en estado $SERVICESTATE$"[/源代码]

 

Llamadas_hosts

[源代码]/home/llama.sh "El equipo $HOSTNAME$ esta en estado $HOSTSTATE$"[/源代码]

 

Y luego ya no queda más que asociarlo, 例如, al usuario o grupo que queramos que reciba la llamada, se los asociamos en “主机通知命令” 和 “服务通知命令”. 照常, tras cualquier cambio de configuración, exportamos y grabamos la config de Centreon y a partir de este momento, cuando exista una alerta en nuestro CPD o en nuestra empresa, recibiremos llamadas telefónicas indicándonos cuál es el problema. No me digáis que no es genial para cuando tenemos personal de guardia y queremos despertarle a la hora que sea para que actúe, ¡una maravilla!

Como siempre espero os haya interesado y gracias por compartir en las redes sociales.

 

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!