ELK Stack 分布式日志系统 大纲

1. Elastic Stack

官网: https://www.elastic.co/cn/what-is/elk-stack

image-20200720160010327

image-20200721101950782

2. 硬件配置

2.1 推算依据

ES JVM heap 最大可以设置32G 。
30G heap 大概能处理的数据量 10 T。如果内存很大如128G,可在一台机器上运行多个ES节点实例

2.2 两大应用场景

A. 用于构建业务搜索功能模块,且多是垂直领域的搜索。数据量级几千万到数十亿级别。一般2-4台机器的规模。
B. 用于大规模数据的实时OLAP(联机处理分析)经典的如ELK Stack,数据规模可能达到千亿或更多。几十到上百节点的规模

3. elasticsearch

image-20200720233958646

ES集群工作原理:

master-slave模式:
master收集到日志后,会把一部分数据碎片到slave上(随机的一部分数据);同时master又会各自做副本,并把副本放到集群内其他机器上,这样就保证了数据不会丢失
如果master宕机了,(es集群中节点会重新选举master)客户端在日志采集配置中将es主机指向slave,从而保证elk日志正常采集和展示

4. logstash

image-20200720234130072

image-20200720234146211

5. kibana

image-20200720233858609

6. Beats

image-20200723100204396

image-20200723100119754

6.1 metricbeat

image-20200720233217594

Metricbeat有2部分组成,一部分是Module,另一部分为Metricset。

  • Module
    • 收集的对象,如:mysql、redis、nginx、操作系统等;
  • Metricset
    • 收集指标的集合,如:cpu、memory、network等;

image-20200721101714511

image-20200720233333366

6.2 filebeat

image-20200720233439472

image-20200721101847023

image-20200720233552071

6.2.1 日志格式·要求

[INFO] 2020-07-20 14:07:58 [cn.**.**.Main] - DAU|9349|搜索|2020-07-20 05:02:27
[INFO] 2020-07-20 14:07:58 [cn.**.**.Main] - DAU|1883|评论商品|2020-07-20 01:01:20
[INFO] 2020-07-20 14:08:00 [cn.**.**.Main] - DAU|2397|加入收藏|2020-07-20 05:01:00
[INFO] 2020-07-20 14:08:05 [cn.**.**.Main] - DAU|8197|浏览页面|2020-07-20 11:02:01
[INFO] 2020-07-20 14:08:18 [cn.**.**.Main] - DAU|8551|加入购物车|2020-07-20 06:05:01

image-20200721103101140

7、附件(了解)

8.1 Devops 定义

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

image-20200724150859268

8.2 实现DevOps需要什么

硬性要求:工具上的准备

代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
构建工具:Ant、Gradle、maven
自动部署:Capistrano、CodeDeploy
持续集成(CI):Bamboo、Hudson、Jenkins
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk
压力测试:JMeter、Blaze Meter、loader.io
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker

IS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
``

原文地址:https://www.cnblogs.com/zhengfx/p/13974355.html