文章目录

  • ELK是什么
  • 为什么要用ELK
  • ELK如何安装搭建
    • ElasticSearch 安装
      • 一、下载Elasticsearch源码
      • 二、安装
      • 三、Elasticsearch配置
      • 四、新增运行Elasticsearch的用户
      • 五、检查Elasticsearch安装是否成功
    • LogStash安装
      • 一、下载Logstash源码
      • 二、安装
      • 三、启动
    • Kibana安装
      • 一、下载Kibana源码
      • 二、安装
      • 三、Kibana配置
      • 四、启动Kibana
    • 附kibana启动后的一些警告信息记录以及解决方法

ELK是什么

E=ElasticSearch,一款基于Lucene的分布式搜索引擎;
L=LogStash, 一款分布式日志收集系统,支持多输入源,并内置一些过滤操作,支持多输入元;
K=Kibana, 一款配合ElasticSearch的web可视化界面,内置非常各种查询,聚合操作,并拥有漂亮的图形化展示功能。

为什么要用ELK

在实际应用中,我们的日志是非常重要的,它通常会记录一些比较重要的信息,如应用程序的log记录的error,warn级别的log,通常在量小的情况下,我们可以直接vi/vim/notepad++等定位原因,在量大的时候,这种方式就捉襟见肘了,而且我们还要各种聚合,或者基于多个异常关键词的搜索,并有且,或,交,并,差,补,排序等一些操作,而且相应速度必须给力,如果线上环境出了故障,能够立刻准确定位,ELK就是高手,在百万大军中取上将首级,犹如探囊取物,所以这时候ELK就非常适合了,当然除此之外,ELK也经常在运维工作中大放光彩,在应用级别的实时监控,非常适合一些重要核心服务的预警。

ELK如何安装搭建

环境:
Linux系统:Centos7
Java版本:JDK1.8
ELK均为最新版本:

ElasticSearch 安装

一、下载Elasticsearch源码

https://www.elastic.co/cn/downloads/elasticsearch

二、安装

1、将下载的二进制包移动到/usr/local目录下,解压缩文件包
tar zxvf elasticsearch-6.5.0.tar.gz

三、Elasticsearch配置

1、进入解压的logstash目录/usr/local/elasticsearch-6.5.0/config,修改配置文件elasticsearch.yml,主要修改 Paths 和 Network 两部分。

2、配置操作系统vm.max_map_count参数,请使用root用户登录系统,执行以下命令
sysctl -w vm.max_map_count=655360
注:vm.max_map_count参数的值至少要设置大于等于262144

四、新增运行Elasticsearch的用户

1、创建elsearch用户组及elsearch用户
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch

2、更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch
cd /usr/local/
chown -R elsearch:elsearch elasticsearch-6.5.0

cd /data
chown -R elsearch:elsearch elasticsearch

3、切换到elsearch用户再启动
su elsearch
cd /usr/local/elasticsearch-6.5.0/bin/
./elasticsearch -d

五、检查Elasticsearch安装是否成功

