当前位置: 首页 > news >正文

快速掌握源码部署Filebeat

文章目录

  • 1. 裸金属安装
    • 1.1 压缩包方式安装
    • 1.2 yum方式安装
  • 2. docker安装
  • 3. K8s安装

项目使用了Filebeat,现在需要运行在ARM架构的服务器上,但是Filebeat官方没有提供,需要自己编译一份
filebeat等组件的源码地址 https://github.com/elastic/beats ,可以选择需要的版本,然后下载ZIP包来使用,也可以按照下面步骤直接git下载
编译filebeat需要go语言环境,先安装go环境

#创建工作目录
mkdir -p /opt/gowork#安装go和git  命令
yum install -y go git#设置环境变量
echo "export GOROOT=/usr/lib/golang" >> /etc/profile
echo "export GOBIN=\$GOROOT/bin" >> /etc/profile
echo "export GOPATH=/opt/gowork" >> /etc/profile
echo "export PATH=\$PATH:\$GOROOT:\$GOBIN:\$GOPATH" >> /etc/profile#刷新环境变量
. /etc/profile#测试go是否成功,查看env中GOPATH是否生效
go version
go envmkdir -p ${GOPATH}/src/github.com/elastic
cd ${GOPATH}/src/github.com/elastic
# 我需要的6.8版本,根据实际情况确定分支
git clone -b 6.8 https://github.com/elastic/beats.git

下载完之后进入filebeat目录,如果编译其他组件就进其他目录,然后执行编译命令

cd beats/filebeatmake

我们启动一下试试,正常使用会根据需要修改filebeat.yml,我们现在只试试能不能正常启动,简单改了,将log的enabled改成true,其他都默认了
在这里插入图片描述
K8s部署filebeat

1. 裸金属安装

注:以linux系统为例,filebeat版本为7.17

1.1 压缩包方式安装

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.5-linux-x86_64.tar.gz
tar xzvf filebeat-7.17.5-linux-x86_64.tar.gz -C /root/
mv /root/filebeat-7.17.5 /usr/local/filebeat启动
/usr/local/filebeat/bin/filebeat -e -c filebeat.yml

1.2 yum方式安装

导入KEY
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
创建elastic.repo文件
cd /etc/yum.repo.d/vim elastic.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安装
sudo yum install filebeat -y启动
systemctl start filebeat

2. docker安装

拉取filebeat镜像
docker pull docker.elastic.co/beats/filebeat:7.13.3下载filebeat配置文件
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.13/deploy/docker/filebeat.docker.yml启动容器
docker run  docker.elastic.co/beats/filebeat:7.13.3 \ 
setup -E setup.kibana.host=x.x.x.x:5601 \ 
-E output.elasticsearch.hosts=["x.x.x.x:9200"]
说明:执行setup命令,安装filebeat的indexdocker run -d --name=filebeat \ 
--user=root \ 
-v /filebeat/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro \ 
-v /var/run/docker.sock:/var/run/docker.sock:ro \ 
-v /data/log:/logs/tomcat \ 
docker.elastic.co/beats/filebeat:7.13.3 filebeat -e -strict.perms=false

说明:一定要映射日志文件路径,区分宿主机日志路径(/data/log)和容器日志路径(/logs/tomcat)

3. K8s安装

下载manifest file
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.17/deploy/kubernetes/filebeat-kubernetes.yaml修改文件
Filebeat的输出为es,将以下es地址修改为你的es集群地址- name: ELASTICSEARCH_HOSTvalue: elasticsearch
- name: ELASTICSEARCH_PORTvalue: "9200"
- name: ELASTICSEARCH_USERNAMEvalue: elastic
- name: ELASTICSEARCH_PASSWORDvalue: changeme以root用户运行容器securityContext:runAsUser: 0privileged: trueFilebeat账户授权
oc adm policy add-scc-to-user privileged system:serviceaccount:kube-system:filebeat部署
kubectl create -f filebeat-kubernetes.yaml查看状态
$ kubectl --namespace=kube-system get ds/filebeatNAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE-SELECTOR   AGE
filebeat   32        32        0         32           0           <none> 
http://www.lryc.cn/news/505303.html

相关文章:

  • C++ 哈希表封装unordered_map 和 unordered_set
  • pymysql 入门
  • Leecode刷题C++之形成目标字符串需要的最少字符串数①
  • Linux应用开发————mysql数据库
  • 4_使用 HTML5 Canvas API (3) --[HTML5 API 学习之旅]
  • docker build次数过多,导致磁盘内存不足:ERROR: no space left on device
  • LDO和DC-DC的区别、DCDC和LDO主要指标
  • LeetCode hot100-81
  • RTMP、RTSP、RTP、HLS、MPEG-DASH协议的简介,以及应用场景
  • 力扣-图论-15【算法学习day.65】
  • “AI智慧数字孪生系统:开启智能新纪元
  • 54、库卡机器人轴的软限位设置
  • 基于MATLAB 的数字图像处理技术总结
  • Android运行低版本项目可能遇到的问题
  • window.getSelection() 获取划线内容并实现 dom 追随功能
  • 【人工智能】基于Python的自然语言处理:深入实现文本相似度计算
  • 布局、组成部分
  • Go, Jocko, Kafka
  • CANoe 报文仿真
  • 升级thinkphp8最新版本,升级后发现版本不变
  • 工业大数据分析算法实战-day07
  • 六、nginx负载均衡
  • 鸿蒙项目云捐助第十一讲鸿蒙App应用的捐助成功自定义对话框组件实现
  • 华为云联合中国信通院发布首个云计算智能化可观测性能力成熟度模型标准
  • 如何评估呼叫中心大模型呼出机器人的使用效果?
  • ARM/Linux嵌入式面经(六一):联合汽车电子
  • unity 雷达
  • 单元测试知识总结
  • Android:使用Service处理息屏后的WebSocket的服务端推送消息并传递给前端
  • Git Bash Here 中文显示乱码的处理方法