「Linux」- 监控

更新日期:2019年12月13日

监控的作用

(1)发现端倪
(2)故障通知
(3)自动修复

哪些东西需要监控?


第一部分、可用性监控

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

第二部分、性能监控

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

第三部分、日志监控

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

第四部分、自定义监控

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

总结

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

解决方案


流量监控

MRTG - Multi Router Traffic Grapher
https://oss.oetiker.ch/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


ToC

监控的作用

哪些东西需要监控?

第一部分、可用性监控

第二部分、性能监控

第三部分、日志监控

第四部分、自定义监控

总结

解决方案

流量监控

性能监控

其他工具