Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch FileBeat:仅主机字段显示为JSON,而不是字符串_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Filebeat - Fatal编程技术网 elasticsearch FileBeat:仅主机字段显示为JSON,而不是字符串,elasticsearch,filebeat,elasticsearch,Filebeat" /> elasticsearch FileBeat:仅主机字段显示为JSON,而不是字符串,elasticsearch,filebeat,elasticsearch,Filebeat" />

elasticsearch FileBeat:仅主机字段显示为JSON,而不是字符串

elasticsearch FileBeat:仅主机字段显示为JSON,而不是字符串,elasticsearch,filebeat,elasticsearch,Filebeat,我正在从事Filebeat的工作,我正在将数据从应用程序和系统日志推送到AWS上的ES域。它工作正常,只是主机字段作为一个类型显示为JSON而不是纯文本。我检查了fields.yml文件,但没有使用JSON作为输出的对主机的引用 filebeat.yml: filebeat.inputs: - type: log paths: - /var/log/nginx/*.log fields: type: develop.gateway.nginx.log enviro

我正在从事Filebeat的工作,我正在将数据从应用程序和系统日志推送到AWS上的ES域。它工作正常,只是主机字段作为一个类型显示为JSON而不是纯文本。我检查了fields.yml文件,但没有使用JSON作为输出的对主机的引用

filebeat.yml:

filebeat.inputs:
- type: log
  paths:
    - /var/log/nginx/*.log
  fields:
    type: develop.gateway.nginx.log
    environment: develop.gateway
    service: nginx
  document_type: filebeat.develop.gateway
  registry: /var/lib/filebeat/registry

- type: log
  paths:
    - /var/www/html/api-gateway/deploy/var/log/*.log
  fields:
    type: develop.gateway.application.log
    environment: develop.gateway.application
    service: gateway
  document_type: filebeat.gateway.develop
  registry: /var/lib/filebeat/registry

- type : log
  paths:
    - /var/log/php*.log
  fields:
    type: develop.1c.php-fpm.log
    environment: develop.1c
    service: php-fpm
  document_type: filebeat.php-fpm.1c
  registry: /var/lib/filebeat/registry

output.elasticsearch:
  hosts: ["OUR_DOMAN"]
  protocol: "https"

您可以像我在这里所做的那样从负载中选择主机名:

output.kafka:
  ...
  codec.format:
    string: '{"version":"1.1","timestamp":"%{[@timestamp]}","short_message":"%{[message]}","file":"%{[log.file.path]}","host":"%{[host.hostname]}"}'
  ...

问题是什么?您是否希望主机
是一个字符串?请粘贴一份示例文档(来自Elasticsearch)。您还可以添加索引映射。
host
字段是一个JSON对象,导出的字段将取决于您使用的节拍。您的问题是什么?@leandrojmp:我可以更改该字段以字符串形式传递数据吗?如果是这样的话,怎么做?如果只有filebeat,我想你不能,你需要使用logstash和一些变异过滤器。我在哪里添加这个?在filebeat.yml?那就是我的位置。我主要想展示dot函数来从json有效负载中提取信息:)