首页 > 解决方案 > 将 printf 重定向到文件中的特定行

问题描述

当服务或主机关闭时,我正在使用 centreon 发送短信通知。

我将此命令与 bash 一起使用以发送 de 通知:

curl --data @message.xml --header "Content-Type: text/xml" -X POST 'ip-server-notification'

这是 message.xml 的内容

    <?xml version="1.0" encoding="ISO-8859-1"?>
<MTRequest>
    <Proveedor Id="user" Password="password" />
    <Servicio Id="" ContentType="0" ShortNumber="shor number" />
    <Telefono msisdn="my phone" IdTran=""/>
    <Contenido>DATA</Contenido>
</MTRequest>

我已经附加了centreon的输出:

/usr/bin/printf "%b" "***** centreon Notification *****\n\nType:$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\nDate/Time: $DATE$"

在 contenidos 标签之前

<Contenido>Here</Contenido>

你能帮助我吗?

抱歉英语不好。

此致。

标签: notificationsprintfsmscentos7

解决方案


所以原则上,您应该能够创建一个通知命令,例如,它可以触发一个 curl 或一个将信息传递给 API 以发送 SMS 的脚本。

要查看 centeron-engine 启动的通知命令,您必须:

  • 修改相关轮询器的 Centreon-Engine 配置。
  • 转到“调试”选项卡
  • 检查“通知信息”和“命令”
  • 为详细程度提供最高级别的详细信息
  • 设置一个最大大小,因为这个调试非常冗长(推荐 100000000 字节)
  • 不要激活核心转储
  • 保存配置
  • 生成和导出收集器配置
  • 使用测试服务生成通知
  • 编辑文件 /var/log/centreon-engine/centengine.debug 找到通知命令

在此文件 centengine.debug 中,您将获得有关该问题的更多信息。

您还可以查看文档,您可能会在此处找到您的解决方案https://documentation.centreon.com/


推荐阅读