elk使用

原 文 日 期:2019-04-26

一、为什么使用elk

一般大型系统是一个分布式部署的架构,不同的服务模块在不同的服务器上,出问题时,需要根据问题暴露的关键信息定位到具体的服务器和模块,构建一套集中式的日志系统,可以提高定位问题的效率
很多时候对于业务关键逻辑,通过file_put_content存储请求数据或者debug,数据量大的时候,对服务器和访问性能都具有不小的影响
一个完整的集中式日志系统包含的主要特点:
收集 - 能够采集多种来源的日志数据
传输 - 能够稳定的吧日志数据传输到中央系统
存储 - 如何存储日志数据
分析 - 可以支持UI分析
警告 - 能够提供错误报告、监控机制

二、elk相关介绍

名词解释

elk是三个开源软件的缩写:Elasticsearch , Logstash, Kibana
elasticsearch: 开源的日志搜索引擎,可搜集、分析、存储数据
kibana:web面板,可以为logstash和els提供的日志分析展示在web界面,
logstash:日志的搜索、分析、过滤日志的工具,支持大量的数据获取方式,工作方式是c/s架构,client端安装在需要收集日志的主机上,service端负责收集各个节点日志,并对日志进行过滤和修改等操作,并将其发往elasticsearch上
FileBeat:轻量级的日志收集处理工具,使用具在各个服务器上搜集日志后传输给logstash
filebeat数据beat 目前beat包含四种工具:
1、Packetbeat(搜集网络流量数据)
2、Topbeat (搜集系统、进程和文件系统级别低的CPU和内存使用情况等数据)
3、filebeat (搜集文件数据)
4、Winlogbeat (搜集windows事件日志数据)

使用流程:

方案一:项目产生的日志 -- filebeat(收集) -- els(存储) -- kibana(查看)
方案二:项目产品的日志 -- filebeat(收集) - logstash(过滤解析)-- els(存储) -- kibana(查看)
结论: 目前使用方案二, 各个项目的日志格式不统一,会通过logstash做修改后,再发送给els

三、 安装

1. 安装 elasticsearch/kibana/logstash
下载tar包解压缩,然后执行bin里的命令行即可
2. 配置
2.1 elasticsearch/config/elasticsearch.yml
主要配置network.host和http.port
2.2 kibana/config/kibana.yml
elasticsearch.hosts
3. 启动命令

    1 els
      $ cd elasticsearch-6.7.1/bin
      $ elasticsearch
    2 kibana
      $ cd kibana-6.7.1-darwin-x86_64
      $ ./bin/kibana

4 访问
els: http://192.168.3.132:11001/
kibana: http://192.168.3.132:5601/
5. 注意事项
els就需要2G内存,宿主机最好不低于4G内存
不然很容易因为内存申请不下来,然后挂掉

四、logstash和filebeat使用

logstash配合filebeat的使用
1、配置
1.1 logstash 增加配置文件
first-pipeline.conf(root权限)
1.2 filebeat/filebeat.yml
paths和output.logstash的hosts
2、启动命令
2.1 filebeat

      $ cd filebeat
      $ sudo ./filebeat -e -c filebeat.yml -d "publish"

2.2 loghash

      $ cd logstash
      $ bin/logstash -f config/logstash-sample.conf --
config.test_and_exit // 第一次校验配置是否正确
      $ bin/logstash -e 'input { stdin { } } output { stdout {} }' // 普通输出
      $ bin/logstash -f config/logstash-sample.conf --config.reload.automatic

3、注意
1、logstash的GROK过滤插件
grokdebug: http://grokdebug.herokuapp.com/
文档:https://github.com/elastic/logstash/tree/v1.4.2/patterns
文档解析【没有找到官方文档。。】:https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/filter/grok.html
2、filebeat模块开启
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-apache.html
3、filebeat权限问题
相关文件权限为root权限:modules
4、使用redis input 插件
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-redis.html
5、logstash管道解析
https://www.elastic.co/guide/en/logstash/current/logstash-config-for-filebeat-modules.html
6、logstash实践
https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/filter/grok.html

五、相关命令:

1、filebeat 开启apache模块
filebeat modules enable apache mysql
2、logstash 多实例运行命令
bin/logstash -f config/config.d/filebeat-apache.conf --config.reload.automatic --path.data=/opt/ci123/logstash-6.7.0/config/config.d/filebeat-apache.conf

bin/logstash -f config/config.d/filebeat-apache.conf --config.reload.automatic --path.data=data/filebeat-apache |pv -abt > /dev/null

六、项目的使用要求

1、配置:
1.1、区分各个系统
1.2、区分日志:apache、mysql
1.3、根据时间解析
1.4、旧数据access不读取
2、 制作图表
请求bytes 字节
3、filebeat重写匹配规则
系统自定义规则不能完全按照默认规则解析,需要重写apache access、error的匹配规则
3.1、使用管道写相应规则,并通过grokdebug查看是否正确
3.2、执行重新set up 管道 ./filebeat setup --pipelines -modules apache2
3.3、执行数据
检测电商所有的log是否符合匹配规则
重新跑一边apache-log


七、后期待解决的问题:

1、取apache日志时,导致服务器负载异常高,
2、部分日志会因jvm堆栈空间不够,写入失败
3、filebeat中偶尔报错Failed to connect to failover(backoff(async(tcp://192.168.1.119:9601)),backoff(async(tcp://192.168.1.119:9601))): dial tcp 192.168.1.119:9601: connect: connection refused

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354