
ELK目前是业界监控应用程序的日志的标准解决方案。
顾名思义由3个组件组合而成:Elastic + Logstatsh + Kibana

大表哥在实际工作中会用到ELK 来监控数据库 mysql 和 mongo 的慢日志。这样在一定程度上,可以及时发现数据库的性能潜在问题,也为以后和开发的小伙伴撕逼提供了有力的证据。新上的项目,老板也要看图,想知道数据库的是否相应够快!
现在创业流行词是 低成本试错。 如果你要是觉得自己搭建一套 ELK 系统太费劲的话。
那么从容器的镜像中直接启动ELK是一个快速,简单的方式。 目前容器技术还未广泛应用到数据库这个层面,但是仅仅是作为系统日志监控作用的话: 容器值得!
下面大表哥来带你体验一下:
我们需要先准备一台虚拟机 配置最好内存要高一点。 Java语言开发的程序还是比较吃内存的。 需要提前安装好docker 环境,这里就不再介绍了,网上有很多的文章。
我们首先搜索一下现成的ELK的镜像:
INFRA [root@wqdcsrv3067 ~]# docker search elk NAME DESCRIPTION STARS OFFICIAL AUTOMATED sebp/elk Collect, search and visualise log data with … 1137 [OK]
我们把镜像拉到本地来:
INFRA [root@wqdcsrv3067 ~]# docker pull sebp/elk Using default tag: latest latest: Pulling from sebp/elk 35807b77a593: Pulling fs layer ccfecfa17ed6: Pulling fs layer 499764c8dc6b: Pulling fs layer 588c105de118: Pulling fs layer 956458a02929: Pulling fs layer fcb8ab5106ed: Pulling fs layer 9f1b5718b67e: Pulling fs layer 4295b6091646: Pulling fs layer 130bb8bcc4a1: Pulling fs layer 370b088e345c: Pulling fs layer 38460a308a8b: Pulling fs layer c146f8719f23: Pulling fs layer 78c03488897c: Pulling fs layer ee5f1ea1d83c: Pull complete 04f44f81b543: Pull complete d23e0d15769e: Pull complete 9ccb87678fec: Pull complete fa8a6311f5de: Pull complete 8fac3bf25e29: Pull complete 685dd99e2071: Pull complete 0c137ffd1c22: Pull complete 89faf4a9b356: Pull complete f91b7ab814e2: Pull complete a6de1cd73e53: Pull complete ae7fe613db20: Pull complete f611eb23d5aa: Pull complete 1c4a1aa5ccc4: Pull complete 4f4fb700ef54: Pull complete b8fc01352ef1: Pull complete 33a29a927100: Pull complete eaf144c4abb5: Pull complete Digest: sha256:08b9268d6115398fab1a142b97414391cfd1d3b555756e9005ccd4961b8f3d78 Status: Downloaded newer image for sebp/elk:latest docker.io/sebp/elk:latest
我们可以查询一下本地的镜像库:
INFRA [root@wqdcsrv3067 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE gitlab/gitlab-ee latest e126098b0962 2 weeks ago 2.49GB sebp/elk latest 07d2f8030ad1 5 weeks ago 2.66GB centos 7 eeb6ee3f44bd 8 weeks ago 204MB centos latest 5d0da3dc9764 8 weeks ago 231MB portainer/portainer latest 580c0e4e98b0 7 months ago 79.1MB
启动我们刚才下载的ELK镜像
INFRA [root@wqdcsrv3067 ~]# docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=2g -e ES_MAX_MEM=2g -it --name elk sebp/elk
9200:为ES的端口
5601:为KIBANA的端口
5044:为LOGSTATCH的端口
我们这时可以打开浏览器: 访问一下kibana的页面
http://10.67.200.39:5601/app/home

ELK的环境完成了! 这个速度绝对符合现代软件开发部署的快速迭代的要求!
我们可以在linux上进入容器中观察一下3个组件的配置文件的位置,以便后续修改。
INFRA [root@wqdcsrv3067 ~]# docker exec -it 7a990f1bcae0 /bin/bash root@7a990f1bcae0:/#
Kibana的路径:/opt/kibana/
root@7a990f1bcae0:/# cd /opt/kibana/ root@7a990f1bcae0:/opt/kibana# ls bin config data LICENSE.txt node node_modules NOTICE.txt package.json plugins README.txt root@7a990f1bcae0:/opt/kibana# cd config/ root@7a990f1bcae0:/opt/kibana/config# ls kibana.yml node.options root@7a990f1bcae0:/opt/kibana/config# view kibana.yml
ES的路径:/opt/elasticsearch
root@7a990f1bcae0:/opt/elasticsearch# ls bin config data jdk lib LICENSE.txt logs modules NOTICE.txt plugins README.asciidoc
Logstatch 的路径: /opt/logstash
root@7a990f1bcae0:/opt/logstash# ls bin data jdk jruby-381 jruby-386 lib logstash-core-plugin-api patterns x-pack config Gemfile jruby-358 jruby-384 jruby-398 LICENSE.txt modules tools CONTRIBUTORS Gemfile.lock jruby-376 jruby-385 jruby-403 logstash-core NOTICE.TXT vendor
后续大表哥会分享关于数据库mysql,mongo的慢日志在ELK中的监控。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




