2020-10-20 阶段性总结

从上篇笔记开始已经一个月多没有更新了,有点苦恼,没有坚持学完ES和算法知识。不过最近工作上学习了很多运维知识,还学习了Clojure和Lua,但都还未进行纪录。非工作的事情也比较多。在此做一个阶段性总结,汇总下最近了解的知识,好为下一个阶段的学习做准备。

下面列出的只是简单的介绍,之后会逐一深入学习并且进行纪录。

运维

最主要的是一个从业务开发到运维的思路转变,期间学习了很多方法论、概念,以及应用工具等等

通过Metrics进行规则分析告警

通过K8S探针采集数据告警

概念

SLO、SLA、SLI

ITIL

RCA

Logging & Monitor

Metrics

性能指标信息,也是大部分基础监控告警信息的来源。

Alert

工具

Prometheus

SoundCloud开源监控告警解决方案。也是目前所在公司使用的产品。个人理解是一个有存储能力,包含查询、配置规则、告警等功能的产品。

存储采用Time Seris Database(TSDB)时序数据库,因为metrics信息是以时间为主要单位进行存储的,所以该类型存储最合适。

同类的产品还有Zabbix,但还未进行过相关产品的比较。

promSQL

prometheus的专用查询语句,有一些语法规则,但是整体不复杂.

Thanos

其实是上面Prometheus的一套高可用组件,本身Prometheus是支持高可用的。Thanos主要提供了跨集群联合、跨集群无限存储和全局查询等功能。

Grafana

一个Dashboard UI应用,可以将多种数据源的数据,比如Prometheus、Elasticsearch等数据以各种方式进行展示。

Fluentd

替换ELK中的L(Logstash)进行日志收集的角色,最近还在学习Elasticsearch的课程(已经学了400多天了还没学完…要抓紧了)

ELK

ELK其实已经很早前就接触过了,包含在Elastic stack的x-pack、Beats,都有了更新的认识

Kubernetes

之前已经系统的学习过docker了,并且有简单学习过K8S的基本概念,但是已经忘的差不多了。最近了解到了K8S很多实用的技巧和应用插件,之后真的应该系统学习下。

Netdata

linux上的实时性能监控工具。会实用ansible在VM上进行自动部署,提供操作系统级别的metrics。

Skywalking

开源的分布式链路追踪应用,以前就有接触过,在此记录下。

Other Language

Clojure

clojure是一个基于JVM的lisp语言,特点是函数式、复合类型数据结构,方便快捷。最近是有用该语言做一个后台的程序,目前学习的还比较浅,后面会单独列出一个分类做clojure的笔记

IDE相关

  • IDE: IntellJ + Curisve; Emacs + Cider
  • 构建工具: leiningen + boot-clj
  • Clojure 语言特点: dynamic + functional + lisp + designed for concurrency + hosted on jvm

常用工具包

  • WebApp开发包:Ring、compojure
  • Scheduler开发包:clojurewerkz

lua

是一个轻量级的脚本语言,最近一段时间有做了一个网关的插件用到了。目前学习的比较浅。其实老版本的redis高可用、Nginx都有用到该语言。

lua与lua-lit

投食入口