IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 【ELK】metricbeat扩展自定义配置字段 -> 正文阅读

[系统运维]【ELK】metricbeat扩展自定义配置字段

一、增加config.go

? ? ? ? ? 在上文中创建的module中,在flow目录中增加config.go,代码示例:

package flow

type config struct {
        NETCARD string `config:"flow.NETCARD"`
}

func defaultConfig() config {
        return config{
                // 设置默认值,如果在配置文件中不配置该字段值,该字段默认值为ens33
                NETCARD: "ens33",
        }
}

二、完善flow.go文件

// 在metricset结构体中增加config字段

type MetricSet struct {
        mb.BaseMetricSet
        // 增加config
        config     config

        counter int
}


// 在new函数中读取配置文件
func New(base mb.BaseMetricSet) (mb.MetricSet, error) {
        cfgwarn.Beta("The domain flow metricset is beta.")

        //config := struct{}{}

        // 读取配置文件
        config := defaultConfig()

        if err := base.Module().UnpackConfig(&config); err != nil {
                return nil, err
        }

        return &MetricSet{
                BaseMetricSet: base,
                config:        config,
                counter:       1,
        }, nil
}


// 在fetch函数中引用NETWORK字段

func (m *MetricSet) Fetch(report mb.ReporterV2) error {
        report.Event(mb.Event{
                MetricSetFields: common.MapStr{
                        "VALUE":  "test_create_module",
                        // 引用NETWORK字段
                        "NETWORKCARD": m.config.NETCARD,
                        "counter": m.counter,
                },
        })
        m.counter++

        return nil
}

三、设置配置文件

- module: domain
  enabled: true
  period: 10s
  // 设置自定义字段值
  flow.NETCARD: "ens22"
  metricsets:
    - flow

四、验证:

根据发出日志可以看到,配置文件中自定义字段值已经读取到并且成功发送,说明自定义字段创建成功。?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 21:01:04  更:2022-03-22 21:04:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:59:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码