日志收集Day007
1.配置ES集群TLS认证:
(1)elk101节点生成证书文件
cd /usr/share/elasticsearch
./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650
(2)elk101节点为证书文件修改属主和属组
chown elasticsearch:elasticsearch config/elastic-certificates.p12
(3)elk101节点同步证书文件到其他节点
需要确保文件的属主和属组和步骤2一致
data_rsync.sh /usr/share/elasticsearch/config/elastic-certificates.p12
最好再检查一下是否同步成功,及属主信息是否都为elasticsearch
(4)elk101节点修改ES集群的配置文件
vim /etc/elasticsearch/elasticsearch.yml
#添加如下配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
同步配置文件
data_rsync.sh /etc/elasticsearch/elasticsearch.yml
(4.5)由于我的elasticsearch是rpm安装非二进制安装,所有此处需要将证书文件移动到/etc/elasticsearch目录下。如果es集群配置文件跟证书文件同级则跳过此步骤。
cp -a /usr/share/elasticsearch/config/elastic-certificates.p12 /etc/elasticsearch/
(5)所有节点重启elasticsearch
systemctl restart elasticsearch.service
(6)生成随机密码(千万记得保存)
cd /usr/share/elasticsearch
./bin/elasticsearch-setup-passwords auto
(7)postman访问

(8)修改kibana配置的账户密码(第6步的账号密码)
vim /etc/kibana/kibana.yml

重启:systemctl restart kibana.service
使用elastic登录并修改密码
2.自定义角色使用logstash组件写入数据到ES集群
1.自定义角色(无需配置kibana权限)


2.创建用户

3.编写logstash文配置文件
在配置了TLS认证之后,logstash向es集群发送数据都需要携带用户和密码,这里配置的索引需要和步骤1索引匹配。
vim 10-file-to-es.conf
input { file {path => "/tmp/lxc-file"# 指定读取文件的起始位置,但前提是该文件之前未读取过或者未在".sincedb"文件中记录。start_position => "beginning"}
}output { elasticsearch {hosts => ["http://localhost:9200"]index => "logstash-file-lxc"user => "lxc2025"password => "123456"}
}
4.运行logstash
logstash -rf 10-file-to-es.conf
5.测试

3.zookeeper单点部署
1.下载zookeeper软件
https://zookeeper.apache.org/releases.html
2.解压软件包
tar xf apache-zookeeper-3.8.0-bin.tar.gz -C /app/softwares/
3.创建符号链接
cd /app/softwares/ && ln -sv apache-zookeeper-3.8.0-bin zk
4.声明zk的环境变量
cat > /etc/profile.d/kafka.sh <<'EOF'
export ZK_HOME=/app/softwares/zk
export PATH=$PATH:$ZK_HOME/bin
EOF
source /etc/profile.d/kafka.sh
5.创建zk的配置文件
cp /app/softwares/zk/conf/{zoo_sample.cfg,zoo.cfg}
6.启动zk节点
zkServer.sh start
补充:zkServer.sh stop zkServer.sh status zkServer.sh restart
7.连接节点
zkCli.sh
4.zookeeper集群部署
1.创建zk的数据目录
install -d /lxc/data/zk
2.修改单点zk的配置文件
修改配置文件,可以将配置文件内容替换为如下内容(下面数据目录需要和步骤一创建的一致)
vim /app/softwares/zk/conf/zoo.cfg
# 定义最小单元的时间范围tick。
tickTime=2000
# 启动时最长等待tick数量。
initLimit=5
# 数据同步时最长等待的tick时间进行响应ACK
syncLimit=2
# 指定数据目录
dataDir=/lxc/data/zk
# 监听端口
clientPort=2181
# 开启四字命令允许所有的节点访问。
4lw.commands.whitelist=*
# server.ID=A:B:C[:D]
# ID:zk的唯一编号。
# A:zk的主机地址。
# B:leader的选举端口,是谁leader角色,就会监听该端口。
# C:数据通信端口。
# D:可选配置,指定角色。
server.101=10.0.0.101:2888:3888
server.102=10.0.0.102:2888:3888
server.103=10.0.0.103:2888:3888
3.同步数据(这里使用脚本同步,没有脚本可以使用scp命令)
data_rsync.sh /app/softwares/zk/
data_rsync.sh /app/softwares/apache-zookeeper-3.8.0-bin/
data_rsync.sh /lxc/data/zk/
data_rsync.sh /etc/profile.d/kafka.sh
4.创建myid文件
for ((host_id=101;host_id<=103;host_id++)) do ssh 10.0.0.${host_id} "echo ${host_id} > /lxc/data/zk/myid";done
5.所有节点启动zk服务
source /etc/profile.d/kafka.sh
zkServer.sh start
6.查看zk的角色状态
zkServer.sh status
5.编写zk的集群管理脚本
vim /usr/local/sbin/zkManager.sh
#!/bin/bash#判断用户是否传参
if [ $# -ne 1 ];thenecho "无效参数,用法为: $0 {start|stop|restart|status}"exit
fi#获取用户输入的命令
cmd=$1#定义函数功能
function zookeeperManger(){case $cmd instart)echo "启动服务" remoteExecution start;;stop)echo "停止服务"remoteExecution stop;;restart)echo "重启服务"remoteExecution restart;;status)echo "查看状态"remoteExecution status;;*)echo "无效参数,用法为: $0 {start|stop|restart|status}";;esac
}#定义执行的命令
function remoteExecution(){for (( i=101 ; i<=103 ; i++ )) ; dotput setaf 2echo ========== 10.0.0.${i} zkServer.sh $1 ================tput setaf 9ssh 10.0.0.${i} "source /etc/profile.d/kafka.sh; zkServer.sh $1 2>/dev/null"done
}
#调用函数
zookeeperManger
添加权限:chmod +x /usr/local/sbin/zkManager.sh
管理zk集群:
zkManager.sh start
zkManager.sh stop
zkManager.sh restart
zkManager.sh status
6.zookeeper的命令行基本管理:
查看
ls /
查看根(/)下有多少子zookeeper node,简称"znode"。
get /aa
查看"/aa"的数据。
创建
create /aa
在根路径下创建一个名为"aa"的"znode"。
create -s -e /aa
在根路径下创建一个名为"aa"有序编号(-s)的临时"znode"(-e),会话结束,自动删除。
create /aa 123
在根路径下创建一个名为"aa"的"znode",并指定其数据为123。
修改
set /aa 456
将名为"/aa"的"znode",的数据修改为456。
删除
delete /aa
删除名为"/aa"的"znode",aa下面不能有子znode,必须为空
deleteall /aa
递归删除名为"/aa"下的所有"znode"
7.搭建kafka单点环境
(1)下载kafka软件包
(2)解压软件包: tar xf kafka_2.13-3.2.1.tgz -C /app/softwares/
(3)创建符号连接: cd /app/softwares/ && ln -svf kafka_2.13-3.2.1 kafka
(4)配置环境变量:vim /etc/profile.d/kafka.sh
加入如下内容:
export KAFKA_HOME=/app/softwares/kafka
export PATH=$PATH:$KAFKA_HOME/bin
(5)source /etc/profile.d/kafka.sh
(6)修改配置文件: vim /app/softwares/kafka/config/server.properties
broker.id=101
zookeeper.connect=10.0.0.101:2181,10.0.0.102:2181,10.0.0.103:2181/kafka321
(7)连接zk节点,验证
zkCli.sh
ls /kafka321

