elk搭建

news2024/11/16 13:41:00

1、前言

ELK 是一个开源的日志管理解决方案,主要是为了统一收集生产的日志,方便日志的查询,传统的日志都是保存在每个机器上,当要查询的时候,需要到每一台机器上去查询日志,非常麻烦,而elk则使用了三个开源软件 Elasticsearch、Logstash 和 Kibana 去统一收集所有机器产生的日志,然后存储起来,再通过页面去展示查询,大大提高了查询日志的效率,而且ELK还可以用于监控系统的性能和健康状况,以及分析用户行为和趋势

Elasticsearch:是一个分布式实时搜索和分析引擎,可以用于存储、搜索和分析各种类型的数据,包括结构化、半结构化和非结构化数据。Elasticsearch 提供了强大的搜索和聚合功能,可以帮助用户快速地查找和分析数据

Logstash:是一个开源的数据收集引擎,可以用于收集、处理和转换各种类型的数据,包括日志、指标、事件等。Logstash 支持多种输入和输出插件,可以将数据从各种来源收集,并将其发送到各种目标

 Kibana:是一个开源的数据可视化工具,可以用于可视化和分析 Elasticsearch 中的数据。Kibana 提供了强大的数据可视化和分析功能,可以帮助用户快速地理解和分析数据

总的来说,ELK 是一个强大的日志管理解决方案,可以帮助用户快速地收集、存储、搜索和分析各种类型的数据,从而提高系统的可靠性和可维护性

2、主机信息

主机名称IPserviceport
A10.1.60.114elasticsearch、logstash9200、5044
B10.1.60.115kibana5601

2、elk搭建

上面已经说过了elk是由Elasticsearch、Logstash 、Kibana组成,现在来分别部署一下

2.1Elasticsearch部署

需要先部署基础环境,需要用到java环境,7版本以上的es需要用jdk 11版本以上的环境

参考:jdk1.8环境配置_Apex Predator的博客-CSDN博客

优化主机,必须要优化,不优化的话elasticsearch不能被外部访问,只能被自身访问

内核优化

vi /etc/security/limits.conf

* soft nofile 65537  #用于设置进程能够打开的文件数的软限制,即当前限制。如果进程试图打开超过这个限制的文件数,系统会向其发送警告信息,但仍然允许打开文件
* soft nproc 65537   #用于设置进程数的软限制,即当前限制。如果进程试图创建超过这个限制的子进程,系统会向其发送警告信息,但仍然允许创建子进程
* hard nofile 65537  #用于设置进程能够打开的文件数的硬限制,即最大限制。如果进程试图打开超过这个限制的文件数,系统会拒绝打开文件
* hard nproc 65537   #用于设置进程数的硬限制,即最大限制。如果进程试图创建超过这个限制的子进程,系统会拒绝创建子进程

 vi /etc/security/limits.d/20-nproc.conf

*          soft    nproc     4096  #变更soft  nproc项值为4096

 vi /etc/sysctl.conf 

vm.max_map_count = 262144    #用于设置每个进程能够拥有的最大内存映射区域数量,这个参数通常用于支持 Elasticsearch、Logstash 等应用程序,如果这些应用程序需要使用大量内存映射区域,就需要增加这个参数的值
net.core.somaxconn = 65535    #于设置系统中每个监听套接字的最大连接数。这个参数通常用于支持高并发的网络应用程序,例如 Web 服务器。增加这个参数的值可以提高系统的并发性能
net.ipv4.ip_forward = 1   #用于启用 IP 转发功能,允许系统作为路由器转发数据包。这个参数通常用于构建复杂的网络拓扑,例如 VPN 网络

执行以下命令使配置生效

sysctl -p

 在官网下载elasticsearch的安装包,本次搭建选择了7.17.10版本 

下载连接:Past Releases of Elastic Stack Software | Elastic

新建目录,将安装包上传到主机中并解压更改名称

mkdir /opt/elasticsearch

cd /opt/elasticsearch

