热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于elk:elk7151安装部署搭建

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称(然而前期呈现的Filebeat(beats中的一种)能够用来代替Logstash的数据收集性能,比拟轻量级)。市面上也被成为ElasticStack。

ELK简介

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称(然而前期呈现的Filebeat(beats中的一种)能够用来代替Logstash的数据收集性能,比拟轻量级)。市面上也被成为Elastic Stack。

Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监督您指定的日志文件或地位,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。Filebeat的工作形式如下:启动Filebeat时,它将启动一个或多个输出,这些输出将在为日志数据指定的地位中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将汇集事件,并将汇集的数据发送到为Filebeat配置的输入。

Logstash是收费且凋谢的服务器端数据处理管道,可能从多个起源采集数据,转换数据,而后将数据发送到您最喜爱的“存储库”中。Logstash可能动静地采集、转换和传输数据,不受格局或复杂度的影响。利用Grok从非结构化数据中派生出构造,从IP地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。

Elasticsearch是Elastic Stack外围的分布式搜寻和剖析引擎,是一个基于Lucene、分布式、通过Restful形式进行交互的近实时搜寻平台框架。Elasticsearch为所有类型的数据提供近乎实时的搜寻和剖析。无论您是结构化文本还是非结构化文本,数字数据或天文空间数据,Elasticsearch都能以反对疾速搜寻的形式无效地对其进行存储和索引。

Kibana是一个针对Elasticsearch的开源剖析及可视化平台,用来搜寻、查看交互存储在Elasticsearch索引中的数据。应用Kibana,能够通过各种图表进行高级数据分析及展现。并且能够为Logstash和ElasticSearch提供的日志剖析敌对的 Web 界面,能够汇总、剖析和搜寻重要数据日志。还能够让海量数据更容易了解。它操作简略,基于浏览器的用户界面能够疾速创立仪表板(Dashboard)实时显示Elasticsearch查问动静

残缺日志零碎基本特征

收集:可能采集多种起源的日志数据

传输:可能稳固的把日志数据解析过滤并传输到存储系统

存储:存储日志数据

剖析:反对UI剖析

正告:可能提供错误报告,监控机制

装置jdk17环境

root@elk:~# mkdir jdk
root@elk:~# cd jdk
root@elk:~/jdk# wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
root@elk:~/jdk# tar xf jdk-17_linux-x64_bin.tar.gz
root@elk:~/jdk# cd ..
root@elk:~#
root@elk:~# mv jdk/ /
root@elk:~# vim /etc/profile
root@elk:~#
root@elk:~#
root@elk:~# tail -n 4 /etc/profile

export JAVA_HOME=/jdk/jdk-17.0.1/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
root@elk:~#
root@elk:~# source /etc/profile
root@elk:~# chmod -R 777  /jdk/

创立elk文件夹,并下载所需包

root@elk:~# mkdir elk
root@elk:~# cd elk
root@elk:~/elk# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1-linux-x86_64.tar.gz
root@elk:~/elk# wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.1-linux-x86_64.tar.gz
root@elk:~/elk# wget https://artifacts.elastic.co/downloads/logstash/logstash-7.15.1-linux-x86_64.tar.gz

解压安装包

root@elk:~/elk# tar xf elasticsearch-7.15.1-linux-x86_64.tar.gz
root@elk:~/elk# tar xf kibana-7.15.1-linux-x86_64.tar.gz
root@elk:~/elk# tar xf logstash-7.15.1-linux-x86_64.tar.gz
root@elk:~/elk# ll
total 970288
drwxr-xr-x  5 root root      4096 Oct 20 06:09 ./
drwx------  7 root root      4096 Oct 20 06:04 ../
drwxr-xr-x  9 root root      4096 Oct  7 22:00 elasticsearch-7.15.1/
-rw-r--r--  1 root root 340849929 Oct 14 13:28 elasticsearch-7.15.1-linux-x86_64.tar.gz
drwxr-xr-x 10 root root      4096 Oct 20 06:09 kibana-7.15.1-linux-x86_64/
-rw-r--r--  1 root root 283752241 Oct 14 13:34 kibana-7.15.1-linux-x86_64.tar.gz
drwxr-xr-x 13 root root      4096 Oct 20 06:09 logstash-7.15.1/
-rw-r--r--  1 root root 368944379 Oct 14 13:38 logstash-7.15.1-linux-x86_64.tar.gz

创立用户并设置权限

root@elk:~/elk# cd
root@elk:~# useradd elk
root@elk:~# mkdir /home/elk
root@elk:~# cp -r elk/ /home/elk/
root@elk:~# chown -R elk:elk /home/elk/

批改零碎配置文件

