Merge branch 'release-2'
This commit is contained in:
commit
c97137f4a7
@ -61,7 +61,7 @@ const AuthenticationType = {
|
||||
OpenSystem_1: "OpenSystem_1",
|
||||
OpenSystem_2: "OpenSystem_2",
|
||||
Unknown: "Unknown",
|
||||
}
|
||||
};
|
||||
class AuthenticationPacket extends Packet{
|
||||
authenticationType;
|
||||
}
|
||||
@ -81,7 +81,7 @@ const HandshakeStage = {
|
||||
2: "2",
|
||||
3: "3",
|
||||
4: "4"
|
||||
}
|
||||
};
|
||||
class HandshakePacket extends Packet{
|
||||
handshakeStage;
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ const logger = logFactory("main");
|
||||
const { requireEnvVars } = require("./helper/env.js");
|
||||
const { exit } = require("process");
|
||||
const { exec } = require("./helper/exec.js");
|
||||
const Os = require("os");
|
||||
|
||||
const { InfluxDB } = require("@influxdata/influxdb-client");
|
||||
const InfluxChecks = require("./helper/influx-checks.js");
|
||||
@ -23,6 +24,7 @@ const env = process.env;
|
||||
{
|
||||
env.LOGLEVEL ??= "INFO";
|
||||
env.WIFI_INTERFACE ??= "wlan0";
|
||||
env.HOSTNAME ??= Os.hostname();
|
||||
}
|
||||
// Required vars
|
||||
let errorMsg = requireEnvVars([
|
||||
@ -56,6 +58,9 @@ if(errorMsg){
|
||||
exit(1);
|
||||
});
|
||||
|
||||
logger.debug("Get WriteApi & set default-hostname to", `'${env.HOSTNAME}'`);
|
||||
const influxWriteApi = influxDb.getWriteApi(env.INFLUX_ORG, env.INFLUX_BUCKET, "us");
|
||||
influxWriteApi.useDefaultTags("hostname", env.HOSTNAME);
|
||||
logger.info("Influx ok");
|
||||
|
||||
logger.info("Starting tcpdump..");
|
||||
@ -67,7 +72,7 @@ if(errorMsg){
|
||||
let regexBlockStream = new RegexBlockStream(/^\d{2}:\d{2}:\d{2}.\d{6}.*(\n( {4,8}|\t\t?).*)+\n/gm);
|
||||
let packetStreamFactory = new PacketStreamFactory();
|
||||
let packetInfluxPointFactory = new PacketInfluxPointFactory();
|
||||
let influxPointWriter = new InfluxPointWriter(influxDb, env.INFLUX_ORG, env.INFLUX_BUCKET);
|
||||
let influxPointWriter = new InfluxPointWriter(influxWriteApi);
|
||||
proc.stdout
|
||||
.setEncoding("utf8")
|
||||
.pipe(regexBlockStream)
|
||||
|
@ -1,6 +1,6 @@
|
||||
const logger = require.main.require("./helper/logger.js")("InfluxPointWriter");
|
||||
const { Writable } = require("stream");
|
||||
const {InfluxDB, Point, HttpError} = require("@influxdata/influxdb-client");
|
||||
const { WriteApi } = require("@influxdata/influxdb-client");
|
||||
|
||||
/**
|
||||
* Get points and write them into influx
|
||||
@ -8,16 +8,13 @@ const {InfluxDB, Point, HttpError} = require("@influxdata/influxdb-client");
|
||||
class InfluxPointWriter extends Writable{
|
||||
/**
|
||||
*
|
||||
* @param {InfluxDB} influxDb InfluxDb
|
||||
* @param {string} org Organization to use
|
||||
* @param {string} bucket Bucket to use
|
||||
* @param {Partial<WriteOptions>} options Options for WriteApi
|
||||
* @param {WriteApi} writeApi WriteAPI from InfluxDB instance
|
||||
*/
|
||||
constructor(influxDb, org, bucket, options){
|
||||
constructor(writeApi){
|
||||
super({
|
||||
objectMode: true
|
||||
});
|
||||
this._api = influxDb.getWriteApi(org, bucket, "us", options);
|
||||
this._api = writeApi;
|
||||
}
|
||||
|
||||
_write(point, encoding, next){
|
||||
|
@ -4,24 +4,24 @@ const {Point} = require("@influxdata/influxdb-client");
|
||||
|
||||
/** Keys to always use as tags */
|
||||
const TAG_LIST = [
|
||||
"srcMac",
|
||||
"dstMac",
|
||||
"srcmac",
|
||||
"dstmac",
|
||||
"bssid",
|
||||
"frequency",
|
||||
"flags",
|
||||
"packetType",
|
||||
"packettype",
|
||||
];
|
||||
|
||||
/** Measurement-name and corresponding field-key */
|
||||
const MEASUREMENT_MAP = new Map([
|
||||
["Signal", "signal"],
|
||||
["PayloadSize", "payloadSize"],
|
||||
["DataRate", "dataRate"],
|
||||
["SSID", "ssid"],
|
||||
["AuthenticationType", "authenticationType"],
|
||||
["AssociationSuccess", "associationIsSuccessful"],
|
||||
["DisassociationReason", "disassociationReason"],
|
||||
["HandshakeStage", "handshakeStage"],
|
||||
["rfmon_signal_dbm", "signal"],
|
||||
["rfmon_payloadsize_bytes", "payloadSize"],
|
||||
["rfmon_datarate_bytes", "dataRate"],
|
||||
["rfmon_ssid_names", "ssid"],
|
||||
["rfmon_authenticationtype_info", "authenticationType"],
|
||||
["rfmon_associationsuccess_bools", "associationIsSuccessful"],
|
||||
["rfmon_disassociationreason_info", "disassociationReason"],
|
||||
["rfmon_handshakestage_info", "handshakeStage"],
|
||||
]);
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user