Sure, there's not much to it.
Here's an export, just paste it into node-red, you will need to install the Dashboard nodes.
[edit: more detail] The top 2 nodes just receive the http request and give a response to the sender.
the incoming data is piped to the change node, it is structured data (JSON). In node-red terms this is the message payload. (msg.payload). Because the URL had a variable 'now' in it, the data is in msg.payload.now. But it is text and we need a number, so the change node uses JSONata to swap it to an integer and passes it to the graph node.
there's also a branch that dumps it to a text file with a time stamp.
[
{
"id": "c0004ca4.6f5b2",
"type": "debug",
"z": "9f3cc389.ea38e",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 610,
"y": 220,
"wires": []
},
{
"id": "bd1c9beb.357ef8",
"type": "http in",
"z": "9f3cc389.ea38e",
"name": "",
"url": "/checkpoint",
"method": "get",
"upload": false,
"swaggerDoc": "",
"x": 230,
"y": 160,
"wires": [
[
"b35addd7.d6f5c",
"5573f34b.21275c",
"7842088f.e57ed8"
]
]
},
{
"id": "b35addd7.d6f5c",
"type": "http response",
"z": "9f3cc389.ea38e",
"name": "",
"statusCode": "",
"headers": {},
"x": 450,
"y": 160,
"wires": []
},
{
"id": "8c4bf64c.548218",
"type": "ui_chart",
"z": "9f3cc389.ea38e",
"name": "",
"group": "42dd6b11.ecf5c4",
"order": 0,
"width": 0,
"height": 0,
"label": "5 minute snapshots",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "0",
"ymax": "",
"removeOlder": "24",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"useOldStyle": false,
"outputs": 1,
"x": 650,
"y": 300,
"wires": [
[]
]
},
{
"id": "5573f34b.21275c",
"type": "change",
"z": "9f3cc389.ea38e",
"name": "",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload.now)",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 240,
"wires": [
[
"8c4bf64c.548218",
"c0004ca4.6f5b2",
"162b90dc.b0efdf"
]
]
},
{
"id": "162b90dc.b0efdf",
"type": "file",
"z": "9f3cc389.ea38e",
"name": "",
"filename": "mobile_count.txt",
"appendNewline": true,
"createDir": false,
"overwriteFile": "false",
"encoding": "none",
"x": 560,
"y": 420,
"wires": [
[]
]
},
{
"id": "7842088f.e57ed8",
"type": "change",
"z": "9f3cc389.ea38e",
"name": "timestamp",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$now()",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 330,
"y": 320,
"wires": [
[
"162b90dc.b0efdf"
]
]
},
{
"id": "42dd6b11.ecf5c4",
"type": "ui_group",
"z": "",
"name": "Default",
"tab": "f5ba8f9.259237",
"disp": false,
"width": "12",
"collapse": false
},
{
"id": "f5ba8f9.259237",
"type": "ui_tab",
"z": "",
"name": "Check Point Mobile Users",
"icon": "",
"disabled": false,
"hidden": false
}
]