added k8s config
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-04-08 15:48:56 +02:00
parent e194f0ed10
commit cca6aff3c0
18 changed files with 5559 additions and 197 deletions

View File

@ -1,45 +0,0 @@
using System;
using InfluxDB.Client.Flux;
namespace OutputServiceTSDB.InfluxDB
{
public class InfluxReader
{
private readonly char[] Token = "".ToCharArray();
public InfluxReader()
{
//
// TODO: Add constructor logic here
//
}
public MeasurementObject Read()
{
var fluxClient = FluxClientFactory.Create("http://localhost:8086/");
var fluxQuery = "from(bucket: \"telegraf\")\n"
+ " |> filter(fn: (r) => (r[\"_measurement\"] == \"cpu\" AND r[\"_field\"] == \"usage_system\"))"
+ " |> range(start: -1d)"
+ " |> sample(n: 5, pos: 1)";
fluxClient.QueryAsync(fluxQuery, (cancellable, record) =>
{
// process the flux query records
Console.WriteLine(record.GetTime() + ": " + record.GetValue());
},
(error) =>
{
// error handling while processing result
Console.WriteLine(error.ToString());
}, () =>
{
// on complete
Console.WriteLine("Query completed");
}).GetAwaiter().GetResult();
return new MeasurementObject { DeviceID = "south", Probability = 0.5, Time = DateTime.UtcNow };
}
}
}

View File

@ -1,26 +1,32 @@
using System;
using InfluxDB.Client;
using InfluxDB.Client.Api.Domain;
using InfluxDB.Client.Core;
using InfluxDB.Client.Writes;
using OutputServiceTSDB.Models;
using OutputServiceTSDB.Utilities;
namespace OutputServiceTSDB.InfluxDB
{
public class InfluxWriter
public class InfluxWriter: IDisposable
{
private readonly char[] Token = "".ToCharArray();
private readonly char[] Token = EnvironmentVariableConfiguration.InfluxDBToken.ToCharArray();
private InfluxDBClient influxDBClient;
public InfluxWriter()
{
influxDBClient = InfluxDBClientFactory.Create(EnvironmentVariableConfiguration.InfluxDBHost, Token);
}
public void Write(MeasurementObject measurementObject)
{
var influxDBClient = InfluxDBClientFactory.Create("http://localhost:9999", Token);
using (var writeApi = influxDBClient.GetWriteApi())
{
var measurement = new MeasurementObject { DeviceID = "south", Probability = 0.5, Time = DateTime.UtcNow };
writeApi.WriteMeasurement("bucket_name", "org_id", WritePrecision.Ns, measurement);
writeApi.WriteMeasurement(EnvironmentVariableConfiguration.InfluxDBBucket, EnvironmentVariableConfiguration.InfluxDBOrg, WritePrecision.Ns, measurementObject);
}
}
public void Dispose()
{
influxDBClient.Dispose();
}
}
}
}

View File

@ -1,34 +0,0 @@
using System;
using InfluxDB.Client;
using InfluxDB.Client.Api.Domain;
using InfluxDB.Client.Core;
using InfluxDB.Client.Writes;
namespace OutputServiceTSDB.InfluxDB
{
[Measurement("temperature")]
public class MeasurementObject
{
[Column("deviceid", IsTag = true)]
public string DeviceID { get; set; }
private double _probability;
[Column("probability")]
public double Probability
{
get => _probability;
set
{
if (value > 1.0 || value < 0.0)
throw new ArgumentOutOfRangeException(
$"{nameof(value)} must be between 0 and 1.");
else
_probability = value;
}
}
[Column(IsTimestamp = true)] public DateTime Time;
}
}