使用 Ollama 和 Piper AI 的 Centreon 声音警报

在这篇文章中,我们将结合几个元素,以便在我们的监控系统中使用语音通知. 我们当然会使用本地和安全的人工智能 (奥拉马) 使用 Centreon 警报生成友好的人性化文本, 稍后在我们的 7 英寸屏幕上播放″ 感谢 Piper 和完美的西班牙语声音.

所以我说的, 如果您有一个基于 Centreon 的监控系统,您将知道当受监控的服务或主机出现问题时,您可以收到警报, 这样,您将发现数据中心中的任何问题. 在 过去的帖子 我们看到了如何使 Centreon 生成的信息更加“人性化”’ 感谢 Ollama 的 AI, 当时,他通过 Telegram 以文本格式发送了警报. 今天的不同之处在于,我们将通过人声再现信息 (感谢 Piper) 并通过小型 Raspberry Pi 的扬声器爆炸, 我用在我身上的 7 屏风″ 监测.

这将是音频的一个示例:

啊, 答案是肯定的, 请记住,我们将在这篇文章中看到的所有内容都是开源的, 当地, 确定, 无需互联网

胡椒属

因此,我们从 Piper 开始, 正如他们在 其官方网站 这是一个“快速的本地文本转语音神经系统,听起来很棒”. 这是一个 TTS (文本转语音) 我们可以安装在 Raspberry Pi 上,将任何文本转换为具有不同语言的多种声音的音频,这将派上用场!

在 Raspberry Pi 上安装 Piper 的最简单方法, 它将下载为我们的 CPU 架构编译的二进制文件. 我们将通过执行来知道: “cat /proc/cpuinfo”.

下载您在他们的 GitHub 上找到的最新版本, 链接将过时. 我们下载, 我们解压并进入您的目录:

wget https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_armv7.tar.gz tar zxfv piper_armv7.tar.gz cd piper

我们从您的存储库中选择一个经过训练的语音模型: https://github.com/rhasspy/piper/#voices 当我们选择最喜欢的一个时,我们会下载 ONNX 文件和 JSON. 顺便说一句,如果你想听他们说话,看看他们听起来怎么样, 使用此网站: https://rhasspy.github.io/piper-samples/. 来, 我们下载它们:

wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/sharvard/medium/es_ES-sharvard-medium.onnx?download=true -O es_ES-sharvard-medium.onnx wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/sharvard/medium/es_ES-sharvard-medium.onnx.json?download=true.json -O es_ES-sharvard-medium.onnx.json

我们现在可以尝试一下, 我们将有两个选择, 创建音频流并直接通过 Raspberry Pi 的扬声器收听, 或者为我们需要的内容生成一个 .wav 文件. 跑:

echo 'Hola, esto es un ejemplo de una frase.' | ./吹笛手 --model es_ES-sharvard-medium.onnx --output-raw | aplay -r 22050 -F S16_LE -T 原始 -

听起来会像这样:

与 Centreon 集成

如果我们想从通知警报中调用 Piper, 这些是我遵循的步骤. 首先在 Raspberry Pi 上,我们将创建一个脚本,供 Centreon 在有通知时调用, 将运行此脚本,该脚本将通知说话人生成的警报. 脚本将接收要复制的文本作为第一个且唯一的变量. 我留下了类似这样的事情 (/首页/吹笛手/吹笛手/alerta_piper.sh):

#!/Bin/Bash CD /Home/Pi/Piper RM alerta.wav Echo $1 | ./piper --model es_ES-sharvard-medium.onnx --length_scale 1.1 --output_file alerta.wav systemctl stop snapclient aplay alerta_inicio.wav aplay alerta.wav aplay alerta_fin.wav systemctl start snapclient

您将看到的一些细节是我稍微放慢了他的声音, 这停止了一些 Snapclient 服务, 因为环境音乐通常也会从此屏幕播放,并在消息响起时暂时停止它.

