ELK安装部署

ELK安装部署

ELK是elastic公司提供的一套完整的收集日志并分析展示的产品,分别表示Elasticsearch、Logstash和kibana。

Elasticsearch简称ES,是一个建立在全文搜索引擎Apache Lucene基础上的实时的分布式搜索及分析引擎。

Logstash是一个具有实时传输能力的数据收集引擎,由三个组件构成,其中input组件负责收集数据,常用的数据源包括文件类型、数据库类型;filter组件是用来用来过滤数据;output组件是Logstash的输出组件,可以输出到指定的文件,指导的网络端口或者输出到ES。

Kibana为Elasticsearch提供了一个分析和可视化的web平台,通过Kibana可以对Elasticsearch的索 据进行查询,聚合,删除等各种操作。

使用ELK的目的

受理项目为了提高统计功能的效率,采用Logstash将数据库中的业务数据导入到ES中,通过ES提供的方法以及java Api来完成统计,借助ES搜索引擎的特性来提高统计的效率。

安装包版本要求

ELK版本 7.8,JDK要求1.8以上(Linux系统为例):

目前所用版本:elasticsearch-7.8.0 、logstash-7.8.0.tar、jdk-8u151-linux-x64

Elasticsearch安装配置启动

安装jdk

自行搜索安装以及配置环境变量方法,本文不做阐述。

安装ES
  1. 将ES安装包解压到user/local/elk/elastic-search(自定义);
  2. 修改ES配置文件:/config/elasticsearch.yml
cluster.name: web-application
node.name: node-1
# 启动输入密码访问
xpack.security.transport.ssl.enabled: true
xpack.security.enabled: true
# 设置外网可以访问
network.host: 0.0.0.0
# 启动输入密码访问
xpack.security.transport.ssl.enabled: true
xpack.security.enabled: true
# 设置外网可以访问
network.host: 0.0.0.0
  1. 启动elasticsearch

    ES的启动需要切换非root权限的用户,请配置人员自己创建用户来启动ES若启动失败,自行根据错误信息搜索解决方案

    后台启动执行命令:

nohup ./bin/elasticsearch & 或者 ./bin/elasticsearch -d

  1. 验证启动成功

    浏览器访问http://localhost:9200 (localhost为服务器地址)

Logstash安装配置启动

将Logstash安装包解压到user/local/elk/logstash (自定义)
配置文件见第二大节详解
启动Logstash(若启动失败,自行根据异常信息搜索解决方案)

后台启动执行命令:

nohup ./bin/logstash -f config/jdbc_oracle.conf &

Logstash配置文件详解

本文章通过Logstash将数据库中的业务数据导入到elasticsearch中,所以Logstash数据来源为数据库,输出为我们安装好的ES。

SQL文件配置

将需要的SQL文件放在自定义路径下(/home/A1/logstash-7.8.0/config),可配置多个SQL作为输出。

Oracle依赖包配置

Oracle依赖包ojdbc6.jar放在lib文件夹中,绝对路径要写到下面的启动文件中。

配置启动文件

ogstash启动时候需要指定配置文件,在config文件夹下面新建配置文件elasticsearch_sync.conf

配置文件内容如下:

# 输入
input {
jdbc {
jdbc_driver_library => "/home/mysql-connector-java-5.1.10.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
jdbc_user => "root"
jdbc_password => "123456"
# 设置监听间隔 各字段含义(从左至右)分、时、天、月、年,全为*默认含义为每分钟都更新
schedule => "* * * * *"
# 查询sql,可以通过更新字段来区分那些是需要更新的
statement_filepath => "/home/logstash-7.8.0/config/complete.sql"
# 记录最后的运行时间,注意目录需要创建好
last_run_metadata_path => "/home/logstash-7.8.0/config/ logstash_jdbc_last_run_person"
use_column_value => false
tracking_column => "update_time"
# 分页处理数据
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
# 类型,对象后面输出的类型
type => "complete_corporate"
}
}
# 过滤
filter {
# 用ruby解决相差8小时的时区问题, update_time必须要通过statement_filepath配置的sql可以查询出来
ruby {
code => "event.set('update_time', event.get('update_time').time.localtime + 8*60*60)"
}
}
# 输出
output {
if[type] == "complete_corporate"{
elasticsearch {
hosts => "localhost:9200"
user => elastic
password => elastic
# 索引名
index => "complete_corporate_index"
# 文档名
document_type => "complete_corporate"
# 文档ID(主键)
document_id => "%{body_card_no}"
}
}
# 将数据输出到控制台
stdout {
codec => json_lines
}
}

启动Logstash

执行命令后台启动:

nohup  ./bin/logstash -f config/elasticsearch_sync.conf &

验证

在浏览器输入http://localhost:9200/_cat/indices?v

