将printf重定向到文件中的特定行

时间:2019-02-26 15:52:16

标签: notifications printf sms centos7

当服务主机中断时,正在使用centeron发送SMS通知。

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

var express = require('express')
var app = express()

app.set('port', (process.env.PORT || 5000))
app.use(express.static(__dirname + '/public'))

app.get('/', function(request, response) {
  response.send('Hello World!')
})

app.listen(app.get('port'), function() {
  console.log("Node app is running at localhost:" + app.get('port'))
})

这是message.xml的内容

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

我附加了centeron的输出:

    <?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>

查看contenidos标签

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

你能帮我吗?

对不起,英语不好。

最诚挚的问候。

1 个答案:

答案 0 :(得分:1)

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

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

  • 修改相关轮询器的Centreon-Engine配置。
  • 转到“调试”标签
  • 检查“通知信息”和“命令”
  • 将详细程度放在最高级别
  • 设置最大大小,因为此调试非常冗长(建议使用100000000字节)
  • 请勿激活核心转储
  • 保存配置
  • 生成并导出收集器配置
  • 通过测试服务生成通知
  • 编辑文件/var/log/centreon-engine/centengine.debug以找到通知命令

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

您还可以在https://documentation.centreon.com/

上查看可以找到解决方案的文档。