打开浏览器,输入地址 http://10.62.124.43:9200 出现以下内容则表示安装成功
{
“name” : “jYXkdwS”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “cr_Rj_nxRnywb0warF7tFw”,
“version” : {
“number” : “6.5.0”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “816e6f6”,
“build_date” : “2018-11-09T18:58:36.352602Z”,
“build_snapshot” : false,
“lucene_version” : “7.5.0”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
}

LogStash安装

一、下载Logstash源码

https://www.elastic.co/downloads/logstash

二、安装

1、将下载的二进制包移动到/usr/local目录下,解压缩文件包
tar zxvf logstash-6.4.2.tar.gz

三、logstash配置
1、进入解压的logstash目录/usr/local/logstash-6.4.2/config,基于模板新建配置文件mongod-logstash.conf
cp logstash-sample.conf mongod-logstash.conf

2、input配置(一个服务器节点多个不同日志文件输出到多个不同的索引中)
input {
file {
path => “/data/log_mongos/mongos.log”
type => “26_mongoslog”
}
file {
path => “/data/log/configsvr.log”
type => “configsvr_26_mongodlog”
}
file {
path => “/data/rs1/log/mongodb.log”
type => “rs1_26_mongodlog”
}
beats {
port => 5044
}
}

3、filter配置
filter {
grok {
match => [“message”,"%{TIMESTAMP_ISO8601:timestamp}\s+%{MONGO3_SEVERITY:severity}\s+%{MONGO3_COMPONENT:component}\s+(?:[%{DATA:context}])?\s+%{GREEDYDATA:body}"]
}
if [body] =~ “ms$” {
grok {
match => [“body”,"%{WORD:command_action}\s+%{WORD:db_name}.$?%{WORD:collection_name}\s+%{GREEDYDATA:command_content}\s+%{NUMBER:spend_time:int}ms"]
}
}
date {
match => [ “timestamp”, “UNIX”, “YYYY-MM-dd HH:mm:ss”, “ISO8601”]
remove_field => [ “timestamp” ]
}
}

4、output配置
output {
if [type] == “26_mongoslog” {
elasticsearch {
user => logstash
password => logstash
hosts => [“https://es1:9200”,“https://es2:9200”]
ssl => true
ssl_certificate_verification => true
cacert => “/usr/local/logstash-6.4.2/config/root-ca.pem”
index => “logstash-26_mongoslog”
}
}
if [type] == “configsvr_26_mongodlog” {
elasticsearch {
user => logstash
password => logstash
hosts => [“https://es1:9200”,“https://es2:9200”]
ssl => true
ssl_certificate_verification => true
cacert => “/usr/local/logstash-6.4.2/config/root-ca.pem”
index => “logstash-configsvr_26_mongodlog”
}
}
if [type] == “rs1_26_mongodlog” {
elasticsearch {
user => logstash
password => logstash
hosts => [“https://es1:9200”,“https://es2:9200”]
ssl => true
ssl_certificate_verification => true
cacert => “/usr/local/logstash-6.4.2/config/root-ca.pem”
index => “logstash-rs1_26_mongodlog”
}
}
}

三、启动

为了可以自动检测配置文件的变动和自动重新加载配置文件,需要在启动的时候使用以下命令:

./bin/logstash -f config/mongod-logstash.conf --config.reload.automatic

默认检测配置文件的间隔时间是3秒,可以通过以下命令改变

--config.reload.interval <second>

如果已经运行了没有提供自动重启的logstash,可以发送一个挂起命令给logstash重新加载配置文件:

kill -1 <pid>

Kibana安装

一、下载Kibana源码

https://www.elastic.co/cn/downloads/kibana

二、安装

1、将下载的二进制包移动到/usr/local目录下,解压缩文件包
tar zxvf kibana-6.5.0-linux-x86_64.tar.gz

三、Kibana配置

1、进入解压的logstash目录/usr/local/kibana-6.5.0-linux-x86_64/config,修改配置文件kibana.yml
#设置server.host
server.host: “10.62.124.25”

#设置elasticsearch.url
elasticsearch.url: “http://10.62.124.25:9200”

2、系统防火墙开放5601端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload

四、启动Kibana

cd /usr/local/kibana-6.5.0-linux-x86_64/bin
nohup ./kibana & //后台启动

至此,可视化日志查询分析系统平台ELK搭建完成!
#停止kibana

netstat -anltp|grep 5601
kill -9 进程号

附kibana启动后的一些警告信息记录以及解决方法

1、发现的第一个警告信息

server log [06:55:25.594] [warning][reporting] Generating a random key for xpack.reporting.encryptionKey.
                   To prevent pending reports from failing on restart, please set xpack.reporting.encryptionKey in kibana.yml
根据提示,在配置文件kibana.yml中添加【xpack.reporting.encryptionKey】属性:

xpack.reporting.encryptionKey: “a_random_string”
官方文档:https://www.elastic.co/guide/en/kibana/current/reporting-settings-kb.html

2、发现的第二个警告信息
server log [06:55:25.686] [warning][security] Generating a random key for xpack.security.encryptionKey.
                    To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml
根据提示,在配置文件kibana.yml中添加【xpack.security.encryptionKey】属性:

xpack.security.encryptionKey: “something_at_least_32_characters”
官方文档:https://www.elastic.co/guide/en/kibana/6.x/using-kibana-with-security.html

搭建可视化日志分析平台ELK相关推荐

  1. 使用elk+redis搭建nginx日志分析平台(引)

    http://www.cnblogs.com/yjf512/p/4199105.html elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎 ...

  2. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台 发表于 2015-08-19   |   分类于 Linux/Unix   |   ELK简介 ELKStack即Elasticsearch + Logs ...

  3. 使用ELK搭建统一日志分析平台

    使用ELK(Logstash+ElasticSearch+Kibana)搭建统一日志分析平台 一.背景分析 为了应付我们日益复杂的业务需求,系统设计趋近模块化,每个模块各司其职由不同人员开发,打印的日 ...

  4. 视频教程-【2019精品课】构建ELK海量日志分析平台-ELK

    [2019精品课]构建ELK海量日志分析平台 10年一线开发及项目管理经验,6年以上大数据项目架构.实施.开发与运维经验,骨灰级大数据玩家,对Hadoop.Storm.Spark.Flink.Kyli ...

  5. 日志分析平台-ELK

    日志分析平台-ELK 此次主要是搭建带有redis缓存层的ELK日志分析平台 环境: node1:172.16.1.152 node2:  172.16.1.153 一:配置基础环境 所有节点关闭se ...

  6. 日志分析平台ELK部署初学

    1)ELK介绍 ELK官方网站:https://www.elastic.co/products elk-docker 官网:http://elk-docker.readthedocs.org/#ins ...

  7. 开源实时日志分析平台—ELK

    ELK简介 什么是日志 日志就是程序产生的,遵循一定格式(通常包含时间戳)的文本数据. 通常日志由服务器生成,输出到不同的文件中,一般会有系统日志. 应用日志.安全日志.这些日志分散地存储在不同的机器 ...

  8. ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...

  9. ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台

    来源:http://www.cnblogs.com/zclzhao/p/5749736.html 一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasti ...

最新文章

  1. Linux之用户相关操作
  2. angular ngClick 阻止冒泡和默认行为
  3. Java 并发编程——Executor框架和线程池原理
  4. Hive几种数据导入方式
  5. CSS cursor 属性
  6. 关于标准库中的ptr_fun/binary_function/bind1st/bind2nd
  7. java 百度网盘上传_使用pcs api往免费的百度网盘上传下载文件的方法
  8. linux加入微软,微软正式加入Linux基金会
  9. git 改了一段代码不想要了_想要壁纸不收费吗?简简单单用python代码实现
  10. 开课吧:Webpack的构建流程是什么?
  11. 台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2)
  12. Webshell和一句话木马
  13. 关于此应用无法在你的电脑上运行的解决方案
  14. 30分钟看懂经济机器是如何运行的?
  15. Mybatis Plus快速入门
  16. css从中间向两边动画,css动画效果:鼠标移上去底部线条从中间往两边延伸 - 子成君-分享出去,快乐加倍!-旧版已停更...
  17. Python高级全栈开发实战 老男孩课程S16+路飞学城项目+女神串讲 Python全栈直通车课程
  18. 微信自定义分享网页标题及内容
  19. java中linux下反斜杠,Linux下反斜杠号\引发的思考
  20. 【知识兔】Excel教程小技巧之常用快捷键汇总

热门文章

  1. Python轮子打包whl文件
  2. 流利阅读 2019.1.27 The death of Venice? City’s battles with tourism and flooding reach crisis level
  3. JAVA毕业设计酒店信息管理计算机源码+lw文档+系统+调试部署+数据库
  4. [Graphics] 法线图生成器(Normal map generator)
  5. java-php-python-ssm美容院管理系统计算机毕业设计
  6. opencv制作微信小游戏 最强连一连 辅助(1)--概述
  7. Matlab论文插图绘制模板第28期—折线图进阶
  8. 云计算的SaaS、PaaS和IaaS三种服务模式之间,主要是什么关系?
  9. Python+Vue计算机毕业设计古诗词鉴赏与交流平台04ps3(源码+程序+LW+部署)
  10. 制作超高容量视频光盘KVCDKDVD光盘制作全攻略1