ELK企业内部日志分析系统(1)
ELK+Kafka+Filebeat企业内部日志分析系统(1)
Elasticsearch集群部署
1.部署环境
IP地址 | 主机名 | 配置 | 系统版本 |
---|---|---|---|
192.168.222.129 | es1 | 2核4G | RockyLinux |
192.168.222.130 | es2 | 2核3G | RockyLinux |
192.168.222.131 | es3 | 2核3G | RockyLinux |
2.配置主机名解析和主机名
#关闭防火墙与selinux
#更改主机名(三台机器均操作)
[root@localhost ~]# hostnamectl set-hostname es1
#添加主机名解析
[root@es1 ~]# vim /etc/hosts
192.168.222.129 es1
192.168.222.130 es2
192.168.222.131 es3
3.相关地址
官方地址:https://www.elastic.co
官网搭建:https://www.elastic.co/guide/index.html
4.安装配置ES
1.创建运行ES的普通用户
[root@es1 ~]# useradd es
[root@es1 ~]# echo "123" |passwd --stadin "es"
2.安装配置ES
#这里已经把包传到服务器
[root@es1 ~]# ls
anaconda-ks.cfg elasticsearch-7.13.2-linux-x86_64.tar.gz kibana-7.13.2-linux-x86_64.tar.gz node-v10.0.0-linux-x64.tar.gz
[root@es1 ~]# tar xf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local/
[root@es1 ~]# cd /usr/local
[root@es1 local]# mv elasticsearch-7.13.2-linux-x86_64.tar.gz/ es
#修改配置文件(删除里面注释添加以下内容)
[root@es1 local]# vim /es/config/elasticsearch.yml
cluster.name: bjbpe01-elk
cluster.initial_master_nodes:["es1","es2","es3"]
node.name: es1
node.master: true
node.data: true
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["es2","es3"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 150s
discovery.zen.fd.ping_retries: 10
client.transport.ping_timeout: 60s
http.cors.enabled: true
http.cors.allow-origin: "*"
3. 设置JVM堆大小
[root@es1 local]# sed -i 's/## -Xms4g/-Xms4g/' /usr/local/es/config/jvm.options
[root@es1 local]# sed -i 's/## -Xmx4g/-Xmx4g/' /usr/local/es/config/jvm.options
4.创建ES数据及日志存储目录
#(三台机器均操作)
[root@es1 local]# mkdir -p /data/elasticsearch/data
[root@es1 local]# mkdir -p /data/elasticsearch/logs
5.修改安装目录及权限
#(三台机器均操作)
[root@es1 local]# chown -R es.es /data/elasticsearch
[root@es1 local]# chown -R es.es /usr/local/es
6.系统优化(三台机器均操作)
1.增加最大文件打开数
永久生效方法:
[root@es1 local]# echo "* soft nofile 65536" >> /etc/security/limits.conf
2.增加最大进程数
[root@es1 local]# echo "* soft nproc 65536" >> /etc/security/limits.conf
3.增加最大内存映射数
[root@es1 local]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@es1 local]# sysctl -p
5.启动ES
[root@es1 local]# cd es
[root@es1 es]# su es
[es@es1 es]$ bin/elasticsearch
6.安装配置head监控插件
- 服务器
安装软件 | 主机名 | IP地址 | 系统版本 | 配置 |
---|---|---|---|---|
Elasticsearch-head-master | es1 | 192.168.222.129 | RockyLinux | 2核4G |
1.安装node
[root@es1 ~]# 123.txt anaconda-ks.cfg elasticsearch-7.13.2-linux-x86_64.tar.gz kibana-7.13.2-linux-x86_64.tar.gz node-v10.0.0-linux-x64.tar.gz
[root@es1 ~]# tar xf node-v10.0.0-linux-x64.tar.gz -C /usr/local
[root@es1 ~]# vim /etc/preofile
NODE_HOME=/usr/local/node-v10.0.0-linux-x64
PATH=$NODE_HOME/bin:$PATH
export NODE_HOME PATH
[root@es1 ~]# source /etc/profile
[root@es1 ~]# node --version
2.下载head插件
[root@es1 ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[root@es1 ~]# yum -y install unzip
[root@es1 ~]# unzip -d /usr/local elasticsearch-head-master.zip
3.安装grunt
[root@es1 ~]# cd /usr/local/elasticsearch-head-master
[root@es1 elasticsearch-head-master]# npm install -g grunt-cli
#检查版本号
[root@es1 elasticsearch-head-master]# grunt -version
5.修改head源码
#修改成以下内容
[root@es1 ~]# vim /usr/local/elasticsearch-head-master/Gruntfile.js +99port: 9100,base: '.',keepalive: true,hostname: '*'
[root@elk ~]# vim /usr/local/elasticsearch-head-master/_site/app.js +4388this._super();this.prefs = services.Preferences.instance();this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.222.129:9200";
6.下载head必要的文件
[root@elk ~]# wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@elk ~]# yum -y install bzip2
[root@elk ~]# mkdir /tmp/phantomjs
[root@elk ~]# mv phantomjs-2.1.1-linux-x86_64.tar.bz2 /tmp/phantomjs/
[root@elk ~]# chmod 777 /tmp/phantomjs -R
7.运行head
[root@elk ~]# cd /usr/local/elasticsreach-head-master
[root@elk elasticsreach-head-master]# npm install
#上一行报错执行以下命令
[root@elk elasticsreach-head-master]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
[root@elk elasticsreach-head-master]# nohup grunt server &
[root@elk elasticsreach-head-master]# ss -ntlp
7.部署kibana
安装软件 | 主机名 | IP地址 | 系统版本 | 配置 |
---|---|---|---|---|
kibana | es1 | 192.168.222.129 | RockyLinux | 2核4G |
1.安装kibana
[root@es1 ~]# tar zxf kibana-7.13.2-linux-x86_64.tar.gz -C /usr/local
4.配置文件
[root@es1 ~]# cd /usr/local
[root@es1 local]# vim kibana-7.13.2-linux-x86_64/config/kibana.yml
server.port: 5601
server.host: "192.168.222.129"
elasticsearch.hosts: ["http://192.168.222.129:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
[root@es1 local]# cd kibana-7.13.2-linux-x86_64/
[root@es1 kibana-7.13.2-linux-x86_64]# ./bin/kibana --allow-root
相关文章:
ELK企业内部日志分析系统(1)
ELKKafkaFilebeat企业内部日志分析系统(1) Elasticsearch集群部署 1.部署环境 IP地址主机名配置系统版本192.168.222.129es12核4GRockyLinux192.168.222.130es22核3GRockyLinux192.168.222.131es32核3GRockyLinux 2.配置主机名解析和主机名 #关闭防火墙与selinux #更改主机…...
反序列化POP链技术详解
POP( Procedure Oriented Programming )链是反序列化安全问题中相对比较重要的技术点,相比于其他的反序列化问题,这种漏洞的产生更加难以发现,以及在利用上也比较复杂。 要掌握这个东西首先要先了解面向对象中的几个特…...
process.env.VUE_APP_BASE_API
前端:process.env.VUE_APP_BASE_API 在Vue.js项目中,特别是使用Vue CLI进行配置的项目,process.env.VUE_APP_BASE_API 是一个环境变量的引用。Vue CLI允许开发者在不同环境下配置不同的环境变量,这对于管理API基础路径、切换开发…...
面试题--SpirngCloud
SpringCloud 有哪些核心组件?(必会) Eureka: 注册中心, 服务注册和发现 Ribbon: 负载均衡, 实现服务调用的负载均衡 Hystrix: 熔断器 Feign: 远程调用 Zuul: 网关 Spring Cloud Config: 配置中心 (1)Eureka 提供服务注册和发现, 是注册中心. 有两个组…...
中位数贪心,3086. 拾起 K 个 1 需要的最少行动次数
一、题目 1、题目描述 给你一个下标从 0 开始的二进制数组 nums,其长度为 n ;另给你一个 正整数 k 以及一个 非负整数 maxChanges 。 Alice 在玩一个游戏,游戏的目标是让 Alice 使用 最少 数量的 行动 次数从 nums 中拾起 k 个 1 。游戏开始…...
xml_woarchive undefined symbol
最近在linux中编译一个自己写的老代码。是个C动态库。可以编译成功,但直到运行的时候才报 boost xml_woarchive undefined symbol. 解决的方法是在编译时要加上 wserialization 库。 注意,这个库有含 w 和不含 w 两个。在我这里需要使用含 w 的。 如果…...

SiCat:一款多功能漏洞利用管理与搜索工具
关于SiCat SiCat是一款多功能漏洞利用管理与搜索工具,该工具基于纯Python 3开发,旨在帮助广大研究人员有效地识别和收集来自开源和本地存储库的漏洞信息。 SiCat专注于网络安全管理方面的实践工作,允许研究人员快速实现在线搜索,…...

毕业论文初稿写作方法与过程
毕业论文初稿写作方法与过程 毕业论文是大学生在学业结束前必须完成的一项重要任务,它不仅是对学生所学知识的综合运用,也是对学生研究能力和写作能力的检验。写好毕业论文初稿是完成高质量毕业论文的关键一步。下面将具体阐述毕业论文初稿的写作方法和过…...

SLAM 精度评估
SLAM 精度的评估有两个最重要的指标,即绝对轨迹误差(ATE)和相对位姿误差(RPE)的 均方根误差(RMSE): 绝对轨迹误差:直接计算相机位姿的真实值与 SLAM 系统的估计值之间的差值,首先将…...

Postman使用教程
传统接口风格 RESTful风格 使用Postman完成测试用例目标: Postman教程 (1)准备工作,下载Postman新建 (2)登录接口调试-获取验证码 (3)登录接口调试-登录 (4)…...
UDP协议深入解析
一. UDP报文结构 UDP报文由以下4个字段组成: 源端口号(Source Port):16位,标识发送方的端口号。如果发送方没有使用端口号,则该字段为0。 目标端口号(Destination Port):16位,标识接收方的端口号。 长度(Length):16位,表示UDP报文的总长度,…...

Rethinking Federated Learning with Domain Shift: A Prototype View
CVPR2023,针对分布式数据来自不同的域时,私有模型在其他域上表现出退化性能(具有域转移)的问题。提出用于域转移下联邦学习的联邦原型学习(FPL)。核心思想是构建集群原型和无偏原型,提供富有成效的领域知识和公平的收敛目标。将样本嵌入拉近到属于相同语义的集群原型,而…...

打卡第2天----数组双指针,滑动窗口
今天是参与训练营第二天,这几道题我都看懂了,自己也能写出来了,实现思路很重要,万事开头难,希望我可以坚持下去。希望最后的结果是量变带来质变。 一、理解双指针思想 leetcode编号:977 不止是在卡尔这里…...

Running cmake version 2.8.12.2解决方案
Centos7安装mysql8.0,编译环节出现如下报错: Running cmake version 2.8.12.2 CMake Warning at CMakeLists.txt:82 (MESSAGE):Please use cmake3 rather than cmake on this platform-- Please install cmake3 (yum install cmake3) CMake Error at CMa…...

stm32中IIC通讯协议
参考资料:大部分均引用b站江协科技课程、GPT及网络资料 什么是IIC(i2C)通讯协议? 关键字:SCL、SDA、半双工、同步、串行。 IIC(Inter-Integrated Circuit),也称为I2C(In…...
允许防火墙通过端口 6379(通常用于 Redis 服务)那些年因为连接失败而一起熬过的夜
要允许防火墙通过端口 6379(通常用于 Redis 服务),您可以按照以下步骤在防火墙中添加规则。这里提供了使用 firewalld 和 ufw 两种常见防火墙管理工具的方法。 使用 firewalld (CentOS、Red Hat 等) 1. 启动并启用 f…...
tsconfig.json的include和exclude作用
tsconfig.json中的include和exclude属性用于指定需要被编译的TypeScript文件和需要被排除的文件。 include属性:用于指定哪些.ts、.tsx或.d.ts文件需要被编译。如果不指定include属性,则默认当前目录下除了exclude之外的所有.ts、.d.ts、…...

firewalld(8) policies
简介 前面的文章中我们介绍了firewalld的一些基本配置以及NAT的相关配置。在前面的配置中,我们所有的策略都是与zone相关的,例如配置的rich rule,--direct,以及NAT,并且这些配置都是数据包进入zone或者从zone发出时设置的策略。 我们在介绍…...

为什么进口主食冻干那么高贵?必入榜主食冻干总结分享
新手养猫人常常会有这样的疑问:为何进口主食冻干价格如此昂贵,但仍有大量养猫达人对其推崇备至?与国产主食冻干相比,进口产品的价格高出3-4倍之多,那么这高昂的价格背后,进口主食冻干是否真的值得推荐&…...
状态模式在金融业务中的应用及其框架实现
引言 状态模式(State Pattern)是一种行为设计模式,它允许对象在内部状态改变时改变其行为。状态模式通过将状态的相关行为分离到独立的状态类中,使得状态转换更加明确和简洁。在金融业务中,状态模式可以用于实现交易状…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...