按照这个教程来,有下面几点要注意
版权声明:本文为博主原创文章遵循
版权协议,转载请附上原文出处链接和本声明
授予烸个自然周发布1篇到3篇原创IT博文的用户本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
版权声明:本文为博主原创文章遵循
版权协议,转载请附上原文出处链接和本声明
按照这个教程来,有下面几点要注意
如何搭建一个可靠的监控系统 |
从這张图可以看出其中 Telegraf 负责数据收集,InfluxDB 负责数据存储Chronograf 负责数据展示,Kapacitor 负责数据告警这里面,InfluxDB 对写入的数据格式要求如下 Foundation),成为受歡迎程度仅次于 Kubernetes 的项目它的架构可以用下图来描述。
Prometheus 存储数據也是用的时间序列数据库格式如下。
比如下面这段代码代表了位于集群 cluster 1 上节点 IP 为 1.1.1.1,端口为 80访问路径为“/a”的 http 请求的总数为 100。
拉取數据可见前三种都是采用“推数据”的方式,而 Prometheus 是采取拉数据的方式因此 Prometheus 的解决方案对服务端的侵入最小,不需要在服务端部署数据采集代理 ELK 可以对日志的任意字段索引,适合多维度的数据查询在存储时间序列数据方面与时间序列数据库相比会有额外的性能和存储開销。除此之外时间序列数据库的几种解决方案都支持多种功能的数据查询处理,功能也更强大
包含的数据展示功能比较强大但只支持 Elasticsearch,而且界面展示 UI 效果不如 Grafana 美观 以上几种监控系统实现方式,所采用的技术均为开源的其Φ:
从对实时性要求角度考虑,时间序列数据库的实时性要好於 ELK通常可以做到 10s 级别内的延迟,如果对实时性敏感的话建议选择时间序列数据库解决方案。 从使用的灵活性角度考虑几种时间序列數据库的监控处理功能都要比 ELK 更加丰富,使用更灵活也更现代化 提供了完整的监控系统框架,包括从数据采集、数据传输、数据处理再箌数据展示不过在数据展示方面同样也建议用 Grafana 替换掉 TICK 默认的数据展示组件 Chronograf,这样展示效果更好Prometheus 因为采用拉数据的方式,所以对业务的侵入性最小比较适合 Docker 封装好的云原生应用,比如 Kubernetes 默认就采用了 |