「Linux」- 监控与告警

  CREATED BY JENKINSBOT

监控的作用

(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

Apache SkyWalking

apache/skywalking: APM, Application Performance Monitoring System