Какую версию метрики вы используете? system.cpu.total.norm.pct является относительно новым полем и отсутствует в старых версиях metricsbeat.
Это может быть поле system.cpu.total.norm.pct, которое не является частью показателя метрики, или условие, когда system.cpu.total.norm.pct больше 0,1, не заполняется полностью.
Если вы хотите извлечь только одно поле, оно должно быть частью раздела include в _source, а не само условие, как показано ниже
curl -H "Content-Type: application/json" -X POST http://localhost:12001/metricbeat*/_search?pretty=true -d '{ "_source": {"includes": [ "system.cpu.total.norm.pct"]},"query":{"bool":{"must": [{"range": {"@timestamp": {"gte": "now-10m","lte": "now/m"}}}]}}}'
Пояснения к конфигурации модулей metricsbeat
Поскольку произошли изменения в metricbeat.reference.yml, позвольте мне объяснить, как metricsbeat читает конфиги для модулей ввода.
Metricsbeat по умолчанию читает metricbeat.yml.
В этом файле первый раздел - metricbeat.config.modules, который определяет все входные модули, которые он должен использовать
metricbeat.config.modules:
# Glob pattern for configuration loading
path: ${path.config}/modules.d/*.yml
, поэтому он включает все файлы в каталоге modules.d и имеет суффикс yml.
По умолчанию активен только system.yml, а для других файлов расширение отключено, поэтому они не являются частью активных модулей
modules.d/aerospike.yml.disabled
modules.d/apache.yml.disabled
modules.d/ceph.yml.disabled
modules.d/couchbase.yml.disabled
modules.d/docker.yml.disabled
modules.d/dropwizard.yml.disabled
modules.d/elasticsearch.yml.disabled
modules.d/envoyproxy.yml.disabled
modules.d/etcd.yml.disabled
modules.d/golang.yml.disabled
modules.d/graphite.yml.disabled
modules.d/haproxy.yml.disabled
modules.d/http.yml.disabled
modules.d/jolokia.yml.disabled
modules.d/kafka.yml.disabled
modules.d/kibana.yml.disabled
modules.d/kubernetes.yml.disabled
modules.d/kvm.yml.disabled
modules.d/logstash.yml.disabled
modules.d/memcached.yml.disabled
modules.d/mongodb.yml.disabled
modules.d/munin.yml.disabled
modules.d/mysql.yml.disabled
modules.d/nginx.yml.disabled
modules.d/php_fpm.yml.disabled
modules.d/postgresql.yml.disabled
modules.d/prometheus.yml.disabled
modules.d/rabbitmq.yml.disabled
modules.d/redis.yml.disabled
modules.d/system.yml
modules.d/traefik.yml.disabled
modules.d/uwsgi.yml.disabled
modules.d/vsphere.yml.disabled
modules.d/windows.yml.disabled
modules.d/zookeeper.yml.disabled
Как видите, только system.yml не имеет расширения .disabled и соответствует условию включаемого модуля path: ${path.config}/modules.d/*.yml
, поэтому он включен.
Вы можете перечислить все включенные и отключенные модули, запустив ниже commnad
$ ./metricbeat modules list
Enabled:
system
Disabled:
aerospike
apache
ceph
couchbase
docker
dropwizard
elasticsearch
envoyproxy
etcd
golang
graphite
haproxy
http
jolokia
kafka
kibana
kubernetes
kvm
logstash
memcached
mongodb
munin
mysql
nginx
php_fpm
postgresql
prometheus
rabbitmq
redis
traefik
uwsgi
vsphere
windows
zookeeper
и измените активный, чтобы отключить и отключить, выполнив команду, такую как ниже
$ ./metricbeat modules
Manage configured modules
Usage:
metricbeat modules [command]
Available Commands:
disable Disable one or more given modules
enable Enable one or more given modules
list List modules
Flags:
-h, --help help for modules
Global Flags:
-E, --E setting=value Configuration overwrite
-c, --c string Configuration file, relative to path.config (default "metricbeat.yml")
-d, --d string Enable certain debug selectors
-e, --e Log to stderr and disable syslog/file output
--path.config string Configuration path
--path.data string Data path
--path.home string Home path
--path.logs string Logs path
--plugin pluginList Load additional plugins
--strict.perms Strict permission checking on config files (default true)
-v, --v Log at INFO level
Так что, если вы хотите включить модуль kafka, это можно сделать, как показано ниже
$ ./metricbeat modules enable kafka
Enabled kafka
и затем проверьте, активен ли он
$ ./metricbeat modules list
Enabled:
kafka
system
Disabled:
aerospike
apache
ceph
couchbase
docker
dropwizard
elasticsearch
envoyproxy
etcd
golang
graphite
haproxy
http
jolokia
kibana
kubernetes
kvm
logstash
memcached
mongodb
munin
mysql
nginx
php_fpm
postgresql
prometheus
rabbitmq
redis
traefik
uwsgi
vsphere
windows
zookeeper
Как только вы запустите указанную выше команду, она переименует файл modules.d/kafka.yml.disabled
в modules.d/kafka.yml
, и вы сможете обновить измененные конфигурации, имеющиеся в modules.d/kafka.yml
Я надеюсь, что это объяснение поможет изменить конфигурации метрических битов.