ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。
Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。
Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。
Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询
二,部署环境
系统:Centos 7.4
IP:192.168.1.88
安装: elasticsearch、logstash、Kibana
三,安装Elasticsearch
1,安装jdk (java环境必须是1.8版本以上的)
rpm -ivh jdk-8u161-linux-x64.rpm
2,下载elasticsearch-6.2.4.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
3,安装
tar -zxvf elasticsearch-6.2.4.tar.gz -C /usr/local/ mv /usr/local/elasticsearch-6.2.4/ /usr/local/elasticsearch useradd elk chown -R elk.elk /usr/local/elasticsearch/
4,修改配置
#vim /usr/local/elasticsearch/config/elasticsearch.yml #修改 network.host: 0.0.0.0 #添加 http.cors.enabled: true http.cors.allow-origin: "*"
#vim /etc/security/limits.conf #添加 * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 #vim /etc/sysctl.conf #添加 vm.max_map_count=655360 sysctl -p
6,测试
四,安装Logstash
1,下载logstash-6.2.4.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.tar.gz
2,解压安装
tar -zxvf logstash-6.2.4.tar.gz -C /usr/local/ mv /usr/local/logstash-6.2.4/ /usr/local/logstash
3,创建logstash.conf配置文件
vim /usr/local/logstash/config/logstash.conf #输入 input { file { path => "/var/log/messages" type => "syslog_messages" } file { path => "/var/log/secure" type => "syslog_secure" } } #过滤 filter { mutate { # 替换元数据host的值 replace => ["host", "192.168.1.88"] } } #输出 output { elasticsearch { hosts => ["192.168.1.88:9200"] index => "system-%{+YYYY.MM.dd}" } #终端标准输出 #stdout { codec => rubydebug } }
4,启动
/usr/local/logstash/bin/logstash -f /usr/local/logstash/config/logstash.conf
五,安装kibana
1,下载kibana-6.2.4
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz
2,解压安装
tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz -C /usr/local/ mv /usr/local/kibana-6.2.4-linux-x86_64 /usr/local/kibana
3,配置
vim /usr/local/kibana/config/kibana.yml server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://192.168.1.191:9200" kibana.index: ".kibana"
4,启动
nohup /usr/local/kibana/bin/kibana &