我使用kapacitor使用HTTP向URL发送警报。书面脚本正在访问给定的url,但它没有向任何给定的url发送相关数据。
下面是我的滴答脚本。
stream
|from()
.measurement('cpu')
|alert()
.id('kapacitor/{{ index .Tags "host"}}')
.message('{{ .ID }} is {{ .Level }} value:{{ index .Fields "value" }}')
.info(lambda: TRUE)
.post('http://localhost:1440/alert')
.post('http://localhost/test.php')以下是第一个帖子脚本:
var express = require("express");
var app = express();
var moment = require("moment");
var dateTime = moment();
var bodyParser = require("body-parser");
var urlencodedParser = bodyParser.urlencoded({extended:false});
var jsonParser = bodyParser.json();
var port = 1440;
app.post('/alert', jsonParser ,function(request, response){
console.log(request.body);
response.send();
});
app.listen(port);
console.log('Express App.js listening to port '+port);以下是第二个帖子脚本:
<?php
$content = json_encode($_REQUEST);
echo file_put_contents("/home/mahendra/Documents/tick/highcputick.log", $content);
?>两个urls都在获取emtpy数据。Kapacitor版本是:Kapacitor 1.3.1
下面是Kapacitor [httppost]配置
[[httppost]]
endpoint = "NodeJs"
url = "http://localhost:1440/alert"
# headers = { Example = "node" }
# basic-auth = { username = "my-user", password = "my-pass" }发布于 2018-10-25 10:32:05
实际上,您需要在刻度脚本上设置端点,例如:
...
.post()
.endpoint('NodeJs')发布于 2019-01-28 16:30:04
我在php框架中也遇到了类似的问题,我就是这样解决这个问题的。
header('Content-Type: application/json');
$data = json_decode(file_get_contents('php://input'),true);您的信息详细信息将在$data中显示。我在这里找到了这个:https://github.com/influxdata/kapacitor/issues/1681
https://stackoverflow.com/questions/46408175
复制相似问题