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

沈阳网站建设58同城pckr wordpress

沈阳网站建设58同城,pckr wordpress,打开国外网站很慢怎么办,网站文章的作用目录 1 缘由2 编译filebeat3 配置虚拟机访问外网4 编译beats-output-http4.1 使用本地包4.2 发布在线包 5 测试6 beats-output-http的部分解释 1 缘由 官网的filebeat只有以下几种output插件: Elasticsearch ServiceElasticsearchLogstashKafkaRedisFileConsole …

目录

      • 1 缘由
      • 2 编译filebeat
      • 3 配置虚拟机访问外网
      • 4 编译beats-output-http
        • 4.1 使用本地包
        • 4.2 发布在线包
      • 5 测试
      • 6 beats-output-http的部分解释

1 缘由

官网的filebeat只有以下几种output插件:

  • Elasticsearch Service
  • Elasticsearch
  • Logstash
  • Kafka
  • Redis
  • File
  • Console

由于需要将数据推送到接口,需要能够支持类似logstash中的http插件。

2 编译filebeat

依照Beats的文档编译filebeat:

mkdir -p ${GOPATH}/src/github.com/elastic
git clone https://github.com/elastic/beats ${GOPATH}/src/github.com/elastic/beats

进入到beats根目录,执行make mage

最后进入到filebeat目录,执行mage build

3 配置虚拟机访问外网

在用golang编译时,可能需要从外部下载一些包,如果使用虚拟机,在默认情况下,宿主机可以科学上网,但是虚拟机不行,此时,可以使用宿主机作为虚拟机的代理。

  • 宿主机开启代理,例如,对于Clash来说,开启"允许局域网"和"TUN模式"
  • 在虚拟机中测试是否能够连接宿主机上的端口
  • 配置http_proxy和https_proxy环境变量

4 编译beats-output-http

按照文档,直接在beats/filebeat/main.go的import部分加上_ "github.com/raboof/beats-output-http/http",然后重新编译即可。

4.1 使用本地包

在进行编译时,发现会报错:

http/client.go:82:19: assignment mismatch: 2 variables but transport.TLSDialer returns 1 value

应该是libbeat中的代码有变化导致的,需要修改代码,将beats-output-http克隆到本地后,需要在编译时使用本地包,可以用两种方式:

  • 直接修改go.mod:在beats/go.mod中找到beats-output-http所在的行,然后在beats/go.mod文件最后增加一行replace github.com/luofengmacheng/beats-output-http v0.0.0-20230524012217-1e747e762355 => /root/src/github.com/elastic/beats/libbeat/outputs/http,其中,模块名和版本与之前找到的beats-output-http的行一致,后面的路径就是beats-output-http的路径(此处重命名为http)。
  • 使用go mod edit命令:go mod edit -require github.com/luofengmacheng/beats-output-http@v0.0.0-20230524012217-1e747e762355 -replace github.com/luofengmacheng/beats-output-http@v0.0.0-20230524012217-1e747e762355=/root/src/github.com/elastic/beats/libbeat/outputs/http

这里需要注意:不要删除beats/go.mod的require中的beats-output-http的行,否则会报错:and is replaced but not required

然后就可以进入filebeat目录进行编译了。

4.2 发布在线包

当需要对beats-output-http进行bug修复时,可以将beats-output-http从原来的仓库fork过来,然后进行bug修复。那么,在使用beats-output-http时就需要使用新的仓库,此时需要进行两个调整:

  • 修改beats-output-http/go.mod中的模块名,改成新的仓库路径
  • 创建tag

然后删除beats/go.mod中原来的模块信息,再进行编译。

5 测试

编译完成后,会在beats/filebeat目录下生成二进制文件filebeat,创建配置文件filebeat.yaml:

filebeat.inputs:- type: logenabled: truepaths:- /etc/kubernetes/audit/audit.logoutput:http:hosts: ["IP:HOST"]

测试:./filebeat run -c ./filebeat.yaml -e

6 beats-output-http的部分解释

http的output本身的实现是非常简单的,就是将数据推送到某个url,主要的工作就是要对接beats的配置和插件管理工作。

第一步:让beats知道有这样一个http插件

在libbeat的outputs包中,RegisterType()用于注册插件,其实就是将插件的名称和构造函数保存起来:

// beats-output-http/http/http.go
func init() {outputs.RegisterType("http", MakeHTTP)
}
// libbeat/outputs/output_reg.go
// RegisterType registers a new output type.
func RegisterType(name string, f Factory) {if outputReg[name] != nil {panic(fmt.Errorf("output type  '%v' exists already", name))}outputReg[name] = f
}

就是将插件的信息保存到内部的outputReg的map中,在初始化时就可以调用插件的构造函数。插件的构造函数就是解析配置,创建后端的Client对象。

第二步:Client的接口实现

filebeat调用构造函数完成初始化后,http插件就需要接收数据,然后实现具体的业务逻辑。

http://www.yayakq.cn/news/655645/

相关文章:

  • 有关于网站建设的参考文献哪些外国购物网站可以做
  • 做婚庆的网站有哪些内容一站式服务平台官网
  • 蛋糕网站模版做一个企业网站设计
  • 滑县住房和城乡建设局网站模板王字库
  • 用网站做自我介绍番禺市桥网站建设
  • 网站建设图片如何加载域名不变 新网站
  • 无锡建设主管部门网站wordpress add route
  • 医院网站怎么做优化排名广州企业网站设计制作
  • 整站seo服务广西智能网站建设制作
  • 晋江做任务的网站文创产品设计分析
  • 在网站后台备案号怎么改苏州知名高端网站建设网络公司
  • 舟山城乡建设培训中心网站东营市建设工程信息网
  • 腾讯云建站流程一级建造师找工作网站
  • 企业网站建设原因seo和sem是什么
  • 有自己的域名怎么建立网站网站建设的重点难点
  • 建设银行网站的支付流程长春小学网站建设
  • 网站空间怎么选择企业网站建设能解决什么问题
  • 网站页面设计内容做动图为所欲为的网站
  • 个商个体户可以建设网站不网站正在维护模板
  • 网站开发部门叫什么win7下使用wordpress
  • 什么是网站的用户体验网站换关键词
  • 手机网站公司国内著名网站建设公司
  • 辽宁网站建设哪里好找互联网站建设维护有关岗位
  • 一个服务器可以放多少网站网页设计代码如何写实训报告过程
  • 在手机上创建网站洞头住建局网站
  • 网站首页模板下载网络营销的期末试题及答案
  • 网站未备案wordpress链接100部看黄禁用免费在线
  • iis7搭建网站企业网站案例公司
  • 广州企业网站公司用vue做网站的实例
  • 下列关于网站开发中网页发布国外主流网站开发技术