相关文章:
日志收集Day007
1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…...
虚拟机里网络设置-桥接与NAT
桥接(Bridging)和NAT(网络地址转换,Network Address Translation)是网络中的两种不同技术,主要用于数据包的处理和转发。以下是它们的主要区别: 1. 工作原理 桥接: 桥接工作在数据链…...
人工智能 - 1
深度强化学习(Deep Reinforcement Learning) 图神经网络(Graph Neural Networks, GNNs) Transformer 一种深度学习模型 大语言模型(Large Language Models, LLMs) 人工智能 • Marvin Minsky 将其定义…...
小程序-基础加强-自定义组件
前言 这次讲自定义组件 1. 准备今天要用到的项目 2. 初步创建并使用自定义组件 这样就成功在home中引入了test组件 在json中引用了这个组件才能用这个组件 现在我们来实现全局引用组件 在app.json这样使用就可以了 3. 自定义组件的样式 发现页面里面的文本和组件里面的文…...
Kafka 压缩算法详细介绍
文章目录 一 、Kafka 压缩算法概述二、Kafka 压缩的作用2.1 降低网络带宽消耗2.2 提高 Kafka 生产者和消费者吞吐量2.3 减少 Kafka 磁盘存储占用2.4 减少 Kafka Broker 负载2.5 降低跨数据中心同步成本 三、Kafka 压缩的原理3.1 Kafka 压缩的基本原理3.2. Kafka 压缩的工作流程…...
单词翻转(信息学奥赛一本通1144)
题目来源 信息学奥赛一本通(C版)在线评测系统 题目描述 1144:单词翻转 时间限制: 1000 ms 内存限制: 65536 KB 提交数:60098 通过数: 26099 【题目描述】 输入一个句子(一行),将句子中的每一个单词翻转后输出。 【输入…...
DeepSeek 模型全览:探索不同类别的模型
DeepSeek 是近年来备受关注的 AI 研究团队,推出了一系列先进的深度学习模型,涵盖了大语言模型(LLM)、代码生成模型、多模态模型等多个领域。本文将大概介绍 DeepSeek 旗下的不同类别的模型,帮助你更好地理解它们的特点…...
我的2024年年度总结
序言 在前不久(应该是上周)的博客之星入围赛中铩羽而归了。虽然心中颇为不甘,觉得这一年兢兢业业,每天都在发文章,不应该是这样的结果(连前300名都进不了)。但人不能总抱怨,总要向前…...
DeepSeek回答人不会干出超出视角之外的事
我本身是有着深度思考习惯的重度患者,当我遇到一个AI会深度思考的时候,我觉得找到了一个同类,是不是可以学习周伯通的左右手互博大法?下面我们拿着我的一点思考,让DeepSeek来再深度思考挖掘。 人不会干出超出视角之外的…...
前端知识速记—JS篇:null 与 undefined
前端知识速记—JS篇:null 与 undefined 什么是 null 和 undefined? 1. undefined 的含义 undefined 是 JavaScript 中默认的值,表示某个变量已被声明但尚未被赋值。当尝试访问一个未初始化的变量、函数没有返回值时,都会得到 u…...
Hive:静态分区(分区语法,多级分区,分区的查看修改增加删除)
hive在建表时引入了partition概念。即在建表时,将整个表存储在不同的子目录中,每一个子目录对应一个分区。在查询时,我们就可以指定分区查询,避免了hive做全表扫描,从而提高查询率。 oracle和Hive分区的区别 orcale在…...
升级到Mac15.1后pod install报错
升级Mac后,Flutter项目里的ios项目运行 pod install报错, 遇到这种问题,不要着急去百度,大概看一下报错信息,每个人遇到的问题都不一样。 别人的解决方法并不一定适合你; 下面是报错信息: #…...
智慧园区管理系统为企业提供高效运作与风险控制的智能化解决方案
内容概要 快鲸智慧园区管理系统,作为一款备受欢迎的智能化管理解决方案,致力于为企业提供高效的运作效率与风险控制优化。具体来说,这套系统非常适用于工业园、产业园、物流园、写字楼及公寓等多种园区和商办场所。它通过数字化与智能化的手…...
JxBrowser 8.2.2 版本发布啦!
JxBrowser 8.2.2 版本发布啦! • 已更新 #Chromium 至更新版本 • 实施了多项质量改进 🔗 点击此处了解更多详情。 🆓 获取 30 天免费试用。...
LangChain的开发流程
文章目录 LangChain的开发流程开发密钥指南3种使用密钥的方法编写一个取名程序 LangChain表达式 LangChain的开发流程 为了更深人地理解LangChain的开发流程,本文将以构建聊天机器人为实际案例进行详细演示。下图展示了一个设计聊天机器人的LLM应用程序。 除了Wb服务…...
AI在自动化测试中的伦理挑战
在软件测试领域,人工智能(AI)已经不再是遥不可及的未来技术,而是正在深刻影响着测试过程的现实力量。尤其是在自动化测试领域,AI通过加速测试脚本生成、自动化缺陷检测、测试数据生成等功能,极大提升了测试…...
《Origin画百图》之同心环图
《Origin画百图》第四集——同心环图 入门操作可查看合集中的《30秒,带你入门Origin》 具体操作: 1.数据准备:需要X和Y两列数据 2. 选择菜单 绘图 > 条形图,饼图,面积图: 同心圆弧图 3. 这是绘制的基础图形&…...
TPA注意力机制详解及代码复现
基本原理 在深入探讨TPA注意力机制的数学表达之前,我们需要先理解其基本原理。TPA注意力机制是一种创新的注意力机制,旨在解决传统注意力机制在处理大规模数据时面临的内存和计算效率问题。 TPA注意力机制的核心思想是利用 张量分解 来压缩注意力机制中的Q、K、V表示,同时…...
深入理解Java并发编程中的原子操作、volatile关键字与读写锁
1. 原子操作与AtomicInteger等原子类 1.1 原子操作的原理 在多线程环境中,多个线程可能会同时访问和修改共享资源。如果这些操作不是原子性的(即可以被中断),那么可能会导致数据不一致或竞态条件(race condition)。原子操作是指不可分割的操作,即在多线程环境下,这些…...
HTML(快速入门)
欢迎大家来到我的博客~欢迎大家对我的博客提出指导,有错误的地方会改进的哦~点击这里了解更多内容 目录 一、前言二、HTML基础2.1 什么是HTML?2.2 认识HTML标签2.2.1 HTML标签当中的基本结构2.2.2 标签层次结构 2.3 HTML常见标签2.3.1 标题标签2.3.2 段落标签2.3.3…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
篇章二 论坛系统——系统设计
目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
