「OBSERVABILITY」- 监控解决方案

监控的对象(对象)

排名不分先后:

第一部分、基础设施监控

计算、存储、网络

监控的内容(结果)

监控的目的:(1)发现端倪;(2)故障通知;(3)自动修复

综合所述,监控的深度有以下这四方面:可用性监控、性能监控、日志监控、自定义监控;

可用性监控

1)这是最简单的层面监控,比如:监控端口是否活。

性能监控

比如:虽然CPU正常运作,但CPU的占用率是否一直处在一个很高的水平?

日志监控

主要是应用日志监控,其次还有安全审计日志、系统日志等。这些日志监控可确保我们人员操作的合规性。应用日志也会为后续的全链路监控提供跟踪依据,为故障定位作为参考依据。

自定义监控

我们会有很多来自于业务方面的需求,自己定义的指标,比如过去十分钟的成交量有多少,虽然这些kpi可以通过其他方式查询到,但是如果能够直接集成在监控系统中进行查询,提供附加的自定义监控,那就能更好地满足业务监控需求,从业务的角度去了解企业业务的运行状况。

监控的方法(工具)

MRTG – Multi Router Traffic Grapher

https://oss.oetiker.ch/mrtg/
https://github.com/oetiker/mrtg
https://en.wikipedia.org/wiki/Multi_Router_Traffic_Grapher

Perl 使用 SNMP 采集数据 生成 PNG 等图片,以 Web 形式展示

Cacti

https://www.cacti.net/

PHP MySQL SNMP RRDtool LDAP

SmokePing

https://oss.oetiker.ch/smokeping
PING WWW DNS SSH RRDtool

Graphite

https://github.com/graphite-project/graphite-web
Wikipedia/Graphite

Python Django 存储数据 按需绘图

Nagios

https://github.com/NagiosEnterprises/nagioscore
https://en.wikipedia.org/wiki/Nagios

监控系统 服务可用性 网络信息 WebUI 服务可用性 告警

Zenoss Core

https://www.zenoss.com/get-started

CMDB 发现管理各类资产 监控和报告IT架构中的资源状态和性能 与CMDB关联的事件和错误管理系统 SMTP收集数据

Ganglia

http://ganglia.info
Wikipedia/Ganglia

分布式 跨平台 监控集群 开销低 RRDtool

OpenTSDB

http://opentsdb.net

HBase存储时序数据 数据存储 可接入告警系统 从大规模集群中采集(设备 系统 程序) WebUI 实时性高

Zabbix

https://www.zabbix.com/

数据拉取:Agent SNMP IPMI JMX Telnet SSH等等
PHP MySQL 告警 可扩展

Prometheus

https://prometheus.io/

Netdata

https://my-netdata.io

ntopng

流量监控工具

netdata

Netdata 是系统和应用程序的分布式、实时、性能、健康监控。 它是您在所有系统和容器上安装的高度优化的监视代理程序。
GitHub – https://github.com/netdata/netdata

OpenMetrics

OpenMetrics:一种云原生、高度可扩展的指标协议。它定义了大规模上报云原生指标的事实标准,同时支持文本表示协议和 Protocol Buffers 协议。虽然时间序列可以支持任意字符串或二进制数据,但 RFC 只针对和包括数字数据。得益于 Prometheus 的流行,作为 Prometheus 的监控数据采集方案,OpenMetrics 可能很快会成为未来监控的业界标准;

Lables

cluster, CLUSTER,集群名;

Variables

变量名 显示名 描述
DS_PROMETHEUS Data source 数据源
cluster Cluster 集群名