Download the index.js and the package.json files.
Then:
- run
npm install - edit and set the index.js with your query and your API_KEY
- run
node index.jsand wait for the result
Questions & Feedbacks > @gpolaert
| const fetch = require('node-fetch'); | |
| const fs = require('fs'); | |
| // Global args | |
| const api_key = "<API_KEY>"; | |
| const filename = "events.log"; | |
| const rate = 1200; // 50 calls/hour | |
| //const rate = 120; // 500 calls a hour | |
| var query = { | |
| "time": { | |
| "to": "now", | |
| "from": "now - 3h" | |
| }, | |
| "filters": [ | |
| { | |
| "search": { | |
| "query": "*" | |
| } | |
| }, | |
| { | |
| "field": { | |
| "id": "syslog_hostname", | |
| "values": [ | |
| "prod-data1", | |
| "prod-data2" | |
| ], | |
| "exclude": false | |
| } | |
| } | |
| ], | |
| "event": true, | |
| "limit": 1000 | |
| }; | |
| function saveToFile(json) { | |
| if (!json.result.events || json.result.events.length == 0) { | |
| return | |
| } | |
| var stream = fs.createWriteStream(filename, {flags: 'a'}); | |
| stream.once('open', function(fd) { | |
| json.result.events.map(item => stream.write(JSON.stringify(item)+ "\n")); | |
| stream.end(); | |
| const number_items = json.result.events.length | |
| const last_item_id = json.result.events[number_items - 1].id | |
| console.log(number_items + " events extracted (last_item: " + last_item_id + ")") | |
| console.log("Events saved to " + filename); | |
| query.afterEvent = last_item_id | |
| setTimeout(fetchEvents, rate) | |
| }); | |
| } | |
| function fetchEvents() { | |
| fetch('https://app.logmatic.io/beta/events/list?api_key=' + api_key, { | |
| method: 'POST', | |
| body: JSON.stringify(query), | |
| headers: {'Content-Type': 'application/json'}, | |
| }) | |
| .then(res => res.json()) | |
| .then(json => saveToFile(json)) | |
| } | |
| fetchEvents(query) | |
| { | |
| "name": "export_events", | |
| "version": "1.0.0", | |
| "description": "", | |
| "main": "index.js", | |
| "scripts": { | |
| "test": "echo \"Error: no test specified\" && exit 1" | |
| }, | |
| "author": "", | |
| "license": "ISC", | |
| "dependencies": { | |
| "node-fetch": "^1.6.3", | |
| } | |
| } |