tar -zxvf elasticsearch-7.17.10-linux-x86_64.tar.gz

mv elasticsearch-7.17.10-linux-x86_64 elasticsearch

ls /opt/elasticsearch

编辑elasticsearch配置文件

vi /opt/elasticsearch/elasticsearch/config/elasticsearch.yml

node.name: es01   #编辑es名称
path.data: /opt/elasticsearch/elasticsearch/data   #es数据存放路径
path.logs: /opt/elasticsearch/elasticsearch     #es日志存放路径
bootstrap.memory_lock: true          #内存锁配置
network.host: 0.0.0.0        #es地址,如果配置为127.0.0.1就只能本机访问
http.port: 9200              #es服务端口
discovery.seed_hosts: ["127.0.0.1", "[::1]"]    #es集群地址,因为是单节点配置本机就行
cluster.initial_master_nodes: ["es01"]     #es名称,因为是单节点配置本机es名称就行

以上的配置文件中,若是将host地址配置为127.0.0.1,就只能本机访问,配置文件不用加 discovery.seed_hosts和cluster.initial_master_nodes,也不用做主机优化es服务也能正常启动

创建elasticsearch服务的用户,elasticsearch服务不能使用root启动,不然会报错

groupadd elasticsearch

useradd elasticsearch -g elasticsearch -p elasticsearch   #-g指定用户组  -p指定密码

chown -R elasticsearch.elasticsearch /opt/elasticsearch/elasticsearch  

切换用户启动es服务

su elasticsearch

/opt/elasticsearch/elasticsearch/bin/elasticsearch -d   #-d为后台启动es服务

访问es服务看是否正常

curl 10.1.60.114:9200

 输出此内容表示es服务正常启动

 

2.2Logstash部署

安装logstash服务也需要java环境,因为和es在同一台机器上,就不需要再部署java环境了

在官网下载Logstash的安装包,本次搭建选择了7.17.10版本

Past Releases of Elastic Stack Software | Elastic

新建目录,将安装包上传到主机中并解压更改名称

mkdir /opt/logstash

cd /opt/logstatsh

tar -zxvf logstash-7.17.10-linux-x86_64.tar.gz

mv logstash-7.17.10-linux-x86_64 logstatsh

ls /opt/logstash

编辑logstash配置文件

vi /opt/logstash/logstash/config/logstash.conf 

input {             #日志收集
  beats {           #通过filebeat去收集日志
    port => 5044     #logstash的监听端口
    codec => "json"   #设置日志根式为json
  }
}

output {           #将收集的日志推送到es存储
  elasticsearch {            #配置es参数
    hosts => ["http://10.1.60.114:9200"]    #es服务的地址和端口
    index => "tmk-log"                      #指定es的索引名称
  }
}

 启动logstash服务

nohup /opt/logstash/logstash/bin/logstash -f /opt/logstash/logstash/config/logstash.conf > /opt/logstash/logstash/logstash.log &

查看服务是否启动

ps -ef |grep logstash

netstat -tlpn |grep 5044

一般情况下logstash与filebeat搭配使用,filebeat作为轻量级的日志收集服务,部署在每个主机上,而logstash是比较重的日志收集服务,作日志的统一归集,在发送到es上存储

2.3kibana部署

安装kibana也需要部署java环境,7版本以上的也是使用jdk 11版本以上

 参考:jdk1.8环境配置_Apex Predator的博客-CSDN博客

在官网下载kibana的安装包,本次搭建选择了7.17.10版本

Past Releases of Elastic Stack Software | Elastic

新建目录,将安装包上传到主机中并解压更改名称

mkdir /opt/kibana

cd /opt/kibana

tar -zxvf kibana-7.17.10-linux-x86_64.tar.gz

mv kibana-7.17.10-linux-x86_64 kibana

ls /opt/kibana

 编辑kibana配置文件

vi /opt/kibana/kibana/config/kibana.yml

