俗话说“无监控,不运维”, 一套监控预警系统尤为重要
日志监控系统
目前市面上日志监控系统主要是以Elastic家族实现的日志系统,比较盛名的有
- ELK
- EFK
- KEFK
其中
E为Elastic Search,也就是咱们常说的es
L为logstash,数据处理管道
F为Filebaet,轻量型日志采集器:用于转发和汇总日志与文件
K为Kibana,可拓展的用户展示界面
主要思路基于ETL抽取(extract)、转换(transform)、加载(load)
ox1: ELK架构
最简
优点
部署简单,轻量
缺点
Logstash同时兼顾了抽取(extract)、转换(transform)、加载(load)。较为损耗资源
改进
基于TCP推送至LogStash
优点:较于最简版,大大的减少了服务器负载
缺点:基于SDK开发,有代码侵入。耦合性强
Ox2: EFK
优点:代码无侵入、占用资源少
缺点:日志数据共享困难;FileBaet只能配置一个output源
0x3: KEFK
Kafka、ElasticSearch、FileBaet、Kibana
优点:基于消息队列实现共享,稳定性能性高
缺点:组件多,运维成本大
GPL
GTL
thanos:Thanos 是一组组件,可以组成一个具有无限存储容量的高度可用的指标系统,可以在现有的 Prometheus 部署之上无缝添加。
GTI与Zabbix
telegraf+influxdb+Grafana | Zabbix |
---|---|
部署及使用简单 | 部署使用相对复杂 |
内置监控项丰富 | 内置监控项支持相对少一些,但是社区提供了丰富的监控采集方案 |
不支持跨机房部署 | 支持跨机房部署 |
审计功能相对较弱 | 审计功能成熟完善 |
出图能力灵活强大 | 出图功能相对弱一些,图形化定制方面操作复杂 |
告警功能简单 | 告警强大,支持告警依赖,告警升级 |
支持通过webhook方式触发命令 | 支持服务器端/客户端的命令自动触发,支持命令推送 |
权限管理相对简单 | 支持细粒度的权限定制,权限体系成熟完善 |
数据采集方式相对单一,仅支持自动上报,但支持较为丰富的数据源 | 支持多种数据采集方式/协议,数据源相对单一,v3.4.7版本开始支持ES存储历史数据 |
相关地址
elasticsearch: https://www.elastic.co/cn/elasticsearch/
kibana: https://www.elastic.co/cn/kibana/
logstash: https://www.elastic.co/cn/logstash/
Kafka: https://kafka.apache.org/
Granfan:https://grafana.com/
Prometheus:https://prometheus.io/
loki: https://grafana.com/oss/loki/
thanos:https://thanos.io/
Zabbix:https://www.zabbix.com/
telegraf:https://docs.influxdata.com/telegraf/