yaml
conceptos básicos
- diccionarios:
key: value
- listas:
- item
elastic?
namespacing
output.elasticsearch.index: …
output: elasticsearch: index: 'beat-%{[beat.version]}-%{+yyyy.MM.dd}'
filebeat.inputs.0.type: log
filebeat: inputs: - type: log
data types
- boolean
- number
- string:
- comillas dobles (permite escapar caracteres, implica escapar las comillas y la barra invertida)
- comillas simnples (no permite escapar caracteres)
- sin comillas (no permite escapar caracteres, ojo con caracteres con significado en YAML)
- duration:
- valor numérico + unidad → ns, us, ms, s, m, h
- regex
- recomendado entre comillas simples
- format string
- permite referenciar variables → %{<variable>:valor_defecto}
- también [variable]
variables de entorno
${VAR}
: definición${VAR:default_value}
: definición con valor por defecto${VAR:?error_text}
: se añade error_text al mensaje de error si no se puede acceder a ${VAR}ES_HOSTS="10.45.3.2:9220,10.45.3.1:9230" se convierte en lista: output.elasticseach: hosts: '${ES_HOSTS}'
variables referenciadas
- pasando por línea de comando
-E es-host=another-host
:#establece localhost por defecto si no se le pasa variable es.host: '${ES_HOST:localhost}' output.elasticsearch: hosts: ['http://${es.host}:9200']
- sustituciones de bloque:
namespace1: subnamespace: host: localhost sleep: 1s namespace2: subnamespace: host: localhost sleep: 1s
por
namespace1: ${shared} namespace2: ${shared} shared: subnamespace: host: localhost sleep: 1s
test
beatname test config -c beatname.yml