{ consul: 'localhost:8500', jobs: [ { name: 'ui-toolkit', port: {{.PORT}}, exec: '../../node_modules/.bin/serve --single styleguide --port {{.PORT}}', health: { exec: '/usr/bin/curl -o /dev/null --fail -s http://localhost:{{.PORT}}', interval: 2, ttl: 5 }, tags: [ 'traefik.backend=ui-toolkit', 'traefik.frontend.rule=PathPrefix:/', 'traefik.frontend.entryPoints=http' ] }, { name: 'consul-agent', exec: ['/usr/local/bin/consul', 'agent', '-data-dir=/data', '-config-dir=/config', '-log-level=err', '-rejoin', '-retry-join', '{{ .CONSUL | default "consul" }}', '-retry-max', '10', '-retry-interval', '10s'], restarts: 'unlimited' }, { name: 'sensor_memory_usage', exec: '/bin/sensors memory', timeout: '5s', when: { interval: '5s' }, restarts: 'unlimited' }, { name: 'sensor_cpu_load', exec: '/bin/sensors cpu', timeout: '5s', when: { interval: '5s' }, restarts: 'unlimited' }, { name: 'sensor_disk_capacity', exec: '/bin/sensors diskcapacity', timeout: '5s', when: { interval: '60s' }, restarts: 'unlimited' }, { name: 'sensor_disk_usage', exec: '/bin/sensors diskusage', timeout: '5s', when: { interval: '60s' }, restarts: 'unlimited' } ], telemetry: { port: 9090, tags: ['op'], metrics: [ { namespace: 'ui_toolkit', subsystem: 'memory', name: 'percent', help: 'Percentage of memory used', type: 'gauge' }, { namespace: 'ui_toolkit', subsystem: 'cpu', name: 'load', help: 'CPU load', type: 'gauge' }, { namespace: 'ui_toolkit', subsystem: 'disk', name: 'capacity', help: 'Disk capacity', type: 'gauge' }, { namespace: 'ui_toolkit', subsystem: 'disk', name: 'usage', help: 'Disk usage', type: 'gauge' } ] } }