Title:-Unable to view the monitor up/down details in Kibana dashboard through docker run in multiple .js/.ts files
Description:
Hi Team, we are currently run the "heartbeat.yml" file with the config of multiple .js files in the "todos" folder path and run the docker run command, so we are unable to view the up/down monitor details in the Kibana dashboard, but while we run the heartbeat file with inline scripts we able to view the up/down monitor details in Kibana dashboard through docker run command.
To check the log comparison both of inline and multiple files, observer that inline job run logs its showing line as below way:
inline job log:-
"monitor_starts":1},"scheduler":{"jobs":{"active":1},"tasks":{"active":1}}},"libbeat":{"config":{"module":{"running:0}}
multiple .js files log
"monitor_starts":1}},"libbeat":{"config":{"module":{"running":0}}
after the inline scheduler job active it showing like as below way:
2021-05-25T17:44:16.953Z INFO synthexec/synthexec.go:128 Running command: /usr/share/heartbeat/.node/node/bin/elastic-synthetics --inline --screenshots --json --network --outfd 3 in directory: ''
2021-05-25T17:44:39.690Z INFO synthexec/synthexec.go:176 Command has completed(0):
after this, we can able to view the up and down monitoring details in the Kibana dashboard through inline script run in heartbeat.yml file
But while in multiple js files run we are not able to view the log data of
"INFO synthexec/synthexec.go:128 Running command" and
"INFO synthexec/synthexec.go:176 Command has completed(0): "
details while at the time of the run, instead of this we can able to view the below details in logs:
"monitor_starts":1}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":1,"active":0,"batches":1,"total":1},"read":{"bytes":5097},
"type":"elasticsearch","write":{"bytes":2860}},"pipeline":{"clients":1,"events":{"active":0,"published":1,"retry":1,"total":1},"queue":{"acked":1}}},
"system":{"cpu":{"cores":1},"load":{"1":0.05,"15":0.11,"5":0.09,"norm":{"1":0.05,"15":0.11,"5":0.09}}}}}}
2021-05-25T18:12:14.910Z INFO [monitoring] log/log.go:144 Non-zero metrics in the last 30s
"monitoring": {"metrics": {"beat":{"cgroup":{"cpuacct":{"total":{"ns":3856349}},"memory":{"mem":{"usage":{"bytes":90112}}}},"cpu":
{"system":{"ticks":60},"total":{"ticks":120,"time":{"ms":4},"value":120},"user":{"ticks":60,"time":{"ms":4}}},"handles":{"limit":{"hard":4096,"soft":1024},
"open":9},"info":{"ephemeral_id":"607833fc-eebd-4577-8a21-ed5749a8d97a","uptime":{"ms":60056}},"memstats":{"gc_next":9914592,"memory_alloc":5992064,
"memory_total":19761336,"rss":52703232},"runtime":{"goroutines":14}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"active":0}},
"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.03,"15":0.1,"5":0.08,"norm":{"1":0.03,"15":0.1,"5":0.08}}}}}}
Below are the files we are used for this multiple js files run:-
heartbeat.yml:-
heartbeat.monitors:
- type: browser
id: my-monitor
name: My Monitor
schedule: "@every 1m"
source:
local:
path: "./todos"
todos/elastic.journey.js :-
import { journey, step } from '@elastic/synthetics';
import { deepStrictEqual } from 'assert';
journey("Ensure elastic home page is correct", async ({page}) => {
step("Go to elastic.co", async () => {
await page.goto('https://www.elastic.co');
});
});
docker run command:-
sudo docker run \
--rm \
--name=heartbeat \
--user=heartbeat \
--volume="$PWD/heartbeat.yml:/usr/share/heartbeat/heartbeat.yml:ro" \
--volume="$PWD/todos:/usr/share/heartbeat/todos:ro" \
docker.elastic.co/beats/heartbeat:7.12.0 heartbeat -e \
-E cloud.id=
-E cloud.auth=
Please suggest what could be the root cause and probable fix for this issue.
Thanks in advance.