Download installation package (exe) from last release page and install it
brew install https://raw.githubusercontent.com/synacker/daggy_homebrew/master/daggy.rb
sudo dnf install daggy daggy-devel
Download rpm/deb package from last release page and install it
All daggy dependencies (Qt5, libssh2, libyaml-cpp) are included into separate dir and does not effect system applications.
Conan, cmake, git and C++ compiler.
git clone https://github.com/synacker/daggy.gitmkdir buildcd buildconan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conanconan install ../daggy --build=missingconan build ../daggycmake install
daggy --helpUsage: daggy [options] *.yaml|*.yml|*.jsonOptions:-o, --output <folder> Set output folder-f, --format <json|yaml> Source format-i, --stdin Read data aggregation sources from stdin-t, --timeout <time in ms> Auto complete timeout-h, --help Displays help on commandline options.--help-all Displays help including Qt specific options.-v, --version Displays version information.Arguments:file data aggregation sources file
simple.yamlsources:localhost:type: localcommands:pingYa:exec: ping ya.ruextension: log
simple.json{"sources": {"localhost": {"commands": {"pingYa": {"extension": "log","exec": "ping ya.ru"}},"type": "local"}}}
daggy simple.yaml
daggy simple.json
23:07:23:977 | AppStat | Start aggregation in 01-04-20_23-07-23-977_simple23:07:23:977 | ProvStat | localhost | New state: Started23:07:23:977 | CommStat | localhost | pingYa | New state: Starting23:07:23:977 | CommStat | localhost | pingYa | New state: Started
There are all commands from simple.yaml/simple.json are streams in 01-04-20_23-07-23-977_simple with output files
tail -f 01-04-20_23-07-23-977_simple/*64 bytes from ya.ru (87.250.250.242): icmp_seq=99 ttl=249 time=21.2 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=100 ttl=249 time=18.8 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=101 ttl=249 time=23.5 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=102 ttl=249 time=18.8 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=103 ttl=249 time=18.8 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=104 ttl=249 time=17.4 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=105 ttl=249 time=17.4 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=106 ttl=249 time=20.1 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=107 ttl=249 time=25.8 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=108 ttl=249 time=35.1 ms64 bytes from ya.ru (87.250.250.242): icmp_seq=109 ttl=249 time=21.1 ms
Type CTRL+C for stopping data aggregation and streaming. Type CTRL+C twice for hard stop application, without waiting cancelation of child local and remote processes.
23:07:23:977 | AppStat | Start aggregation in 01-04-20_23-07-23-977_simple23:07:23:977 | ProvStat | localhost | New state: Started23:07:23:977 | CommStat | localhost | pingYa | New state: Starting23:07:23:977 | CommStat | localhost | pingYa | New state: Started^C23:17:56:667 | ProvStat | localhost | New state: Finishing23:17:56:668 | CommStat | localhost | pingYa | New state: Finished. Exit code: 023:17:56:668 | ProvStat | localhost | New state: Finished23:17:56:668 | AppStat | Stop aggregation in 01-04-20_23-07-23-977_simple
ls -l 01-04-20_23-07-23-977_simple/-rw-r--r-- 1 muxa muxa 45574 апр 1 23:17 localhost-pingYa.log
multiple_and_remote.yamlaliases:- &my_commandspingYa:exec: ping ya.ruextension: logpingGoo:exec: ping goo.glextension: log- &ssh_authuser: muxakey: /home/muxa/.ssh/id_rsasources:localhost:type: localcommands: *my_commandsremotehost:host: 192.168.1.9type: ssh2parameters: *ssh_authcommands: *my_commandsremotehost2:host: 192.168.1.9type: ssh2parameters: *ssh_authcommands: *my_commandsremotehost3:host: 192.168.1.9type: ssh2parameters: *ssh_authcommands: *my_commands
multiple_and_remote.json{"sources": {"remotehost3": {"parameters": {"user": "muxa","key": "/home/muxa/.ssh/id_rsa"},"commands": {"pingYa": {"extension": "log","exec": "ping ya.ru"},"pingGoo": {"extension": "log","exec": "ping goo.gl"}},"type": "ssh2","host": "192.168.1.9"},"remotehost2": {"parameters": {"user": "muxa","key": "/home/muxa/.ssh/id_rsa"},"commands": {"pingYa": {"extension": "log","exec": "ping ya.ru"},"pingGoo": {"extension": "log","exec": "ping goo.gl"}},"type": "ssh2","host": "192.168.1.9"},"remotehost": {"parameters": {"user": "muxa","key": "/home/muxa/.ssh/id_rsa"},"commands": {"pingYa": {"extension": "log","exec": "ping ya.ru"},"pingGoo": {"extension": "log","exec": "ping goo.gl"}},"type": "ssh2","host": "192.168.1.9"},"localhost": {"commands": {"pingYa": {"extension": "log","exec": "ping ya.ru"},"pingGoo": {"extension": "log","exec": "ping goo.gl"}},"type": "local"}}}