server.port: 5601   #配置监听端口
server.host: "0.0.0.0"   #配置访问地址
server.name: "kibana"   #kibana名称
elasticsearch.hosts: ["http://127.0.0.1:9200"]    #配置es服务的地址
i18n.locale: "zh-CN"     #更改界面为中文模式

kibana也不能使用root用户启动,所以需要创建启动kibana服务用户

groupadd kibana

useradd kibana -g kibana -p kibana

授予权限给kibana目录

chown -R kibana.kibana /opt/kibana/kibana

切换用户启动kibana服务

su kibana

nohup /opt/kibana/kibana/bin/kibana > /opt/kibana/kibana/kibana.log &

查看kibana服务是否正常

netstat -tlpn |grep 5601

 

访问kibana

http://10.1.60.114:5601/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里巴巴 Java 开发手册部分整理

阿里巴巴 Java 开发手册 一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 集合处理(六) 并发处理(七) 控制语句(八) 注释规约(九) 其它 二、异常日志(一) 异常处理(二) 日志规约 三、单元测试四、安全规约五、MySQL 数据库(一) 建表规约(二) 索引规约(三…

Java 操作pdf工具类

1、获取pdf页数 添加maven依赖&#xff1a; <!-- java获取Pdf文件页码 --><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>1.8.11</version></dependency>代码实现&#x…

Goby 漏洞发布|电信网关配置管理系统后台 /manager/teletext/material/upload.php 文件上传漏洞

漏洞名称&#xff1a;电信网关配置管理系统后台 /manager/teletext/material/upload.php 文件上传漏洞 English Name&#xff1a;Telecom system /manager/teletext/material/upload.php fileupload vulnerability CVSS core: 9.8 影响资产数&#xff1a;856 漏洞描述&…

不过时的经典层架构

在《设计服务要考虑的7个维度》中讲到设计一定要把不稳定的部分做封装。今天咱们就从这个角度重新审视一下经典的四层架构。 上面是一个经典层架构的示意图。这个架构大多数的公司和项目都在直接用&#xff0c;或者用其变体。 比如&#xff0c;某大厂上层Client客户端可能是电商…

安卓蓝牙GATT协议介绍

前言 现在低功耗蓝牙&#xff08;BLE&#xff09;连接都是建立在 GATT (Generic Attribute Profile) 协议之上。GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范&#xff0c;这些很短的数据段被称为属性&#xff08;Attribute&#xff09;。 GAP 详细介绍 GAT…

GBASE金融信创优秀解决方案鉴赏 · 核心业务系统数据库解决方案

为此&#xff0c;实验室特别开设金融信创优秀解决方案专栏&#xff0c;集中展示优秀成果。现在&#xff0c;让我们一起来领略下GBASE的优秀解决方案吧~可点击阅读原文 →《金融信创优秀解决方案--核心业务系统数据库解决方案》。 核心业务系统数据库解决方案 方案简介 随着技…

Android Qcom USB Driver学习(十三)

该系列文章总目录链接与各部分简介&#xff1a; Android Qcom USB Driver学习(零) Android Qcom USB Driver学习(八) Android Qcom USB Driver学习(九) UCSI USB Type-C Connector System Software Interface Specification DPM Device Policy Manager deals with the USB P…

智安网络|驾驭数字化转型时代:加速业务转型的战略

随着科技的飞速发展和数字化时代的到来&#xff0c;企业面临着前所未有的机遇和挑战。数字化正在改变着商业的方方面面&#xff0c;而那些能够及时适应和把握这些变化的企业将脱颖而出。因此&#xff0c;加速企业转型成为了当务之急。 一、为什么需要加速企业转型 1.全球市场竞…

D. Pairs of Segments(最大不相交区间数量)

Problem - D - Codeforces 给定一个由n个线段组成的数组[[l1,r1],[l2,r2],…,[ln,rn]]&#xff0c;其中每个线段用左右端点表示。如果存在至少一个x满足l1≤x≤r1且l2≤x≤r2&#xff0c;则称线段[l1,r1]和[l2,r2]相交。 如果k为偶数&#xff0c;并且可以将该数组的元素分成k/…

VTK裁剪【3】-vtkClipPolyDatavtkPolyPlane问题

前言&#xff1a;本博文主要记录vtkClipPolyData中采用vtkPolyPlane作为裁剪工具时的出现的问题&#xff0c;供各位小伙伴进行参考&#xff0c;避免踩坑&#xff01; 目录 vtkPolyPlane介绍及作用 vtkClipPolyData原理 实现流程&#xff1a; 问题所在&#xff1a; 需求&…

css绘制网格背景

文章目录 前言效果图说明 前言 本篇文章主要简单扼要的去实现css网格背景&#xff0c;并进一步探求其应用原理 效果图 css代码 body::before, body::after {position: fixed;top: 0;left: 0;right: 0;bottom: 0;content: ;background-repeat: repeat;pointer-events: none;o…

企业特权密码管理

随着企业中特权帐户的激增&#xff0c;必须保护的密码数量也大幅增长。跟踪所有这些密码是一项艰巨的任务&#xff0c;为避免敏感密码管理不善&#xff0c;管理员需要在集中式存储库下清点属于所有部门的密码&#xff0c;并管理对它们的直接控制。 部署PMP的好处 PMP是一个安…

Baumer工业相机堡盟工业相机如何使用新版本NEOAPI SDK控制相机数据流的开启和关闭(C#)

Baumer工业相机堡盟工业相机如何使用新版本NEOAPI SDK控制相机数据流的开启和关闭&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机NEOAPI SDK的技术背景Baumer工业相机使用NEOAPISDK控制相机数据流的方式1.引用合适的类文件2.使用NEOAPISDK控制相机数据流的方式2.使用…

市场模式下光伏用户群的电能共享与需求响应模型(matlab代码)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现文章《市场模式下光伏用户群的电能共享与需求响应模型》&#xff0c;为了使光伏用户群内各经济主体能实现有序的电能交易&#xff0c;提出了一种基于光伏电能供需比&#xff08;SDR&#xff09;的内…

JavaScript实现伪随机正态分布

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言什么是正态分布&am…

Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具&#xff0c;可以去 github 下载最新版&#xff1a;https://github.com/allure-framework/allure2/releases 如果你想学习Pytest自动化测试&#xff0c;我这边给你推荐一套视频&#xff0c;这个视频可以说是B站播放全…

图扑智慧地下采矿,“像素游戏”智能呈现

在这个像素世界里&#xff0c;我们需要一个智能地下采矿可视化综合管理平台&#xff0c;来帮助我们管理和监控地下采矿全流程。 图扑软件依托自主研发的 HT for Web 产品&#xff0c;结合三维定制化渲染、动态模拟、物理碰撞、5G、物联网、云计算及大数据等先进技术&#xff0c…

vue+leaflet笔记之热力图

vueleaflet笔记之热力图 文章目录 vueleaflet笔记之热力图开发环境代码简介插件简介与安装使用简介 详细源码(Vue3) 本文介绍了Web端使用 Leaflet开发库展示热力图方法 (底图来源:天地图)&#xff0c;结合leaflet.heat插件可以很容易的做出热力图&#xff0c;通过调整其配置参…

旧系统重构遇到的种种问题

首先我将原来springboot版本升级到2.7.9&#xff0c;spring的docker分层和启动受到了影响&#xff0c;这个在docker镜像大小问题已经讲过&#xff0c;不再赘述&#xff0c;因为维护的人变成为一个人&#xff0c;因此我需要将各代码的版本进行统一&#xff0c;方便维护。 5 sun.…

数据治理(数据模型,数据规范,数据安全,数据成本,元数据,数据质量等)

数据治理是什么?为什么要做数据治理?关于数据治理我们需要做什么? 数据治理无论是在数仓建设过程中还是数仓建设完成之后都是及其重要的,是数据部门基础建设的必经之路,是降本提效,形成企业数据资产的关键一环 一 数据质量管理 1.1 数据质量基本概念 ●数据质量管理(Dat…