一.elk套件介绍
ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。官方网站: https://www.elastic.co/products
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。
Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
kibana 也是一个开源和免费的工具,他 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
工作原理如下如所示:

**客户端的logstash从日志里取出数据推送到服务端的redis里,服务端的logstash从redis里取出推送到elasticsearch,elasticsearch进行分析,kibana来展示
注:安装全部使用rpm安装,方便管理
二、服务端安装过程
1.安装依赖JDK
版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm Preparing... ########################################### [100%] 1:jre1.8.0_91 ########################################### [100%] Unpacking JAR files... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... jfxrt.jar...
2.安装logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm Preparing... ########################################### [100%]
3.安装elasticsearch
版本:elasticsearch-2.3.3.rpm
# rpm -ivh elasticsearch-2.3.3.rpm Preparing... ########################################### [100%]
4.安装kibana
版本:kibana-4.5.1-1.x86_64.rpm
# rpm -ivh kibana-4.5.1-1.x86_64.rpm Preparing... ########################################### [100%] 1:kibana ########################################### [100%]
5.安装redis
版本: redis-3.0.0.tar.gz
#tar xf redis-3.0.0.tar.gz #cd redis-3.0.0 #make #mkdir /usr/local/redis #mkdir /usr/local/redis/bin #cp src/redis-benchmark /usr/local/redis/bin/ #cp src/redis-check-aof /usr/local/redis/bin/ #cp src/redis-check-dump /usr/local/redis/bin/ #cp src/redis-cli /usr/local/redis/bin/ #cp src/redis-sentinel /usr/local/redis/bin/ #cp src/redis-server /usr/local/redis/bin/ #cp redis.conf /usr/local/redis/ #cd /usr/local/redis/ #mv redis.conf redis_6378.conf
三.客户端安装过程
1.安装依赖JDK
版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm Preparing... ########################################### [100%] 1:jre1.8.0_91 ########################################### [100%] Unpacking JAR files... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... jfxrt.jar...
2.安装logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm Preparing... ########################################### [100%]
四.客户端配置
#cd /etc/logstash/conf.d/ #新建一个conf文件 ## vi nginx_access.conf
配置文件如下:
input { file { type => "nginx_access" #分析的日志路径。一般都是咱们的squid or nginx日志路径 path => ["/usr/local/nginx/logs/access.log"] codec => plain { charset => ["UTF-8"] #字符编码UTF-8 } } } output { stdout {} redis { #将过滤好的数据推送到服务端的redis里 host => '服务端IP地址' data_type => 'list' key => 'elk:redis' codec => json { charset => ["UTF-8"] } } }
启动服务
/etc/init.d/logstash start
五、服务端配置
1.修改logstash配置文件
# cd /etc/logstash/conf.d/ # vi nginx_access.conf input { redis { #从redis里取出日志 host => '服务器IP地址' data_type => 'list' port => "6378" key => 'elk:redis' type => 'redis-input' codec => plain { charset => "UTF-8" } } } filter { json{ source =>"message" } } #把日志交给elastic分析 output { elasticsearch { hosts => ["127.0.0.1:9200"] codec => "json" } }
2.修改logstash运行内存
vi /etc/init.d/logstash LS_HEAP_SIZE="1g" #此处可以根据你服务器的配置来修改
3.配置elasticsearch
vi /usr/share/elasticsearch/bin/elasticsearch.in.sh if [ "x$ES_MAX_MEM" = "x" ]; then ES_MAX_MEM=4g fi 将max调整为4g #此处可以根据你服务器的配置来修改 修改elasticsearch 监听地址 vi /etc/elasticsearch/elasticsearch.yml network.host: 0.0.0.0
4.启动相关服务
/etc/init.d/elasticsearch start /etc/init.d/logstash start /etc/init.d/kibana start /usr/local/redis/bin/redis-server /usr/local/redis/redis_6378.conf & #记得redis添加防火墙,要不容易被啪啪。
5.kibana显示
略。
来源:https://www.cnblogs.com/liu-yao/p/5678963.html