日志收集分析平台搭建-3

目录

一、kafka的安装和配置

1、安装fakafa

2、安装zookeeper

3、配置kafka

 4、配置zookeeper 

 5、查看状态

 6、启动kafka

7、连接zookeeper

 二、zookeeper

1、测试

2、Zookeeper的作用

三、filebeat

1、filebeat部署

2、新建和编辑 vim /etc/yum.repos.d/fb.repo文件

3、yum安装filebeat

4、设置开机自启

5、配置filebeat

6、创建主题nginxlog

7、启动服务

8、filebeat数据文件


一、kafka的安装和配置

1、安装fakafa

# 首先要安装java,因为kafka是java语言编写的
yum install java wget  -y
# 在/opt目录下安装kafka 
wget https://mirrors.bfsu.edu.cn/apache/kafka/2.8.1/kafka_2.12-2.8.1.tgz 
# 解压kafka包到/opt目录下
tar xf kafka_2.12-2.8.1.tgz
# 修改环境变量PATH,添加kafka的bin目录
echo "PATH=$PATH:/opt/kafka_2.12-2.8.1/bin/" >>/root/.bashrc

2、安装zookeeper

# 在/opt目录下安装zookeeper
wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
# 解压zookeeper包到/opt目录下
tar zxvf apache-zookeeper-3.6.3-bin.tar.gz

3、配置kafka

# 修改kafka的配置文件
cd /opt/kafka_2.12-2.8.1/config
# 修改config/server.properties文件内容
broker.id=0    #随机,但不能冲突,可以是主机名的最后一位
listeners=PLAINTEXT://nginx-kafka01:9092    # 这里要和主机名保持一致
zookeeper.connect=192.168.206.161:2181,192.168.206.162:2181,192.168.206.163:2181    # 添加所有kafka集群的ip地址

 4、配置zookeeper 

# 修改PATH变量
echo "PATH=/opt/apache-zookeeper-3.6.3-bin/bin:$PATH" >>/root/.bashrc
# 进入/opt/apache-zookeeper-3.6.3-bin/confs,根据样例配置,生成一个主配置文件
cp zoo_sample.cfg zoo.cfg
# 在zoo.cfg配置文件后面追加如下三行:
# 3888和4888都是端口  一个用于数据传输,一个用于检验存活性和选举
server.1=192.168.206.161:3888:4888
server.2=192.168.206.162:3888:4888
server.3=192.168.206.163:3888:4888

创建/tmp/zookeeper目录 ,在目录中添加myid文件,文件内容就是本机指定的zookeeper id内容 示例如下:

# 在myid文件里写入和zoo.cfg配置文件里的ip对应的server数字
# 在192.168.206.161机器上
echo 1 > /tmp/zookeeper/myid
# 在192.168.206.162机器上
echo 2 > /tmp/zookeeper/myid
# 在192.168.206.163机器上
echo 3 > /tmp/zookeeper/myid

 5、查看状态

[root@nginx-kafka03 apache-zookeeper-3.6.3-bin]# bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

 注意:开启zk和kafka的时候,一定是先启动zookeeper,再启动kafka 关闭服务的时候,kafka先关闭,再关闭zookeeper。

 6、启动kafka

[root@nginx-kafka01 kafka_2.12-2.8.1]# bin/kafka-server-start.sh -daemon config/server.properties

7、连接zookeeper

[root@nginx-kafka01 apache-zookeeper-3.6.3-bin]# bin/zkCli.sh

 二、zookeeper

zookeeper是一个分布式、开源的配置管理服务。

kafka版本: 2.8.1

zookeeper版本: 3.6.3

机器存活半数 ,少数服从多数。

端口说明:

2181:对终端提供服务

3888:提供集群交互的

2888:提供检验数据存活

1、测试

# 创建topic

bin/kafka-topics.sh --create --zookeeper 192.168.206.161:2181 --replication-factor 3 --partitions 3 --topic sc

# 查看topic

bin/kafka-topics.sh --list --zookeeper 192.168.206.161:2181
# 创建生产者

[root@localhost kafka_2.12-2.8.0]# bin/kafka-console-producer.sh --broker-list 192.168.206.161:9092 --topic sc

# 创建消费者

[root@localhost kafka_2.12-2.8.0]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.206.161:9092 --topic sc --from-beginning

 如上示例,当生产者能生产、消费者能消费时,代表success。

2、Zookeeper的作用

保存kafka的元数据( topic、副本信息、选举controller ) 选一个kafka集群controller来协调副本的leader、follower的选举; controller是如何产生的? 通过抢占的方式选举,先到先得。

[zk: localhost:2181(CONNECTED) 8] get /controller {"version":1,"brokerid":0,"timestamp":"1642300717047"}

三、filebeat

filebeat 相当于一个收集机器,监控nginx日志,日志一旦发生了变化就会涂到kafka里面去。

filebeat是Beats中的一员; Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

  • Packetbeat:网络数据(收集网络流量数据)
  • Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据) Filebeat:日志文件(收集文件数据,elk架构的一员)
  • Winlogbeat:windows事件日志(收集Windows事件日志数据)
  • Auditbeat:审计数据(收集审计日志)
  • Heartbeat:运行时间监控(收集系统运行时的数据)

Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

1、filebeat部署

# 安装源,导入官方的GPG-key文件
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2、新建和编辑 vim /etc/yum.repos.d/fb.repo文件

[elastic-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

3、yum安装filebeat

# yum安装filebeat
yum  install  filebeat -y
# 可以查看filebeat有没有安装  rpm -qa 是查看机器上安装的所有软件包
rpm -qa  |grep fileberat
# 查看filebeat安装到哪里去了,牵扯的文件有哪些
rpm -ql  filebeat

4、设置开机自启

systemctl enable filebeat

5、配置filebeat

# 修改配置文件/etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  # Change to true to enable this input configuration.
  enabled: true
  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/nginx/sc/access.log 
#==========------------------------------kafka-----------------------------------
output.kafka:
  hosts: ["192.168.206.161:9092","192.168.206.162:9092","192.168.206.163:9092"]
  topic: nginxlog
  keep_alive: 10s

注意:严格注意yml格式

6、创建主题nginxlog

bin/kafka-topics.sh --create --zookeeper 192.168.206.161:2181 --replication-factor 3 --partitions 1 --topic nginxlog

7、启动服务

# 启动filebeat服务
systemctl start  filebeat
# 查看服务是否启动
[root@nginx-kafka01 opt]# ps -ef |grep filebeat
root        5537       1  0 15:32 ?        00:00:08 /usr/share/filebeat/bin/filebeat --environment systemd -c /etc/filebeat/filebeat.yml --path.home /usr/share/filebeat --path.config /etc/filebeat --path.data /var/lib/filebeat --path.logs /var/log/filebeat

8、filebeat数据文件

[root@nginx-kafka01 filebeat]# pwd
/var/lib/filebeat/registry/filebeat
# 查看filebeat日志文件
[root@nginx-kafka01 filebeat]# less log.json

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值