- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很难理解集成 Graphite 和 Kibana 3 来监控日志和系统生命力。我指的是 Log management system described here 中的图.
提前致谢。
最佳答案
为什么使用 statsd-graphite:
Statsd 和 Graphite 可以帮助您可视化任何,而不仅仅是日志和系统生命力。使用 statsd-graphite 堆栈非常简单,可以测量在网站左下角停留超过 10 秒的用户数量。
由于不涉及中间日志记录,因此从 IO 的角度来看, Graphite 提供的可扩展性是无与伦比的。还要考虑 statsd 与 UDP 通信的事实,因此每分钟收集 300K 指标是一件轻而易举的事。
您不必记录某些内容即可看到它。
整合:
正如您共享的架构图中清楚显示的那样,您可以过滤要可视化的统计信息,将它们转发到 statsd。这与直接从 logstash-elasticsearch 可视化的 kibana 并行。如果您想通过 Graphite 查看 Graphite 和 Kibana 数据,那么使用数据冗余是一种更简单的方法,因为 web 应用程序不会直接查询 elasticsearch。
Vimeo 的 Graph Explorer是你可能想要研究的东西。它查询 elasticsearch。
更新:
并不是说 Logstash 不能这样做,而是它不是为该角色“设计”的,而 statsd 等是。
I have been wondering if we have a simpler query language.
Graphite 的固有组织结构是树状的,因此搜索不会/不能从不同的子树中产生结果。这使得它不太适合跨维度搜索。 GE 是最简单的,只要你想要动力。
Graph Explorer's flow-
Graph Explorer 通过 adding tags to the metrics 解决了这个问题并将其与 elasticsearch 集成。所以 GE 实际上做的是——
一次 - 它连接到您的 Graphite 前端,进行 API 调用以检索所有指标。
然后它会将旧式 proto 1 指标 (A.B.C)“转换”为基于标签的 proto 2 指标 (host=A.app=B.username=C)。
然后将其导出到维护索引的 ES。
当您查询 GE 前端时,它会连接到 ES 以理解您想要什么。
GE 然后查询 Graphite-API,并在 GE 前端提供结果。
Moreover, does graph explorer assume we are using diamond for collection?
没有。
How does it compare to pencil, orion and graphiti?
这些是可视化的表面优化。他们——
更改图表的外观。
使查询 API 更容易。
允许更好的监控流程。
它们不会改变您存储或搜索信息的方式。 GE 将自己“更深入”地嵌入到指标数据中,因此在查询指标方面具有真正优势。 (跨维度搜索)
Heads up-
GE 的指标导入插件远非完美。它成功导入了我的 1000 个指标中的 300 个。渲染也更重,前端吃更多的 NW(因为可悬停、可缩放的特性)。
Update-
Grafana出来了。
关于logging - Kibana 3 里程碑 4 和 Graphite 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20040373/
不同的 LogCat 方法是: Log.v(); // Verbose Log.d(); // Debug Log.i(); // Info Log.w(); // Warning Log.e();
在android群里,经常会有人问我,android log是怎么用的,今天我就把从网上以及sdk里东拼西凑过来,让大家先一睹为快,希望对大家入门android log有一定的帮助. android
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 社区 12
我正在尝试使用 sonarlint 检查代码质量.上面的问题概要,我不明白为什么它要说要大写。但是 this discussion与上述建议相反。哪一个应该被认为是正确的? 最佳答案 这没有正确答案,
随着 n 变大,log*(log n) 和 log(log* n) 这两个函数会更快吗? 这里,log* 函数是迭代对数,定义如下: 我怀疑它们是相同的,只是写法不同,但它们之间有什么区别吗? 最佳答
作为家庭作业,我被要求在 O(log(n)) 中编写一个算法,我可以计算出我编写的算法的复杂度为 O(log(n) + log(n/2) + log(n/4) + log(n/8) + ... + l
我正在使用 Tomee。日志文件夹包含这样的文件 localhost_access_log.2016-12-02.txt localhost.2016-12-02.log catalina.2016-
Android Log.v、Log.d、Log.i、Log.e 等的 ios 等效项是什么?同样在 android 上,我使用 Android 设备监视器和 logcat 来访问我的手机日志,我需要在
我认为下面的代码是 O(log log n) 因为它里面有 i*i 但我对 log n 感到困惑> 和 log (log n)。 for (i=2; i*i<=number; i++) { if
我正在修改 kvm 模块,并在内核代码中添加了 printk 语句。运行虚拟机后,printk 为我提供了错误地址和有关 guest 操作系统的其他信息。 我需要从这个信息中生成统计信息。当我使用 d
我有一个部署为 Windows Azure Web 角色的 WCF 服务。 我正在使用 Enterprise Library 进行异常处理,并且在我的本地 Development Fabric 中,似
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
在 Go 的生产中使用 log.SetFlags(log.LstdFlags | log.Lshortfile) 是好的做法(至少是一般做法)吗?我想知道在生产中这样做是否存在性能或安全问题。因为它不
我想知道什么更快: double value = Math.log(a) - Math.log(b); 或 double value = Math.log(a/b); 我计算值的方式是否会对性能产生影
我有数百个子例程使用 log.Println() 写入日志文件 我正在使用 log.Println 写入 error.log 文件。 func main() { e, err := os.Open
我将 Nuxt 与 SSR 一起使用,并希望有类似于 apaches 的 access.log 和 error.log 的东西 我特别感兴趣的是每次调用的响应时间。 我在 nuxt 文档中找不到任何内
我知道以前有人问过这个问题,但我相信这是一个不同的问题。 Nginx 在 www-data 下运行: $ ps -eo "%U %G %a" | grep nginx root root
我在我的日志文件中发现了一个非常奇怪的条目 Jan 29 01:35:30 vs-proj-handy sshd[5316]: Received disconnect from 130.207.203
对于我正在开发的应用程序,我希望在开发过程中和发布时简化故障排除。我希望能够检索到对 Log 的调用,以了解在 USB 调试中没有连接手机的情况下运行应用程序时的调用,以便可以检索并发送给我。例如,当
我试图捕获 panic 并记录错误: func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloRep
我是一名优秀的程序员,十分优秀!