阿铭Web运维实战
从理论到实战的Web运维知识体系
共15篇 | 阿铭linux
¥51.00 656人订阅
新人大礼包
小程序订阅 省¥12
专栏介绍
ELK是目前行业中非常热门的一个技术,它可以用于电商网站、门户网站、企业IT系统等各种场景下,也可以用于对海量的数据进行近实时的数据分析。
到底什么是ELK?
ELK呢,就是给运维提供辅助的一个应用套件。运维工作就是对各种业务系统进行监控,发现问题,能够及时告警,然后能够迅速查到问题,进而解决问题,这是运维工作的核心。
而如果运维管理的服务器和业务系统非常多的情况下,可能无法及时、准确的了解每个业务系统和服务器的状态,如果发现业务系统有问题,那就需要登录业务系统服务器去查问题,但是如果服务器很多呢,有几百台、甚至更多情况下,不可能一个一个系统登录查看吧。
那么,问题就来了?
怎么解决这种问题呢,ELK这个套件工具,就可以解决这个问题,ELK是集中对日志进行收集、过滤、分析、可视化展示的工具。
通过ELK,将运维所有的服务器日志,业务系统日志都收集到一个平台下,然后提取想要的内容,比如错误信息,警告信息等,当过滤到这种信息,就马上告警,告警后,运维人员就能马上定位是哪台机器、哪个业务系统出现了问题,出现了什么问题,都会在ELK平台有详细的描述。
ELK的功能是?
这样通过这个ELK平台,就避免了运维人员登录每个机器,一台一台查看日志的麻烦,遇到问题,迅速发现,迅速定位,迅速解决问题,最终,提升运维的工作效率。
当然,ELK还有更大的功能,对大数据做分析,还可以和Hadoop大数据平台整合。
专栏解决了什么?
本专栏属于从入门到应用实战性质的一个专栏,深入浅出剖析ELK在企业常见应用框架以及ZooKeeper、Kafka与ELK进行整合的方法和架构。
首选通过具体的一个应用案例介绍ZooKeeper+Kafka+ELK构建一套实时日志处理系统的过程。然后通过对Logstash和Filebeat的对比,深入介绍Filebeat及ELK的安装配置以及日志数据可视化的实现方法。
接着,详细介绍了Logstash的各种应用插件以及具体用法。最后通过多个案例介绍了如何收集Apache、Nginx、Tomcat、Mysql、Docker等日志收集案例以及ELK的优化经验和措施。
专栏入口
专栏订阅成功后,即可通过以下4个途径永久阅读
1.“51CTO订阅专栏”小程序端
2.“51CTO”微信服务号端
3.“51CTO博客”web端
4.“51CTO学院”Android App端
适用人群
1.运维人员
2.开发人员
3.大数据分析人员
订阅说明
1.本专栏为图文专栏,共计15篇
2.专栏现已更新完毕
3.专栏一经订阅永久阅读, 可与作者留言互动
4.本专栏为虚拟产品,一经订阅,概不退款,请慎重订购
5.专栏阅读过程中,如有任何问题请联系51CTO小助手(微信:cto51boke/QQ:3591348659)
学习本专栏您能收获什么
1.尽快熟悉ELK架构
2.构建Web应用程序
3.完成分布式信息检索与分析
4.分布式的实时日志(数据)搜集和分析的监控系统实例
专栏目录
ELK是一个应用套件,由Elasticsearch、Logstash和Kibana三部分组件组成,简称ELK;它是一套开源免费、功能强大的日志分析管理系统。ELK可以将我们的系统日志、网站日志、应用系统日志等各种日志进行收集、过滤、清洗,然后进行集中存放并可用于实时检索、分析。
1.ZooKeeper与kafka的工作机制以及集群应用架构
在介绍ZooKeeper之前,先来介绍一下分布式协调技术,所谓分布式协调技术主要是用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种共享资源,防止造成资源竞争(脑裂)的后果。
下图是本节即将要介绍的一个线上真实案例的架构图,此架构稍微有些复杂,因此,这里做一下架构解读。
3.Elasticsearch的图形化界面工具的使用以及ZooKeeper集群的实现
Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作。在Elasticsearch5.x版本以后,Head插件已经是一个独立的Web App了,所以不需要和Elasticsearch进行集成。
4.Kafka分布式集群构建以及使用FileBeat收集日志
这里我们将kafka安装到/usr/local目录下,因此,kafka的主配置文件为/usr/local/kafka/config/server.properties,这里以节点kafkazk1为例,重点介绍一些常用配置项的含义
Logstash是一个开源的、服务端的数据处理pipeline(管道),它可以接收多个源的数据、然后对它们进行转换、最终将它们发送到指定类型的目的地。
6.通过Kibana展示各种维度数据以及如何调试并验证日志数据流向
下载与安装Kibanakibana使用JavaScript语言编写,安装部署十分简单,即下即用,读者可以从elastic官网https://www.elastic.co/cn/downloads/kibana下载所需的版本,这里需要注意的是Kibana与Elasticsearch的版本必须一致。
7.Logstash输入插件(Input)以及编码插件(Codec)详解
Logstash输入插件(Input)以及编码插件(Codec)详解在上面文章中我们介绍了logstash的基本使用,主要讲述了logstash的input(输入)和output(输出)功能,其实logstash的功能远远不止于此,logstash之所以功能强大和流行,还与其丰富的过滤器插件是分不开的
8.Logstash过滤器插件(Filter)以及输出插件(output)详解
Logstash过滤器插件(Filter)丰富的过滤器插件是logstash功能强大的重要因素。名为过滤器,其实它提供的不单单是过滤器的功能。logstash还可以对进入过滤器的原始数据进行复杂的逻辑处理,甚至添加独特的事件到后续流程中。
ELK收集日志的几种方式ELK收集日志常用的有两种方式,两种方式各有优缺点
这里我们仍以ELK+Filebeat+Kafka+ZooKeeper构建大数据日志分析平台一节的架构进行讲述
11.Filebeat+Logstash通过Zabbix实现日志监控告警
Logstash与插件的使用Logstash支持多种输出介质,比如syslog、HTTP、TCP、elasticsearch、kafka等,而有时候我们想将收集到的日志中一些错误信息输出,并告警时,就用到了logstash-output-zabbix这个插件,此插件可以将Logstash与zabbix进行整合,也就是将Logstash收集到的数据进行过滤,将有错误标识的日志输出到zabbix中
什么是慢查询日志在应用程序连接mysql过程中,某些sql语句由于写的不是很标准,会导致执行完毕所花费的时间特别长,SQL语句执行时间过长,势必影响业务系统的使用,这个时候可能就会出现开发人员和运维人员相互扯皮的问题,那么如何帮助运维人员解决这样的困境呢,其实通过ELK工具,就可以轻松解决:开启mysql慢查询日志,然后将日志收集到统一展示平台,每个SQL语句的写法、执行
tomcat日志解析对tomcat的日志监控和分析主要有有两种类型,分别是访问日志(localhost_access_log.Y-M-D.txt)和运行状态日志(catalina.out),其中,访问日志记录访问的时间,IP,访问的资料等相关信息,catalina.out其实记录了tomcat的标准输出(stdout)和标准出错(stderr),这是在tomcat的启动脚本里指定的,默认情况下
随着大数据时代的到来,传统运维时代也将转向数据运维时代,数据运维时代的一个典型特征是海量数据,ELK的出现解决了这个问题,有人把运维比作医生给病人看病,那么日志则是病人对自己的陈述,运维人员要从海量数据中有效的提取关键信息,才能对症下药
很多人上手ES的时候,对GC一点概念都没有,然后及直接去网上抄各种JVM“优化”参数,但是效果却不理想,甚至搞出内存溢出这样的问题。可见了解JVMGC的概念和基本工作机制是很有必要的
支付成功
加入作者互动群
和作者近距离提问 &交流 &互动
扫描二维码 回复 ZL014 + 昵称 入群