博文

Kafka集群搭建+ELK集群协同工作实验记录

图片
背景 :前面已经部署了ELK集群, 见ELK集群部署 。这里结合kafka使用做个案例实验,用于展示如何将这些技术结合起来处理和分析日志数据。 kafka1:10.170.0.8 kafka2:10.170.0.9 kafka3:10.170.0.10 目标 :构建一个简单的ELK + Kafka系统,用于实时收集、处理、分析和可视化日志数据。 架构组件 Kafka: 作为日志消息的中间存储,提供高吞吐量的日志消息队列。 Logstash: 作为日志处理管道,从Kafka消费日志,进行处理和解析,然后输出到Elasticsearch。 Elasticsearch: 用于存储、搜索和分析日志数据。 Kibana: 用于日志数据的可视化和搜索分析。 一,安装配置kafka集群 1.1,安装JDK8 dnf install -y java-1.8.0-openjdk 1.2,下载kafka wget https://archive.apache.org/dist/kafka/3.6.0/kafka-3.6.0-src.tgz tar -zxvf kafka-3.6.0-src.tgz -C /usr/local/ mv /usr/local/kafka-3.6.0-src/ /usr/local/kafka/ && cd /usr/local/kafka/ 1.3,配置zookeeper #配置文件 /usr/local/kafka/config/zookeeper.properties [root@kafka1 kafka]# grep -Ev "^$|[#;]" /usr/local/kafka/config/zookeeper.properties dataDir=/opt/data/zookeeper/data dataLogDir=/opt/data/zookeeper/logs clientPort=2181 tickTime=2000 initLimit=20 syncLimit=10 maxClientCnxns=0 admin.enableServer=false server.1=10.170...

部署ELK日志平台集群(Elasticsearch, Logstash, Kibana)实验记录

图片
实验背景:4台云虚拟机(一个内网)已经部署了elasticsearch集群(见 ELK日志平台——Elasticsearch 8.x安装部署 ),centos 9 系统,已经做好本地DNS解析。 node1:elasticsearch node2:elasticsearch node3:elasticsearch,kibana node4:elasticsearch,nginx,logstash 一,安装配置nginx dnf install -y nginx systemctl enable nginx systemctl start nginx 二,安装配置logstash sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch #添加yum仓库 vim /etc/yum.repos.d/logstash.repo [logstash-8.x] name=Elastic repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md #安装,启动 yum install logstash -y systemctl enable logstash.service systemctl start logstash.service #创建软链接,因为默认不在/bin/下面 ln -s /usr/share/logstash/bin/logstash /bin/logstash #安装完后运行下面命令测试, /usr/share/logstash/bin/logstash -e '' #等待一段时间口当看到下面提示, The stdin plugin is now waiting for input: [INFO ] 2024-04-24 07:30:35.094 [Agent thread] agent - Pipelines run...

ELK日志平台——Elasticsearch 8.x安装部署

图片
背景介绍:ELK日志平台是一种用于收集、存储、搜索、分析和可视化日志数据的开源工具组合。ELK代表Elasticsearch、Logstash和Kibana,这三个工具分别用于不同的功能:      Elasticsearch:用于存储和搜索日志数据的分布式搜索引擎,能够快速地存储、搜索和分析大量的数据。      Logstash:用于日志数据的收集、过滤和转发,可以从不同的来源收集数据,并将其标准化后发送到Elasticsearch等目标中。      Kibana:用于数据可视化和管理的工具,可以创建实时的仪表板和报告,帮助用户更好地理解和分析他们的日志数据。 通过这些工具的结合,ELK日志平台能够帮助用户更好地理解其系统和应用程序产生的日志数据,从而进行故障排查、性能优化和安全监控等工作。 一,Elasticsearch 8.x单机部署 官网YUM安装步骤: https://www.elastic.co/guide/en/elasticsearch/reference/8.13/rpm.html#rpm-repo 官网APT安装步骤: https://www.elastic.co/guide/en/elasticsearch/reference/8.13/deb.html#deb-repo 使用YUM或者APT安装后,不需要创建单独用户,直接使用systemctl管理。 systemctl enable elasticsearch.service systemctl start elasticsearch.service vim /etc/elasticsearch/elasticsearch.yml network.host: 0.0.0.0 #设置IP地址,任意网络可以访问 1.1,默认开启认证,使用HTTPS连接,下面关掉安全认证和ssl : xpack.security.enabled: false xpack.security.http.ssl: enabled: false xpack.security.transport.ssl: enabled: false 1...

vps小鸡配置swap记录

图片
背景:昨天晚上zabbix监控报警有一台vps内存爆了,然后就失联了,最后只能登录控制台重启😭。今天看了一下swap居然的没有开启的,小鸡的1G内存,不开swap还是压力山大啊! 一,查看是否启用swap,以及一些参数 #确认 swap 是否启用:没有输出则未启用 swapon -s #检查 swappiness 参数:默认60,该值范围从0到100,值越低,系统越不倾向于使用 swap cat /proc/sys/vm/swappiness #如有必要,通过以下命令进行调整: sysctl vm.swappiness=VALUE 二,开启swap: #创建 Swap 文件:这里使用dd创建了1G dd if=/dev/zero of=/swapfile bs=100M count=10 #设置 Swap 文件的权限:出于安全考虑,设置为只有 root 用户才能读写 chmod 600 /swapfile #将文件设置为 Swap 空间 mkswap /swapfile #启用 Swap 文件 swapon /swapfile #验证,查看 swapon -s free -m #配置开机自启动 vim /etc/fstab #在该文件添加以下内容 /swapfile none swap sw 0 0 三,修改swap: #在更改 swap 文件大小前,需要先禁用正在使用的 swap 文件 swapoff /swapfile #调整大小 fallocate -l 2G /swapfile #或者 dd if=/dev/zero of=/swapfile bs=200M count=10 #接下来就是和上面一样,权限,创建,启用,验证,查看 chmod 600 /swapfile mkswap /swapfile swapon /swapfile swapon -s free -m 四,删除swap: swapoff /swapfile #从 /etc/fstab 中移除 Swap 条目 # /swapfile none swap sw 0 0 rm /swapfile #删除 Swap 文件

