1. Elastic Stack
官网: https://www.elastic.co/cn/what-is/elk-stack
![image-20200720160010327](https://zfx-blog.oss-cn-beijing.aliyuncs.com/blog/image-20200720160010327.png)
2. 硬件配置
2.1 推算依据
ES JVM heap 最大可以设置32G 。
30G heap 大概能处理的数据量 10 T。如果内存很大如128G,可在一台机器上运行多个ES节点实例
2.2 两大应用场景
A. 用于构建业务搜索功能模块,且多是垂直领域的搜索。数据量级几千万到数十亿级别。一般2-4台机器的规模。
B. 用于大规模数据的实时OLAP(联机处理分析)经典的如ELK Stack,数据规模可能达到千亿或更多。几十到上百节点的规模
3. elasticsearch
ES集群工作原理:
master-slave模式:
master收集到日志后,会把一部分数据碎片到slave上(随机的一部分数据);同时master又会各自做副本,并把副本放到集群内其他机器上,这样就保证了数据不会丢失
如果master宕机了,(es集群中节点会重新选举master)客户端在日志采集配置中将es主机指向slave,从而保证elk日志正常采集和展示
4. logstash
5. kibana
6. Beats
6.1 metricbeat
Metricbeat有2部分组成,一部分是Module,另一部分为Metricset。
- Module
- 收集的对象,如:mysql、redis、nginx、操作系统等;
- Metricset
- 收集指标的集合,如:cpu、memory、network等;
6.2 filebeat
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
7、附件(了解)
8.1 Devops 定义
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
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
``