root@elk:~# vim /etc/security/limits.conf
root@elk:~#
root@elk:~#
root@elk:~# tail -n 3 /etc/security/limits.conf
*       soft    nofile          65536
*       hard    nofile          65536
root@elk:~#

root@elk:~# vim /etc/sysctl.conf
root@elk:~#
root@elk:~# tail -n 2 /etc/sysctl.conf

vm.max_map_count=262144
root@elk:~#
root@elk:~# sysctl -p
vm.max_map_count = 262144
root@elk:~#

批改elk配置文件

root@elk:~# su - elk
$ bash
elk@elk:~$ cd /elk/elasticsearch-7.15.1/config
elk@elk:~/elk/elasticsearch-7.15.1/config$ vim elasticsearch.yml
elk@elk:~/elk/elasticsearch-7.15.1/config$
elk@elk:~/elk/elasticsearch-7.15.1/config$ tail -n 20 elasticsearch.yml

#设置data寄存的门路为/data/es-data
path.data: /home/elk/data/
#设置logs日志的门路为/log/es-log
path.logs: /home/elk/data/
#设置内存不应用替换分区
bootstrap.memory_lock: false
#配置了bootstrap.memory_lock为true时反而会引发9200不会被监听,起因不明
#设置容许所有ip能够连贯该elasticsearch
network.host: 0.0.0.0
#开启监听的端口为9200
http.port: 9500
#减少新的参数,为了让elasticsearch-head插件能够拜访es (5.x版本,如果没有能够本人手动加)
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["elk"]
node.name: elk

root@elk:~/elk/elasticsearch-7.15.1/config#

应用elk用户去启动elasticsearch

root@elk:~# su - elk
$ bash
elk@elk:~$
elk@elk:~$ mkdir data
elk@elk:~/elk/elasticsearch-7.15.1/bin$ cd
elk@elk:~$ cd /home/elk/elk/elasticsearch-7.15.1/bin
elk@elk:~/elk/elasticsearch-7.15.1/bin$ ./elasticsearch

启动之后拜访测试:

root@elk:~# curl -I http://192.168.1.19:9500/
HTTP/1.1 200 OK
X-elastic-product: Elasticsearch
Warning: 299 Elasticsearch-7.15.1-83c34f456ae29d60e94d886e455e6a3409bba9ed "Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security."
content-type: application/json; charset=UTF-8
content-length: 532

root@elk:~#

放到后盾运行

elk@elk:~/elk/elasticsearch-7.15.1/bin$ nohup /home/elk/elk/elasticsearch-7.15.1/bin/elasticsearch >> /home/elk/elk/elasticsearch-7.15.1/output.log 2>&1 &
[1] 8811
elk@elk:~/elk/elasticsearch-7.15.1/bin$
elk@elk:~$ cd elk/kibana-7.15.1-linux-x86_64/config/
elk@elk:~/elk/kibana-7.15.1-linux-x86_64/config$ vim kibana.yml
elk@elk:~/elk/kibana-7.15.1-linux-x86_64/config$ tail -n 18 kibana.yml
#设置监听端口为5601
server.port: 5601
#设置可拜访的主机地址
server.host: "0.0.0.0"
#设置elasticsearch主机地址
elasticsearch.hosts: ["http://localhost:9500"]
#如果elasticsearch设置了用户名明码,那么须要配置该两项,如果没配置,那就不必管
#elasticsearch.username: "user"
#elasticsearch.password: "pass"
elk@elk:~/elk/kibana-7.15.1-linux-x86_64/config$

elk@elk:~$ cd /home/elk/elk/kibana-7.15.1-linux-x86_64/bin

elk@elk:~/elk/kibana-7.15.1-linux-x86_64/bin$ ./kibana

测试拜访

root@elk:~# curl -I http://192.168.1.19:5601/app/home#/tutorial_directory
HTTP/1.1 200 OK
content-security-policy: script-src 'unsafe-eval' 'self'; worker-src blob: 'self'; style-src 'unsafe-inline' 'self'
x-content-type-options: nosniff
referrer-policy: no-referrer-when-downgrade
kbn-name: elk
kbn-license-sig: aaa69ea6a0792153cde61e88d0cd9bbad7ddcdaec87b613f281dd275e9dbad47
content-type: text/html; charset=utf-8
cache-control: private, no-cache, no-store, must-revalidate
content-length: 144351
vary: accept-encoding
Date: Wed, 20 Oct 2021 07:11:10 GMT
Connection: keep-alive
Keep-Alive: timeout=120
root@elk:~#

放到后盾运行

elk@elk:~/elk/kibana-7.15.1-linux-x86_64/bin$ nohup /home/elk/elk/kibana-7.15.1-linux-x86_64/bin/kibana >> /home/elk/elk/kibana-7.15.1-linux-x86_64/output.log 2>&1 &
[2] 9378
elk@elk:~/elk/kibana-7.15.1-linux-x86_64/bin$

