# transforms.conf

#############
# CIM various
#############

[inventory_network_interface]
REGEX = BBB\w*,[^,]*,ifconfig,\"(?<interface>[a-zA-Z]{1,}\d{1,})
FORMAT = interface::$1
MV_ADD = true

[inventory_network_ip]
REGEX = BBB\w*,[^,]*,ifconfig,\"\sinet\s(?:addr:)?(?<ip>[\d|\.]*)\s
FORMAT = ip::$1
MV_ADD = true

# Linux only
[inventory_network_mac]
REGEX = BBB\w*,[^,]*,ifconfig,\".*HWaddr\s([0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2})
FORMAT = mac::$1
MV_ADD = true

#########
# lookups
#########

#
# NMON Inventory Lookup Table
#

[nmon_inventory]
external_type = kvstore
collection = kv_nmon_inventory
fields_list = hostname, OStype, OSversion, Physical_mem_MB, Virtual_mem_MB, AIX_Machine_SerialNumber, AIX_virtualcpus, AIX_logicalcores, AIX_entitled, AIX_LEVEL, AIX_processor_mode, AIX_processor_clockspeed, AIX_cpu_type, AIX_kernel_type, AIX_plateform_firmware_level, AIX_PoolID, AIX_system_installed_CPUs, AIX_system_active_CPUs, AIX_PoolCPUs, AIX_memory_MB, AIX_pagingspace_MB, Linux_memory_MB, Linux_swap_MB, Linux_distribution, Linux_vendor, Linux_kernelversion, Solaris_version, Solaris_sunOS_version, Solaris_processor_clockspeed, Solaris_physical_memory_MB, Processor, cpu_cores, cpu_logicalcores, nmon_version, uptime_seconds, uptime_duration, system_startup_date, reporting_date

#
# Data dictionary
#

# Static data dictionary for VM Linux
[static_dictionary_VM_Linux]
filename = static_dictionary_VM_Linux.csv

#
# ALERTING MANAGEMENT
#

### Threshold and exclusion management:

# nmon alerting threshold template management
[nmon_alerting_threshold_template]
external_type = kvstore
collection = kv_nmon_alerting_threshold_template
fields_list = _key, frameID, alert_cpu_max_percent, alert_cpu_min_time_seconds, alert_physical_memory_max_percent, alert_physical_memory_min_time_seconds, alert_virtual_memory_max_percent, alert_virtual_memory_min_time_seconds

# nmon alerting threshold management
[nmon_alerting_threshold]
external_type = kvstore
collection = kv_nmon_alerting_threshold
fields_list = _key, frameID, serialnum, host, alert_cpu_max_percent, alert_cpu_min_time_seconds, alert_physical_memory_max_percent, alert_physical_memory_min_time_seconds, alert_virtual_memory_max_percent, alert_virtual_memory_min_time_seconds

# nmon alerting threshold template management for file-systems
[nmon_alerting_threshold_template_filesystem]
external_type = kvstore
collection = kv_nmon_alerting_threshold_template_filesystem
fields_list = _key, frameID, mount, alert_fs_max_percent, alert_fs_min_time_seconds, is_shared
case_sensitive_match=false
match_type = WILDCARD(mount),WILDCARD(frameID)

# nmon alerting threshold management for file-systems
[nmon_alerting_threshold_filesystem]
external_type = kvstore
collection = kv_nmon_alerting_threshold_filesystem
fields_list = _key, frameID, serialnum, host, mount, alert_fs_max_percent, alert_fs_min_time_seconds
case_sensitive_match=false
match_type = WILDCARD(mount)

# File systems excluding for file systems usage alerting
# 3 collections are available:
# - nmon_alerting_filesystem_global_exclusion: will be applied for all systems to exclude file systems
# - nmon_alerting_filesystem_template_exclusion: will be applied for matched systems to exclude file systems
# - nmon_alerting_filesystem_per_server_exclusion: file system exclusion on per server basis

[nmon_alerting_filesystem_global_exclusion]
external_type = kvstore
collection = kv_nmon_alerting_filesystem_global_exclusion
fields_list = _key, mount, exclude
case_sensitive_match=false
match_type = WILDCARD(mount)

[nmon_alerting_filesystem_template_exclusion]
external_type = kvstore
collection = kv_nmon_alerting_filesystem_template_exclusion
fields_list = _key, frameID, mount, exclude
case_sensitive_match=false
match_type = WILDCARD(mount)

[nmon_alerting_filesystem_per_server_exclusion]
external_type = kvstore
collection = kv_nmon_alerting_filesystem_per_server_exclusion
fields_list = _key, frameID, serialnum, host, mount, exclude
case_sensitive_match=false
match_type = WILDCARD(mount)

# NMON metric catalog
# this lookup table contains the metric catalog definition, to be used by several interfaces to dynamically define metrics parameters
[nmon_metric_catalog]
filename = nmon_metric_catalog.csv

# NMON hosts by day
# This lookup is a very simple lookup table used to store the state of the number of hosts known to the Nmon application
# We use this lookup in the "Hosts with data within last 7 days" reports for optimization purposes
# Instead of searching for the last 7 days of data, each day slice (but the current day) is retrieved from the lookup
[nmon_hosts_last_7days]
external_type = kvstore
collection = kv_nmon_hosts_last_7days
fields_list = _key, _time, dcount

# NMON usual usage for main system metrics, known as the Nmon baseline
# Note: Why multiple collection ? Initially, the first baseline implementation was based on one unique collection
# But data of volume to manage is terribly high to generate the baseline, that's why i've decided to split the baseline into multiple to allow
# using existing data models

[nmon_baseline_CPU_ALL]
external_type = kvstore
collection = kv_nmon_baseline_CPU_ALL
fields_list = _key, date_wday, local_time, frameID, hostname, lower_baseline_avg_cpu, baseline_avg_cpu, upper_baseline_avg_cpu

[nmon_baseline_LPAR]
external_type = kvstore
collection = kv_nmon_baseline_LPAR
fields_list = _key, date_wday, local_time, frameID, hostname, lower_baseline_avg_vp_usage, baseline_avg_vp_usage, upper_baseline_avg_vp_usage, lower_baseline_avg_pool_usage, baseline_avg_pool_usage, upper_baseline_avg_pool_usage

[nmon_baseline_MEM]
external_type = kvstore
collection = kv_nmon_baseline_MEM
fields_list = _key, date_wday, local_time, frameID, hostname, lower_baseline_avg_real_mem, baseline_avg_real_mem, upper_baseline_avg_real_mem, lower_baseline_avg_virtual_mem, baseline_avg_virtual_mem, upper_baseline_avg_virtual_mem

[nmon_baseline_DISKXFER]
external_type = kvstore
collection = kv_nmon_baseline_DISKXFER
fields_list = _key, date_wday, local_time, frameID, hostname, lower_baseline_avg_disk_iops, baseline_avg_disk_iops, upper_baseline_avg_disk_iops

[nmon_frameID_mapping]
external_type = kvstore
collection = kv_nmon_frameID_mapping
fields_list = _key, serialnum, frameID, host, host_description