制作可执行脚本后, 我们必须从 Centreon Central 服务器调用/执行它, 或从 Poller (如果适用). 为此,, 有必要在 Centreon 服务器和 Raspberry Pi 之间进行指纹识别, 因此,您可以通过 SSH 进行访问,而无需要求提供凭据, 这样我们就可以远程执行脚本.

su centreon-engine ssh-keygen -t rsa cat /var/lib/centreon-engine/.ssh/id_rsa.pub ssh-rsa AAA...ySHsfu0= centreon-engine@os-poller-osit

因此,在 Centreon,我们像在 Centreon 中运行事物的用户一样登录, 如果我们没有私钥和公钥,我们会生成它们; 然后,使用 CAT,我们将看到新创建的公钥并复制它.

将 Raspberry Pi 上 Centreon Central 或 Poller 的公钥粘贴到 /home/pi/.ssh/authorized_keys 文件中

我们试图看看我们是否通过 ssh 从 Centreon with centreon-engine 连接到 Raspberry Pi::

嘘 pi@DIRECCION_IP_RASPBERRY_PI

现在,只需在 Centreon 中注册命令,这些命令将用于在 Host 或 Service 出现问题时发出通知. 如果我们使用 在上一篇文章中 供参考, 其中我们已经生成了脚本,将 Ollama 的 AI 生成的消息发送到 Telegram, 好吧,我们只需要在末尾添加一行,该行调用在 Raspberry Pi 中创建的脚本,就是这样. 这样,我们将在 Telegram 和扬声器上收到通知. 我给您留下一个脚本的摘要,该脚本用于提醒 Hosts 中的问题, 正如我所说, 重要的是最后一行:

#!/bin/bash

# Ollama 的 AI 生成消息以品尝文本="请, 为通知生成一个文本,该文本将发送到用户的智能手机,其中包含有用的信息. 您是一位乐于助人的个人代理,为 IT 技术人员生成文本. 您的答案可以是技术性的, 不要主动提供帮助, 不要给出建议. 你要说的信息是关于类型的一个问题: "$1", 在团队中 "$2" 因为它在状态中 "$3". 不要说你好, 不要说你好,也不要说再见, 甚至不要感谢你做任何事情. 答案应该是西班牙语,信息应该简短。"

texto_generado=$(/usr/bin/curl http://DIRECCION_IP_OLLAMA:11434/api/generate -H "内容类型: 应用程序/JSON" -d '{
  "型": "美洲驼3",
  "提示": "'"$发短信"'",
  "温度": 0.1,
  "流": 假,
  "max_length": 50
}' | jq -r '.response')

texto_generado_sin_comillas='回声 "$texto_generado" | sed 's/\"//g'`

# Manda a Telegram
/usr/bin/curl -X POST -H "内容类型: 应用程序/JSON" -d '{
  "chat_id": "ID_CHAT_TELEGRAM",
  "发短信": "'"$texto_generado_sin_comillas"'"
}' "https://api.telegram.org/botTOKEN_BOT_TELEGRAM/sendMessage"

# Alerta en la Raspberry Pi con Piper por los altavoces
ssh pi@DIRECCION_IP_RASPBERRYPI "sudo /home/pi/piper/alerta_piper.sh \"$texto_generado_sin_comillas\""

¡Y chimpún! Ya lo tenemos listo, 脚本 created 和那些有疑问的人在之前的帖子中拥有创建命令所需的任何数据, 在 Centreon 注册, 组装 Ollama 的安全本地 AI, 骑马 Centreon…

一如既往,非常原创, 我希望你觉得它很有趣, 您可以将其应用于其他类型的技术, 想法… 事实是,我家里的 Piper 和 Ollama 与 Home Assistant 是完全必要的, 赋予它原始的触感, 现在我们可以开始一点一点地称它为智能家居… 但是那个, 在其他帖子中, 我们拭目以待!

拥抱, 让自己得体!

推荐文章

作者

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

自动备份 Fortigate 配置

16 的 May de 2024