ELK概述
ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成:
1)ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
在ElasticSearch中,所有节点的数据是均等的。
2)Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。
3)Kibana 是一个基于浏览器页面的ElasticSearch前端展示工具,也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
一、安装JDK
Logstash的运行依赖于Java运行环境, Logstash 1.5以上版本不低于java 7,推荐使用最新版本的Java(已安装的请跳过)。
# wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz # mkdir /usr/local/java # tar -zxf jdk-8u45-linux-x64.tar.gz -C /usr/local/java/
配置Java环境变量
# vi /etc/profile export JAVA_HOME=/usr/local/java/jdk1.8.0_45 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
执行java -version命令,查看JDK是否配置成功。
二、安装Logstash
下载Logstash,并解压Logstash到指定目录
# wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz # tar -zxvf logstash-2.3.4.tar.gz -C /usr/local/ # mv /usr/local/logstash-2.3.4 /usr/local/logstash
简单测试Logstash服务是否正常,预期可以将输入内容以简单的日志形式打印在界面上
# /usr/local/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'
创建Logstash配置文件
# mkdir -p /data/elk/logstash_conf/ # vi log_web_error.conf
input { file { codec => multiline { pattern => "^\d{2}:\d{2}:\d{2}\.\d* \d* ERROR" negate => true what => "previous" } path => "/data/weblogs/tomcat_web/error/*.log" start_position => "beginning" } } output { stdout {} elasticsearch { action => 'index' hosts => '172.16.90.33' index => 'web_33_error' } }
测试脚本是否正常(正常启动时,日志信息会打印到控制台)
# /usr/local/logstash/bin/logstash -f /data/elk/logstash_conf/log_web_error.conf
当脚本较多时,可以指定logstash –f到指定目录即可
# /usr/local/logstash/bin/logstash -f /data/elk/logstash_conf/
三、安装ElasticSearch
1、下载ElasticSearch,并解压到指定目录
# wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.4/elasticsearch-2.3.4.tar.gz # tar -zxvf elasticsearch-2.3.4.tar.gz -C /usr/local/ # mv /usr/local/elasticsearch-2.3.4 /usr/local/elasticsearch
2、创建ElasticSearch数据存储目录和日志存储目录
# mkdir -p /data/elk/db/ # mkdir -p /data/weblogs/elk/
3、为ElasticSearch服务创建启动用户
# useradd es # chown -R es /usr/local/elasticsearch/ # chown -R es /data/
4、调整ElasticSearch配置文件
# cd /usr/local/elasticsearch/config/ # vi elasticsearch.yml
cluster.name: es-cluster node.name: node-33 path.data: /data/elk/db path.logs: /data/weblogs/elk network.host: 172.16.90.33 http.port: 9200
5、安装head插件
# su - es $ cd /usr/local/elasticsearch/ $ ./bin/plugin install mobz/elasticsearch-head #查看head插件是否安装 $ ls plugins/
6、启动ElasticSearch
$ ./bin/elasticsearch &
7、查看ElasticSearch首页
# curl http://172.16.90.33:9200
可以通过浏览器查看head插件是否安装成功:http://172.16.90.33:9200/_plugin/head/
8、防火墙配置
为了正常使用HTTP服务等,需要关闭防火墙
# service iptables stop
或者可以不关闭防火墙,但是要在iptables中打开相关的端口
# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9292 -j ACCEPT # service iptables restart
四、安装Kibana
1、下载Kibana,并安装Kibana到指定目录
# wget https://download.elastic.co/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz # tar -zxvf kibana-4.5.3-linux-x64.tar.gz # mv /usr/local/kibana-4.5.3-linux-x64 /usr/local/kibana/
2、修改Kibana配置文件
# cd /usr/local/kibana/config/ # vi kibana.yml server.host: "172.16.90.33" elasticsearch.url: http://172.16.90.33:9200
3、启动Kibana
# cd ../ # ./bin/kibana &
通过浏览器访问Kibana: http://172.16.90.33:5601/
五、kibana的登录认证问题
kibana是nodejs开发的,本身并没有任何安全限制,直接浏览url就能访问,如果公网环境非常不安全,可以通过nginx请求转发增加认证,方法如下:
注意:kibana没有重启命令,要重启,只能ps -ef|grep node 查找nodejs进程,干掉重来。
1、参考一下内容修改nginx配置文件:
##如果是大规模集群环境,此处配置多台Kibana服务器即可 upstream kibana_server { server 172.16.90.33:5601; #server 192.168.8.203:5601; } server { listen 80; server_name localhost; charset utf8; location / { proxy_pass http://kibana_server$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; ##方案一、用户认证方式,依赖apache-utils中的生成密码工具 auth_basic "secret"; auth_basic_user_file /usr/local/nginx/db/passwd.db; ##方案二、只有公司的外网IP,局域网IP可以访问 #allow 10.**.*.**; #allow 192.168.8.0/24; #deny all; } }
2、配置登录用户名、密码
htpasswd -c /usr/local/nginx/db/passwd.db kibana
注意passwd.db的路径要跟nginx配置中的一致,最后的kibana为用户名,可以随便改,输入完该命令后,系统会提示输入密码,搞定后passwd.db中就有加密后的密码了,有兴趣的可以cat看下。
提示:htpasswd是apache自带的小工具,如果找不到该命令,尝试用yum install httpd安装。
3、关闭kibana端口的外网访问
用nginx转发后,一定要记得配置iptables之类的防火墙,禁止外部直接访问5601端口,这样就只能通过nginx来访问了。
相关推荐
ELK日志分析和监控的安装和部署
按照文档,只需要修改IP地址即可安装部署elk日志系统。
ELK部署文档---
ELK日志分析平台一键部署脚本 架构:logstash+elasticsearch+kibana 功能:shell脚本一键部署 亲测有用!!!
elasticsearch集群,ELK(日志分析系统): Elasticsearch + Logstash + Kibana集群环境部署及应用
elk环境部署说明文档,采用多台服务器分开部署,个别业务未拆分,由于资源有限
无论是甲方还是一方都需要面对大量日志处理的情况,之前分析的时候用基本的 shell 命令进行处理,但是...后来有人推荐了 ELK,最近 ELK升级到了版本五。E, L, K 三大组件统一了版本 号,花了一段时间总 算搭好了。
《ELK部署中文指南.pdf》 《ELK部署中文指南.pdf》 《ELK部署中文指南.pdf》
elasticsearch集群,ELK(日志分析系统): Elasticsearch + Logstash + Kibana集群环境部署及应用
采用docker-compose一键部署
ELK 6.6 安装软件包括 jdk-8u201-linux-x64.tar.gz 182.9M2019-02-27 11:46 elasticsearch-6.6.0.tar.gz 108.8M2019-02-27 11:45 kafka_2.11-2.1.1.tgz 59.2M2019-02-27 11:45 logstash-6.6.0.tar.gz 161.8M2019-02-...
Elasticsearch + Logstash + Filebeat + Kibnan 专业部署 截图+ 文字 非常详细 看完还不会来打我
使用kubernetes部署ELK日志系统
最新的elk7.1.1安装文档,es集群安装配置,kibana安装及汉化配置,filebeat和logstash安装,在各色的文档中排坑中走出,此为新手最值得拥有的文档。 系统为linux7.6 安装包为tar包。
ELK5.0部署安装,elasticsearch、logstash、kibana。。
elasticsearch6.5.4+logstash6.5.4+kibana6.5.4+log4j2 在sentos7上部署的全过程,包括过程中会遇到的问题及详解
ELK由Elasticsearch、Logstash和Kibana三部分组件组成; Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 ...
elk 日志系统部署及实践
ELK环境部署测试注:Logstash Elasticsearch Kibana 的下载地址统一为https://www.elastic.co/download
ELK日志框架在windows和linux下的部署