,查看ES是否有刚才导入的索引。

Elasticsearch+logstash安装部署的更多相关文章

  1. elasticsearch+logstash+kibana部署

    这篇博客讲的是elasticsearch+logstash+kibana部署的方法. 内容大纲: 1.elasticsearch+logstash+kibana部署 2.收集Tomcat日志 3.收集 ...

  2. ELK (Elasticsearch+Logstash+Kibana)部署

    部署机器: 服务端:dev-server    X.X.X.X      ( logstash-1.5.4,elasticsearch-1.7.1,kibana-4.1.1 ) 客户端:dev-cli ...

  3. ElasticSearch+Kibana安装部署

    在安装ElasticSearch时遇到了很多坑,所以在这里做个笔记记录一下. 首先我考虑的是使用docker进行部署,结果发现虚拟机直接内存溢出,我也是无解了,也就是说使用docker部署还得注意容器 ...

  4. ELK 安装部署小计

    ELK的安装部署已经是第N次了! 其实也很简单,这里记下来,以免忘记. #elasticsearch安装部署 wget https://artifacts.elastic.co/downloads/e ...

  5. ELK文档-安装部署

    一.ELK简介 请参考:http://www.cnblogs.com/aresxin/p/8035137.html 二.ElasticSearch安装部署 请参考:http://blog.51cto. ...

  6. Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)

    Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...

  7. ELK( ElasticSearch+ Logstash+ Kibana)分布式日志系统部署文档

    开始在公司实施的小应用,慢慢完善之~~~~~~~~文档制作 了好作运维同事之间的前期普及.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 软件下载地址: https://www.e ...

  8. elasticsearch+kibana+metricbeat安装部署方法

    elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...

  9. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  10. ELKF安装使用教程。elasticsearch+logstash+kibana+filebeta。

    近期因工作需要学习了ELKF的安装和使用.网络上的中文我看大部分也比较老版本了,我想写一下,希望能给他人带来一点帮助.小弟不才,有错位之处,还请大家原谅指点. ELKF就是:elasticsearch ...

随机推荐

  1. 【SpringCloud】SpringCloud Alibaba Seata处理分布式事务

    SpringCloud Alibaba Seata处理分布式事务 分布式事务问题 分布式前 单机库存没这个问题 O(∩_∩)O 从1:1->1:N->N:N 分布式之后 单体应用被拆分成微 ...

  2. git库移植

    记一次个人项目移植到组织项目的git应用,留爪. 1. 首先保证你本地有一份完整的库 2. 在 gitee 组织里新建一份裸库 3. 本地库移除所有远程库 git remote //查看所有远程库 g ...

  3. Pycharm两种快速激活方式(附最新激活码和插件)

    小张的Pycharm最近弹出提示框 Your license has expired提示过期....纳尼!!!! 是不是看到这个也很头疼,.于是我就在想有没有一种方式可以让他永久免费的,于是小张从网上 ...

  4. Linux内存管理神器:smem工具

    大家好,我是良许. 今天给大家分享一款 Linux 系统里的内存管理神器:smem . smem 是Linux系统上的一款可以生成多种内存耗用报告的命令行工具.与现有工具不一样的是 smem 可以报告 ...

  5. 将Particle转成UGUI

    在unity官方论坛看到的一个解决方案,可以将Particle直接转换成CanvasRenderer元素显示.新建一个UIParticleSystem.cs脚本,将以下代码复制进去: using Un ...

  6. ESP32+Arduino入门(三):连接WIFI获取当前时间

    ESP32内置了WIFI模块连接WIFI非常简单方便. 代码如下: #include <WiFi.h> const char* ssid = "WIFI名称"; con ...

  7. 前端ai工具v0使用配置

    资料 ai工具Vo Installation - Tailwind CSS 以vue3 + sass为例,配置如下 安装tailwindcss npm install -D tailwindcss n ...

  8. 适合Java程序员的Go入门笔记

    0.背景 3年java开发背景(因此这篇文章的特点是:比较适合java程序员doge),业余时间有了解过一些go,如今加入字节团队主要技术栈是go,此篇主要结合go语言圣经和团队内go项目,总结一些基 ...

  9. AI提示词:通用 vscode linux c++ 项目CMakeLists和bulid模板

    AI提示词 写vscode linux c++20 的CMakeLists.txt文件.build.rebuild文件 这是多项目结构,目录结构如下: projs: │ build.sh 顶层buil ...

  10. 《基于改进Wallace树的Posit乘法单元优化》(一)

    原文 文章通过增加特定的计数器.重新设计部分积求和阶段计数器布局 以及改进最终求和阶段使用的加法器,提出一种名为3L-Wallace树的改进Wallace树算法,有效减少了部分积求和的阶段数, 从而降 ...