- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我遇到这个问题,sensu 将输出字符串截断为大约 260 个字符的长度。我已经搜索了很长时间,但找不到造成这种情况的原因。
如果我将结果输出到 sensu-client.log,则输出字符串不会被截断。但是当我检查 redis 内部时,它被截断了。
这是来自 sensu-api/results 的输出 JSON:
[{"client":"test","check":{"command":"/etc/sensu/plugins/load-metrics.rb -s load","interval":120,"standalone":true,"name":"load-metrics","issued":1440145476,"executed":1440145476,"duration":0.117,"output":"load.load_avg.one 0.04 1440145476\nload.load_avg.five 0.01 1440145476\nload.load_avg.fifteen 0.00 1440145476\n\n","status":0}},{"client":"test","check":{"command":"/etc/sensu/plugins/memory-metrics.rb -s memory","interval":120,"standalone":true,"name":"memory-metrcis","issued":1440145481,"executed":1440145481,"duration":0.105,"output":"memory.total 1050628096 1440145481\nmemory.free 93421568 1440145481\nmemory.buffers 53370880 1440145481\nmemory.cached 482304000 1440145481\nmemory.swapTotal 2113921024 1440145481\nmemory.swapFree 2113921024 1440145481\nmemory.dirty 204800 1440145481\nmemory.swapU","status":0}},{"client":"test","check":{"command":"/etc/sensu/plugins/interface-metrics.rb -s interface","interval":120,"standalone":true,"name":"interface-metrics","issued":1440145496,"executed":1440145496,"duration":0.103,"output":"interface.lo.rxBytes 17062685 1440145496\ninterface.lo.rxPackets 80712 1440145496\ninterface.lo.rxErrors 0 1440145496\ninterface.lo.rxDrops 0 1440145496\ninterface.lo.rxFifo 0 1440145496\ninterface.lo.rxFrame 0 1440145496\ninterface.lo.rxCompressed 0 1440145496\ni","status":0}},{"client":"test","check":{"thresholds":{"warning":120,"critical":180},"name":"keepalive","issued":1440145470,"executed":1440145470,"output":"Keepalive sent from client 19 seconds ago","status":0}},{"client":"test","check":{"command":"/etc/sensu/plugins/disk-metrics.rb -s disk","interval":120,"standalone":true,"name":"disk-metrics","issued":1440145470,"executed":1440145470,"duration":0.098,"output":"disk.sda.reads 20589 1440145470\ndisk.sda.readsMerged 14159 1440145470\ndisk.sda.sectorsRead 971661 1440145470\ndisk.sda.readTime 234278 1440145470\ndisk.sda.writes 29582 1440145470\ndisk.sda.writesMerged 107721 1440145470\ndisk.sda.sectorsWritten 1098420 1440145","status":0}}]
我的环境如下:
最佳答案
我找到了答案。罪魁祸首在sensu的源代码中:lib/sensu/server/process.rb
def store_check_result(client, check, &callback)
@logger.debug("storing check result", :check => check)
@redis.sadd("result:#{client[:name]}", check[:name])
result_key = "#{client[:name]}:#{check[:name]}"
check_truncated = check.merge(:output => check[:output][0..256]) <-- THIS LINE
@redis.set("result:#{result_key}", MultiJson.dump(check_truncated)) do
history_key = "history:#{result_key}"
@redis.rpush(history_key, check[:status]) do
@redis.ltrim(history_key, -21, -1)
callback.call
end
end
end
关于redis - Sensu 截断输出字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32136041/
关闭。 这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。 这个问题似乎与 a specific programming problem, a software
森苏 说: 当检查结果表明状态发生变化时,就会创建 Sensu 事件。 是否可以创建一个不是检查结果的自定义事件? Sensu API 没有创建事件的命令:https://sensuapp.org/d
我正在尝试让sensu工作。 以下是sensu-client.log ubuntu@ip:~$ sudo tail -f /var/log/sensu/sensu-client.log {"time
我已经在单个centos机器上安装了sensu服务器、sensu客户端、redis、rabbitmq。我可以看到Sensu客户端的日志进行内存检查,但sensu服务器和sensu服务器日志中缺少同样的
我正在从 nagios 切换到 sensu。我正在使用厨师来自动化这个过程。一切都很好,除了邮件程序,或者实际上,我将它缩小到“管道”,它应该将 json 输出从支票重定向到处理程序。它没有。当我使用
我的 sensu-client.log 文件越来越大,比如 1.7 GB 以上,并且占用了大量不必要的空间。 有谁知道如何设置选项来限制文件大小或有其他建议来控制它。 谢谢 最佳答案 您可以通过将 /
我遇到这个问题,sensu 将输出字符串截断为大约 260 个字符的长度。我已经搜索了很长时间,但找不到造成这种情况的原因。 如果我将结果输出到 sensu-client.log,则输出字符串不会被截
我需要一次检查的“输出”属性的历史记录,但探索 Redis 我知道 Sensu 仅存储最后一次检查执行的完整检查结果?和状态码的历史,但现在对我来说不重要。 我已经提供了创建检查处理程序的解决方案,它
我正在运行 ubuntu 14.04 的 docker 容器内安装 sensu 服务器,但当我由于某种原因安装它时,它不会安装 sensu-dashboard。 当我运行以下命令来设置默认值时,出现文
我已经设置了阈值来获取基础设施sensu服务器中的事件。 sensu UI 上有事件发生,但如何使用 JAVA 或 python 通过 API 调用获取所有事件数据。我只需要事件数据。 最佳答案 您需
我正在尝试使用此处描述的“客户端套接字输入”创建一个事件:https://sensuapp.org/docs/latest/reference/clients.html#client-socket-i
刚开始使用 Sensu 并在尝试测试处理程序时遇到以下错误: /etc/sensu/handlers$ ./hipchat.rb /usr/lib/ruby/1.8/rubygems/custom_r
我创建了一个基于 ubuntu 14.04 的自定义 Docker 镜像,其中包含 Sensu-Client 包。 一切都很好,但现在我想知道如何触发检查以从主机运行。 例如,我希望能够检查主机上运行
我需要构建一个测试/检查器(ruby、python、bash、您的个人偏好),每隔几分钟检查一次长时间运行的查询。它会结合sensu,然后如果达到阈值就会报警。 Sensu 将能够发出警报(或者我可以
我需要构建一个测试/检查器(ruby、python、bash、您的个人偏好),每隔几分钟检查一次长时间运行的查询。它会结合sensu,然后如果达到阈值就会报警。 Sensu 将能够发出警报(或者我可以
我们正在将使用 Sensu 收集的集群性能指标写入 RHEL VM (16GB) 上的 influxDB。我想收集它发出的 influxd 进程每秒的写入速率。我的设备位置是/dev/vda1,文件位
我在尝试运行 sensu 检查时遇到以下错误,我的 ruby 版本是 ruby 2.1.6p336(2015-04-13 修订版 50298)[x86_64-linux-gnu] /usr/l
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5年前关闭。 Improve t
我运行了 Sensu 并按照说明安装 Slack 插件。我正在尝试做一个“hello-world”来开始,但我似乎缺乏文档。 我按照“入门”进行了检查: https://sensuapp.org/do
我已经按照 http://sensuapp.org/docs/latest/guide 的说明在 CentOS-6.5 上安装了 sensu,但我似乎无法启动 sensu-server、sensu-c
我是一名优秀的程序员,十分优秀!