打造高效的运维日志收集与分析平台

0x01 背景

    

面对与日俱增的日志信息,最传统的日志收集方式已难以满足运维人员的基本需求。So,我们何不利用如今丰富的开源工具来打造一款高效实用的运维日志收集分析平台呢。以下就我们目前尝试在做的运维日志平台进行简要介绍,希望能与各位交流心得经验。

0x02 平台架构

    我们并没有采用ELK的架构进行日志收集,而是采用了多款日志收集工具结合的方式,即EKF(K/Z),

elasticsearch + kafka-zookeeper + Flume + kibana/zabbix。

0x03 简要介绍

针对flume进行适当改写,将Java环境加入到flume程序中,使flume服务启动时即可拥有Java环境,免除在每台主机上还需单独部署jdk的困扰。同时,针对不同日志的不同特点,采取不同的收集方式,规范日志的格式,适当对采集的日志进行压缩,可有效减少日志采集量。

针对kafka-zookeeper集群,尝试采用docker容器的方式进行部署。Docker以实现快速部署而称著,因此,如果要部署较多量的kafka-zookeeper集群,倒不如尝试一下采用docker的部署方式。首先,我们制作一个dockerfile,将dockerfile生成镜像文件,启动后即可使用。在使用docker部署kafka-zookeeper集群的时候,我们也遇到了很多问题。比如较为突出的是端口问题,最后我们采用的是docker容器与宿主机端口映射这样一种较为简单的方式解决的。

将kafka数据写入elasticsearch,我们采用的是自己写的一个中间件程序来实现的。之前原本是想采用第三方插件之类的东西,但发现适合自己的确实是没有,于是乎,同事自己动手写了一个,目前验证来看,效果和性能还是不错的。

针对elasticsearch集群,目前的关注点主要围绕在如何优化上;

此外,我们还将elasticsearch中的数据进行提取,在zabbix上进行展示。目前在zabbix上展示的参数主要是对pv值和http状态码进行统计和监控。

zabbix效果图:

针对运维日志收集与分析平台,要做的还有很多。目前只是刚刚开始,前面还有无数个坑在等着,希望能够打造成真正的日志收集分析平台,简化运维日常工作量,为日常工作提供决策与处理依据。

(by secscorpio)

时间: 12-13

打造高效的运维日志收集与分析平台的相关文章

RichAPM应用性能解决方案 从 IT运维到IT运营分析

2015年后,APM这个词逐渐进入企业的视野中,据不完全统计,国内已有十数家软件服务商加入了APM行业的大军中.那么,APM为什么这么火? 首先我们来做一个小调查:当你上一个网站或者使用一个APP,遇到打不开.没反应.加载慢等问题,你会如何做? 1.马上离开,以后都不会再来. 2.等待一会儿再离开,以后都不会再来. 3.换一个同类的网站/APP. 4.下次再试. 5.找网站/APP的客服,反馈问题. 如果你的选择是第五点,那么恭喜,你就是所有企业都在寻找的"热情"用户.事实上,大部分人

logstash通过rsyslog对nginx的日志收集和分析

logstash通过rsyslog对nginx的日志收集和分析 http://bbotte.blog.51cto.com/6205307/1613571 logstash&elasticsearch&kibana的安装和配置 http://bbotte.blog.51cto.com/6205307/1614453  这一篇文章里面是以nginx打补丁的方式实现rsyslog把nginx的日志同步到logstash做分析,不过线上环境种种不一样,下面是把nginx的日志直接通过rsyslog

大型运维知识体系与Python高效自动化运维免费沙龙活动

2015-10-17(周六 下午13:30)大型运维架构运维知识体系讲座 2015-10-18(周日下午13:30)Python运维自动化讲座 以上内容全免费,回馈网友!极其难得的饕餮盛宴! ================================ 大型电商平台架构演变及大型运维知识体系免费讲座 2015-10-17(周六 下午13:30) 主题1:大型电商平台架构演变及大型运维体系知识讲解 内容简介: 通过一个电商网站的架构演变来阐述一个相对完整的<大型运维架构知识体系>.该运维体系

日志收集以及分析:Splunk

写代码的人都知道日志很重要,机器不多的时候,查看日志很简单,ssh 上去 grep + awk + perl 啥的 ad hoc 的搞几把就行,但面对上百台甚至上千台机器时,如何有效的收集和分析日志就成了个很头疼的事情.日志处理必然有如下过程: 从各个服务器读取日志 把日志存放到集中的地方 挖掘日志数据,用友好的 UI 展示出来,最好能做到实时的输入表达式做过滤.聚合 下面分三个方面聊聊,整个过程是需要多方配合的,包括写日志.读日志.转储日志.分析日志,注意聊这些的背景是互联网行业,机器多,日志

mysqlfabrci常规运维的源码分析。

mysqlfabric实现了对主从架构的一些常规维护功能.那mysqlfabric靠谱吗?会不会有什么Bug?我的同事们还是持怀疑态度的. 这里我将对mysqlfabric的基本运维的源码进行分析. 我们知道,mysqlfabric的常规运维有以下几个: 1.mysql的主从切换(有可能一主多从). mysqlfabric group my_group promote  (这里假设group_id为: my_group) 2.mysql的主从切换,且指定某个从(slave)做为新的主(maste

单机部署ELK日志收集、分析系统

最近做日志分析,发现logstash较符合自己的需求, Logstash:做系统log收集,转载的工具.同时集成各类日志插件,对日志查询和分析的效率有很大的帮助.一般使用shipper作为log收集.indexer作为log转载. Logstash shipper收集log 并将log转发给redis 存储 Logstash indexer从redis中读取数据并转发给elasticsearch redis:是一个db,logstash shipper将log转发到redis数据库中存储.Log

【Liinux运维】企业集群平台架构设计与实现

LVS: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. haproxy: HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连

GTONE分析服务器运维日志

从日志分析看,数据库出现故障前,大量process w000 died, see its trace file 无法获得连接,目前参数设置为150,太少,修改processes参数. --整改方法: sqlplus "/ as sysdba " alter system set processes=1500 scope=spfile; --重启数据,在应用可停机时候,对数据库重启 shutdown immediate; startup 2015年02月12日

Httpd运维日志:通过apxs添加模块

Brief 在部署Httpd时为方便管理和安全等原因,我们仅会安装所需的模块,那么后期功能扩展时则需要通过Httpd内置提供的apxs程序来进行模块添加. 而apxs程序则位于apache/bin目录下. Premise 首先我们的平台必须支持DSO特性,而且Httpd必须已经内建了mod_so模块. DSO(Dynamic Shared Object,动态共享对象) 是一种动态连接/加载的机制,从而可以在运行时将编译成特殊格式的代码加载到可执行程序的地址空间.然后通过mod_so提供的Load