日志收集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

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

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

相关文章

arm-linux-gnueabihf安装

Linaro Releases windows下打开wsl2中的ubuntu&#xff0c;资源管理器中输入&#xff1a; \\wsl$gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 复制到/home/ark01/tool 在 Ubuntu 中创建目录&#xff1a; /usr/local/arm&#xff0c;命令如下&#xff1a; …

LabVIEW透镜多参数自动检测系统

在现代制造业中&#xff0c;提升产品质量检测的自动化水平是提高生产效率和准确性的关键。本文介绍了一个基于LabVIEW的透镜多参数自动检测系统&#xff0c;该系统能够在单一工位上完成透镜的多项质量参数检测&#xff0c;并实现透镜的自动搬运与分选&#xff0c;极大地提升了检…

【算法】动态规划专题① ——线性DP python

目录 引入简单实现稍加变形举一反三实战演练总结 引入 楼梯有个台阶&#xff0c;每次可以一步上1阶或2阶。一共有多少种不同的上楼方法&#xff1f; 怎么去思考&#xff1f; 假设就只有1个台阶&#xff0c;走法只有&#xff1a;1 只有2台阶&#xff1a; 11&#xff0c;2 只有3台…

C++11(中)

新增默认成员函数 C11之前&#xff0c;默认成员函数有六个&#xff0c;构造函数&#xff0c;析构函数&#xff0c;拷贝构造&#xff0c;拷贝赋值重载&#xff0c;取地址重载&#xff0c;const 取地址重载。 C11增加了 移动构造 和 移动赋值重载 如果类没有实现移动构造&…

强化学习笔记——4策略迭代、值迭代、TD算法

基于策略迭代的贝尔曼方程和基于值迭代的贝尔曼方程&#xff0c;关系还是不太理解 首先梳理一下&#xff1a; 通过贝尔曼方程将强化学习转化为值迭代和策略迭代两种问题 求解上述两种贝尔曼方程有三种方法&#xff1a;DP&#xff08;有模型&#xff09;&#xff0c;MC&#xff…

计算机网络 笔记 网络层 3

IPv6 IPv6 是互联网协议第 6 版&#xff08;Internet Protocol Version 6&#xff09;的缩写&#xff0c;它是下一代互联网协议&#xff0c;旨在解决 IPv4 面临的一些问题&#xff0c;以下是关于 IPv6 的详细介绍&#xff1a; 产生背景&#xff1a; 随着互联网的迅速发展&…

【搜索回溯算法篇】:拓宽算法视野--BFS如何解决拓扑排序问题

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;搜索回溯算法篇–CSDN博客 文章目录 一.广度优先搜索&#xff08;BFS&#xff09;解决拓扑排…

23.Word:小王-制作公司战略规划文档❗【5】

目录 NO1.2.3.4 NO5.6​ NO7.8.9​ NO10.11​ NO12​ NO13.14 NO1.2.3.4 布局→页面设置对话框→纸张&#xff1a;纸张大小&#xff1a;宽度/高度→页边距&#xff1a;上下左右→版式&#xff1a;页眉页脚→文档网格&#xff1a;勾选只指定行网格✔→ 每页&#xff1a;…

视频脚本生成器(基于openai API和streamlit)

utils.py&#xff1a; # 所有和ai交互的代码放进utils.py里&#xff08;utils 通常是 “utilities” 的缩写&#xff0c;意为 “实用工具” 或 “实用函数”&#xff09;from langchain.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI from lan…

Android --- CameraX讲解

预备知识 surface surfaceView SurfaceHolder surface 是什么&#xff1f; 一句话来说&#xff1a; surface是一块用于填充图像数据的内存。 surfaceView 是什么&#xff1f; 它是一个显示surface 的View。 在app中仍在 ViewHierachy 中&#xff0c;但在wms 中可以理解为…

Longformer:处理长文档的Transformer模型

Longformer&#xff1a;处理长文档的Transformer模型 摘要 基于Transformer的模型由于自注意力操作的二次复杂度&#xff0c;无法处理长序列。为了解决这一限制&#xff0c;我们引入了Longformer&#xff0c;其注意力机制与序列长度呈线性关系&#xff0c;使其能够轻松处理数…

python学opencv|读取图像(五十二)使用cv.matchTemplate()函数实现最佳图像匹配

【1】引言 前序学习了图像的常规读取和基本按位操作技巧&#xff0c;相关文章包括且不限于&#xff1a; python学opencv|读取图像-CSDN博客 python学opencv|读取图像&#xff08;四十九&#xff09;原理探究&#xff1a;使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客…

MySQL为什么默认引擎是InnoDB ?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL为什么默认引擎是InnoDB &#xff1f;】面试题。希望对大家有帮助&#xff1b; MySQL为什么默认引擎是InnoDB &#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL 默认引擎是 InnoDB&#xff0c;主要…

蓝桥杯真题k倍区间

题目如下 代码解析&#xff1a; 成功AC

python项目之requirements.txt文件

Python项目中可以包含一个 requirements.txt 文件&#xff0c;用于记录所有依赖包及其精确的版本号用以新环境部署。 当我们开发新项目的时候&#xff0c;会用virtualenv创建很多python独立环境&#xff0c;这时候就会出现在不同环境下安装相同的模块的情况&#xff0c;这时候…

算法题(53):对称二叉树

审题&#xff1a; 需要我们判断二叉树是否满足对称结构&#xff0c;并返回判断结果 思路&#xff1a; 方法一&#xff1a;递归 其实是否对称分成两部分判断 第一部分&#xff1a;根节点是否相等 第二部分&#xff1a;根节点一的左子树和根节点二的右子树是否相等&#xff0c;根…

使用 cmake

使用前注意 : CMake是一种跨平台的构建系统&#xff0c;它用于管理软件构建过程&#xff0c;尤其适合多语言、多配置的项目。CMake不直接构建软件&#xff0c;而是生成特定构建工具&#xff08;如Makefile或Visual Studio项目&#xff09;所需的配置文件。 如果仅仅使用 qt 编…

AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言

1. 定义目标与需求 首先&#xff0c;要明确你希望AI智能体做什么。是自动化任务、数据分析、自然语言处理&#xff0c;还是其他功能&#xff1f;明确目标可以帮助你选择合适的技术和方法。 2. 选择开发平台与工具 开发AI智能体的软件时&#xff0c;你需要选择适合的编程语言、…

学习数据结构(5)单向链表的实现

&#xff08;1&#xff09;头部插入 &#xff08;2&#xff09;尾部删除 &#xff08;3&#xff09;头部删除 &#xff08;4&#xff09;查找 &#xff08;5&#xff09;在指定位置之前插入节点 &#xff08;6&#xff09;在指定位置之后插入节点 &#xff08;7&#xff09;删除…

深入理解MySQL 的 索引

索引是一种用来快速检索数据的一种结构, 索引使用的好不好关系到对应的数据库性能方面, 这篇文章我们就来详细的介绍一下数据库的索引。 1. 页面的大小: B 树索引是一种 Key-Value 结构&#xff0c;通过 Key 可以快速查找到对应的 Value。B 树索引由根页面&#xff08;Root&am…