ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
ELK平台介绍
在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:
以下内容来自: http://baidu.blog.51cto.com/71938/1676798
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站: https://www.elastic.co/products
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
—————————- 摘抄内容结束——————————-
画了一个ELK工作的原理图:
如图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。
ELK平台搭建
系统环境
System: Centos release 6.6 (Final)
ElasticSearch: elasticsearch-5.3.0.tar.gz
Logstash: logstash-5.3.0.tar.gz
Kibana: kibana-5.3.0-linux-x86_64.tar.gz
Java: openjdk version ”1.8.0_51″
ELK官网下载: https://www.elastic.co/downloads/
ElasticSearch
配置ElasticSearch:
useradd elk #ES不允许root启动服务
tar -zxvf elasticsearch-5.3.0.tar.gz
cd elasticsearch-5.3.0
vi config/elasticsearch.yml
修改以下配置项:
cluster.name: es_cluster node.name: node0 path.data: /tmp/elasticsearch/data path.logs: /tmp/elasticsearch/logs network.host: 172.16.160.122 http.port: 9200
其他的选项保持默认,然后启动ES:
su elk
./bin/elasticsearch &
3、
补:启动异常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
问题原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决方法需要修改几个地方:
1, 在elasticsearch.yml中配置,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
2,vim /etc/security/limits.d/90-nproc.conf
* soft nproc 65535
root soft nproc unlimited
3,vim /etc/sysctl.conf
vm.max_map_count = 655360
可以看到,它跟其他的节点的传输端口为9300,接受HTTP请求的端口为9200。
Logstash
Logstash的功能如下:
其实它就是一个 收集器 而已,我们需要为它指定Input和Output(当然Input和Output可以为多个)。而Output就是ElasticSearch。
配置Logstash:
tar -zxvf logstash-5.3.0.tar.gz cd logstash-5.3.0
编写配置文件(名字和位置可以随意,这里我放在config目录下,取名为a_es.conf):
mkdir config vi config/a_es.conf
input { file { path => "/tmp/a.log" #创建的测试日志文件 } } filter { } output { stdout { codec => rubydebug } elasticsearch { index => "test_%{+YYYY.MM.dd}" #索引信息 hosts => [ "172.16.160.122:9200" ] } }
./bin/logstash -f config/a_es.conf
如下图,证明通信无误
Kibana
配置Kibana:
tar -zxvf kibana-4.3.0-linux-x86.tar.gz cd kibana-4.3.0-linux-x86 vi config/kibana.yml server.port: 5601 server.host: "172.16.160.122" elasticsearch.url: http://172.16.160.122:9200 kibana.index: ".kibana.yml" ./bin/kibana

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Nginx、Apache2修改默认端口号
Ubuntu15.04 Nginx、Apache2修改默认端口号 通过Ubuntu 搭建WEB服务器,根据需求,有时候会需要修改web服务的端口号,这里我记录整理了Nginx和Apache修改默认端口号和网站目录的过程。 Nginx修改默认端口 1、修改配置文件 vi/etc/nginx/sites-enabled/default listen81default_server; #修改自己需要的端口号 listen81default_server; 2、重载Nginx服务 /etc/init.d/nginxreload 3、修改默认网站目录 vi/etc/nginx/sites-enabled/default #root/var/www/html; root/usr/share/nginx/html;#修改默认网站目录 4、修改默认主页文档: 修改或者替换index.html vi/usr/share/nginx/html/index.html#修改index.html Apache修改默认端口 1、修改配置文件 (1)修改 /etc/apache2/ports.conf 将 Name...
- 下一篇
MySQL 主从复制 + MySQL Router 部署测试
4个节点 1、MySQLDB1 192.168.1.41 (MySQL 主节点) 2、MySQLDB2 192.168.1.42 (MySQL从节点) 3、MySQLDB3 192.168.1.43 (MySQL从节点) 4、MySQLRouter 192.168.1.47 (MySQLRouter服务节点) 软件版本说明: 1、操作系统 CentOS6.6_x86_64 2、MySQLServer 5.7.16 3、MySQLRouter 2.0.4 一、部署MySQL主从复制 ----------------------- 复制创建及配置主要步骤 ----------------------------------------- 1、Master端启用二进制日志,指定唯一的server_id 2、Slave端配置唯一的server_id 3、Master 端创建复制专用帐号 4、记录Master端日志信息并创建镜像 5、配置Slave端的连接 ----------------------------------------------------------------------...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6