Data Aggregation Config

How to setup data sources for Daggy

Supported formats

Daggy supports yaml and json formats. In yaml repeated nodes can be grouped by yaml standard.

Data sources template

YAML
JSON
sources:
host1:
#....
host2:
#....
#....
hostN:
#....
{
"host1" : {
},
"host2" : {
},
"hostN" : {
}
}

Each config conatins map of hosts. Host (data source) parameters is next:

Parameter

Type

Description

Is Requiered

type

string

Type of connection to host. Daggy supportes local and ssh host connection types

Yes

commands

array

Array of commands for simultaneous launch

Yes

connection

map

Connection parameters

Required for ssh type

host

string

Host address (ip or url)

Required for ssh type

reconnect

boolean

true, if need reconnect connection

No

Data sources types

Daggy supportes local and ssh host connection types.

Local type

YAML
JSON
sources:
localhost:
type: local
commands:
- name: pingYa
command: ping ya.ru
extension: log
restart: false
{
"localhost": {
"type": "local",
"commands": {
"pingYa": {
"command": "ping ya.ru",
"extension": "log"
}
}
}
}

SSH type

YAML
JSON
remotehost:
type: ssh
host: 192.168.1.9
restart: false
connection:
login: muxa
key: /home/muxa/.ssh/id_rsa
commands:
- name: pingYa
command: ping ya.ru
extension: log

{
"localhost": {
"type": "ssh",
"host": "192.169.1.9",
"restart": false,
"connection": {
"login": "muxa",
"key": "/home/muxa/.ssh/id_rsa"
},
"commands": {
"pingYa": {
"command": "ping ya.ru",
"extension": "log"
}
}
}
}

SSH type additional parameters

  • host - remote host ip address or url

  • connection - map of ssh connection parameters. Includes next parameters

Connection Parameter

Type

Description

Default value

login

string

ssh connection login

daggy user

password

string

ssh connection password. If empty, daggy will expect key field

key

string

path to private key for ssh connection

~/.ssh/id_rsa

port

integer

ssh connection port

22

timeout

integer

limit to establish ssh connection, in seconds

2

ignoreProxy

boolean

if true, daggy will ignore default proxy

true

strictConformance

boolean

if true, enable ssh protocol compatibility

true

forceKill

integer

kill signal for remote process before connection close. If -1 no signals will be send

15 (SIGTERM)

Commands

YAML
JSON
commands:
- name: pingYa
command: ping ya.ru
extension: log
restart: false
"commands": {
"pingYa": {
"command": "ping ya.ru",
"extension": "log"
}
}

Each command must contain:

  • name - unique within host command identifier, using in command output file name template.

  • command - shell script

  • extension - extension for command output file

  • restart - restart command if it finished