将日志信息输入到屏幕上

elk@elk:~$ cd elk/logstash-7.15.1/bin/
elk@elk:~/elk/logstash-7.15.1/bin$ ./logstash -e 'input {stdin{}} output{stdout{}}'

输出个123而后回车,会把后果输入到屏幕上

{
          "host" => "elk",
    "@timestamp" => 2021-10-20T07:15:54.230Z,
      "@version" => "1",
       "message" => ""
}
123
{
          "host" => "elk",
    "@timestamp" => 2021-10-20T07:15:56.453Z,
      "@version" => "1",
       "message" => "123"
}

elk@elk:~/elk/logstash-7.15.1/bin$ cd ../config/
elk@elk:~/elk/logstash-7.15.1/config$ vim logstash
elk@elk:~/elk/logstash-7.15.1/config$ cat logstash
input {
    # 从文件读取日志信息
      file {
          path => "/var/log/messages"
          type => "system"
          start_position => "beginning"
           }
}

filter {
}

output {
      # 规范输入
      stdout {}
}
elk@elk:~/elk/logstash-7.15.1/config$ mv logstash logstash.conf
elk@elk:~/elk/logstash-7.15.1/config$

启动测试

elk@elk:~/elk/logstash-7.15.1/config$ cd ../bin/
elk@elk:~/elk/logstash-7.15.1/bin$ ./logstash -f ../config/logstash.conf

后盾启动

elk@elk:~$ nohup /home/elk/elk/logstash-7.15.1/bin/logstash -f /home/elk/elk/logstash-7.15.1/config/logstash.conf >> /home/elk/elk/logstash-7.15.1/output.log 2>&1 &
[3] 10177
elk@elk:~$

设置开机自启

elk@elk:~$ vim startup.sh
elk@elk:~$
elk@elk:~$ cat startup.sh
#!/bin/bash
nohup /home/elk/elk/elasticsearch-7.15.1/bin/elasticsearch >> /home/elk/elk/elasticsearch-7.15.1/output.log 2>&1 &
nohup /home/elk/elk/kibana-7.15.1-linux-x86_64/bin/kibana >> /home/elk/elk/kibana-7.15.1-linux-x86_64/output.log 2>&1 &
nohup /home/elk/elk/logstash-7.15.1/bin/logstash -f /home/elk/elk/logstash-7.15.1/config/logstash.conf >> /home/elk/elk/logstash-7.15.1/output.log 2>&1 &

elk@elk:~$
elk@elk:~$ crontab -e
no crontab for elk - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 2
crontab: installing new crontab
elk@elk:~$
elk@elk:~$
elk@elk:~$ crontab -l

@reboot /home/elk/startup.sh

elk@elk:~$

logstash插件

logstash是通过插件对其性能进行增强

插件分类:

inputs 输出

codecs 解码

filters 过滤

outputs 输入

在Gemfile文件里记录了logstash的插件

elk@elk:~$ cd elk/logstash-7.15.1
elk@elk:~/elk/logstash-7.15.1$ ls Gemfile
Gemfile
elk@elk:~/elk/logstash-7.15.1$

去其github上下载插件,地址为:https://github.com/logstash-p&#8230;

应用filter插件logstash-filter-mutate

elk@elk:~/elk/logstash-7.15.1/config$  vim logstash2.conf
#创立一个新的配置文件用来过滤
input {
    stdin {
    }
}
filter {
   mutate {
        split => ["message", "|"]
    }
}
output {
    stdout {
    }
}

当输出sss|sssni|akok223|23即会依照|分隔符进行分隔

其数据处理流程:input–>解码–>filter–>解码–>output

启动服务

而后去启动logstash服务

elk@elk:~$ nohup /home/elk/elk/logstash-7.15.1/bin/logstash -f /home/elk/elk/logstash-7.15.1/config/logstash2.conf >> /home/elk/elk/logstash-7.15.1/output.log 2>&1 &

Linux运维交换社区

Linux运维交换社区,互联网新闻以及技术交换。

41篇原创内容

公众号

本文应用 文章同步助手 同步


推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路
    本文介绍了FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路。当图表系列较多时,用户希望可以自己设置哪些系列显示,哪些系列不显示。通过调用FR.Chart.WebUtils.getChart("chartID").getChartWithIndex(chartIndex).setSeriesVisible()接口,可以获取需要显示的系列图表对象,并在表单中显示这些系列。本文以决策报表为例,详细介绍了实现方法,并给出了示例。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 于2012年3月份开始接触OpenStack项目,刚开始之处主要是与同事合作共同部署公司内部的云平台,使得公司内部服务器能更好的得到资源利用。在部署的过程中遇到各种从未遇到过的问题 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
author-avatar
小灿灿90_794
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有