Мы используем Приложение Splunk для инфраструктуры (SAI) для анализа узлов кластера hadoop, используя Плагин Apache Hadoop для сбора данных от SignalFx.
Мы попытались настроить collectd для отправки метрик в Splunk с помощью плагина write_http
или write_splunk
.
Мы столкнулись с проблемой извлечения пользовательских dimension
s из метрик.
Нам нужно не только «статическое» измерение для всех метрик, которые мы можем настроить в плагине collectd:
<Plugin write_splunk>
...
Dimension "key1:value1"
</Plugin>
но также хотел бы отправить «динамическое» измерение, такое как: id
, user
, name
, queue
, state
и некоторые другие из API приложений кластера , все вместе более 10 измерений.
Если мы используем плагин write_http
, у нас возникает проблема с извлечением измерения, как описано в другом вопросе:
Как извлечь пользовательские размеры из plugin_instance, когда мы используем collectd?
Когда мы используем плагин write_splunk
, наш metric_name
выглядит так:
apache_hadoop.[id:application_1555643048019_55088,user:hive,queue:root.project_name,state:FINISHED].gauge.hadoop.resource.manager.apps.allocatedMB
Похоже, plugin_instance
измерение из плагина collectd добавлено к имени метрики. И это похоже на то, как statsd добавляет измерение к metric_name
.
Мы бы хотели извлечь метрику формы измерения следующим образом:
app_id=application_1555643048019_55088
user=hive
queue=root.project_name
state=FINISHED
Мы попытались извлечь измерение, как описано в Примеры настройки извлечения измерения , используя следующую конфигурацию:
# props.conf.example
[em_metrics]
METRICS_PROTOCOL = statsd
STATSD-DIM-TRANSFORMS = user, queue, app_id, state
# transforms.conf.example
[statsd-dims:user]
REGEX = (\Quser:\E(?<user>.*?)[\Q,\E\Q]\E])
REMOVE_DIMS_FROM_METRIC_NAME = true
...
И у нас это не работает.
Можете ли вы дать какой-либо совет, как извлечь пользовательское измерение из метрик в Splunk App для инфраструктуры во время индексации?