部署RabbitMQ集群记录

图片
前言 :RabbitMQ是一款流行的开源消息代理和队列服务器,用于在分布式系统中异步地传递消息。这意味着系统或应用程序的不同部分可以通过发送消息到队列进行通信,而不是直接调用彼此的接口。由于系统组件可以独立地处理传入的消息,这种方式可以显著提高应用程序的可扩展性和健壮性。 一,实验背景 三台CentOS 7 部署rabbitmq集群(普通模式+镜像模式);以下是服务器IP信息 rabbitmq1:192.168.229.133 rabbitmq2:192.168.229.149 rabbitmq3:192.168.229.150 在/etc/hosts里面做好本地解析 二,安装步骤 2.1,单节点部署 yum update yum install erlang -y #安装二郎 #最新版已经不支持了,为了方便直接安装epel包里面的3.3.5 yum list |grep rabbitmq-server rabbitmq-server.noarch 3.3.5-34.el7 epel yum install rabbitmq-server.noarch -y #编辑配置文件 vim /etc/rabbitmq/rabbitmq.config 安装插件并启动服务 rabbitmq-plugins enable rabbitmq_management systemctl start rabbitmq-server.service systemctl status rabbitmq-server.service 查看节点状态,目前只有一个节点 [root@rabbitmq1 ~]# rabbitmqctl cluster_status Cluster status of node rabbit@rabbitmq1 ... [{nodes,[{disc,[rabbit@rabbitmq1]}]}, {running_nodes,[rabbit@rabbitmq1]}, {cluster_name,<<"rabbit@rabbitmq1">>}, {partitions,[]}] ...d...

HAProxy + Keepalived 动静分离实验记录

图片
前言 :在此前的讨论中,我们关注的是 LVS 的功能,这是一种专注于第四层(TCP/UDP协议)的负载均衡解决方案。而HAProxy则更为多才多艺,不仅能在第四层提供负载均衡,还能扩展至第七层,即应用层。HAProxy的这种灵活性允许它执行更加精细化的负载均衡策略,比如基于应用程序的负载均衡、基于URL的请求分发,以及对动态和静态内容的智能分离。 本次实验将专注于实现动静分离策略,并将其与之前介绍的 keepalived 结合起来,构建一个高度可用的动静分离负载均衡架构。这样,我们既保证了系统的高可用性,又通过HAProxy提升了请求处理的效率和速度。 一,实验背景 使用了6台虚拟机分别作为:HA1/2 、HTTP1/2 、PHP1/2 (为了简化数据库都没装,IP是自动分配的),最后客户端使用物理机。 Client:物理机(VMnet8)192.168.229.1 HA1:192.168.229.133 HA2:192.168.229.148 HTTP1:192.168.229.144 HTTP2:192.168.229.145 PHP1:192.168.229.146 PHP2:192.168.229.147 PS:注意要关闭防火墙和SELinux 二,实验步骤 2.1,安装与配置 Keepalived 在HA1-2之间配置keepalived来保证场景的高可用 #安装keepalived yum install keepalived.x86_64 -y #编辑配置keepalived文件 vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id HA1 #两边不一样。 } vrrp_instance VI_1 { state MASTER #另外一台机器是BACKUP interface ens33 #心跳...

LVS-DR + Keepalived 搭建负载均衡

图片
接上一篇: LVS-DR实验记录 前言 :LVS前面说了,这里只简单说一下Keepalived吧 简介 :Keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。主要用于提高基于TCP/IP(如HTTP、HTTPS等)服务的可用性。它通常与LVS(Linux Virtual Server)一起使用,但也可以独立用于其他类型的TCP/UDP服务。 Keepalived主要功能: 高可用性 :通过虚拟路由冗余协议(VRRP)实现高可用性。VRRP是一种遵循标准的协议,用于实现网络路径的故障转移。 负载均衡 :与LVS集成,提供基于IP包的负载均衡。 健康检查 :对应用程序或服务进行健康检查,以监测服务状态,并根据结果进行故障转移。 一,实验背景 1.1,使用了4台VMware虚拟机分别作为:LVS-DR1/2、RS1/2;而Client端我尝试用物理机。具体IP划分如下: Client:物理机(VMnet8) 192.168.229.1 VIP( lo:0 ): 192.168.229.200 LVS1(ens33): 192.168.229.133 LVS2(ens33): 192.168.229.135 RS1-WEB1: 192.168.229.142 RS2-WEB2: 192.168.229.143 PS:注意要关闭防火墙和SELinux 1.2,在2台LVS-DR上启用路由转发、4台虚拟机上都添加VIP [root@lvs-dr ~]#sysctl net.ipv4.ip_forward #查看是否开启路由转发 [root@lvs-dr ~]#net.ipv4.ip_forward = 0 #“0”代表没有开启 [root@lvs-dr ~]#vim /etc/sysctl.conf #开启转发功能 [root@lvs-dr ~]#net.ipv4.ip_forward = 1 #添加进去 [root@lvs-dr ~]#sysctl -p #使生效,"1"代表开启成功 ifconfig ...