提交 200d86fd 编写于 作者: 麦壳饼's avatar 麦壳饼

修正健康检查的引用。

上级 ab73a08d
......@@ -27,17 +27,7 @@ services:
networks:
- iotsharp-network
influxdb_cli:
links:
- influx
image: quay.io/influxdb/influxdb:v2.0.4
entrypoint: influx setup --bucket iotsharp-bucket -t iotsharp-tokeniotsharp-tokeniotsharp-tokeniotsharp-tokeniotsharp-token -o iotsharp --username=root --password=1-q2-w3-e4-r5-t --host=http://influx:8086 -f
restart: on-failure:20
depends_on:
- influx
networks:
- iotsharp-network
cassandra:
image: cassandra:latest
container_name: cassandra
......
......@@ -11,8 +11,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CassandraCSharpDriver" Version="3.17.1" />
<PackageReference Include="CassandraCSharpDriver" Version="3.18.0" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.5" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.7" />
</ItemGroup>
</Project>
......@@ -11,8 +11,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="InfluxDB.Client" Version="4.2.0" />
<PackageReference Include="InfluxDB.Client" Version="4.3.0" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.5" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.7" />
</ItemGroup>
</Project>
......@@ -30,6 +30,7 @@ namespace HealthChecks.InfluxDB
{
try
{
var hea =await _influxdb_client.HealthAsync();
var ready = await _influxdb_client.ReadyAsync();
var ping = await _influxdb_client.PingAsync();
var hs = ping && ready.Status == Ready.StatusEnum.Ready ? HealthStatus.Healthy : context.Registration.FailureStatus;
......
......@@ -12,9 +12,9 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Apache.IoTDB" Version="0.13.0.6" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.5" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="6.0.5" />
<PackageReference Include="Apache.IoTDB.Data" Version="0.13.0.7-alpha" PrivateAssets="all" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.7" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="6.0.7" />
</ItemGroup>
</Project>
......@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Apache.IoTDB.Data;
namespace HealthChecks.IoTDB
{
public class IoTDBHealthCheck
......@@ -17,22 +17,9 @@ namespace HealthChecks.IoTDB
public IoTDBHealthCheck(string connectionString)
{
Dictionary<string, string> pairs = new Dictionary<string, string>();
connectionString.Split(';', StringSplitOptions.RemoveEmptyEntries).ToList().ForEach(f =>
{
var kv = f.Split('=');
pairs.TryAdd(key: kv[0], value: kv[1]);
});
string host = pairs.GetValueOrDefault("Server") ?? "127.0.0.1";
int port = int.Parse(pairs.GetValueOrDefault("Port") ?? "6667");
string username = pairs.GetValueOrDefault("User") ?? "root";
string password = pairs.GetValueOrDefault("Password") ?? "root";
int fetchSize = int.Parse(pairs.GetValueOrDefault("fetchSize") ?? "1800");
bool enableRpcCompression = bool.Parse(pairs.GetValueOrDefault("enableRpcCompression") ?? "false");
int poolSize = int.Parse(pairs.GetValueOrDefault("poolSize")??"8") ;
string zoneId = pairs.GetValueOrDefault("zoneId") ?? "UTC+08:00";
session_pool = new SessionPool(host, port, username, password, fetchSize, zoneId, poolSize);
_enableRpcCompression = enableRpcCompression;
var builder = new IoTDBConnectionStringBuilder(connectionString);
session_pool= builder.CreateSession();
_enableRpcCompression = builder.Compression;
}
public IoTDBHealthCheck(SessionPool session )
......@@ -46,10 +33,10 @@ namespace HealthChecks.IoTDB
{
await session_pool.Open(_enableRpcCompression);
var state = session_pool.IsOpen();
await session_pool.SetTimeZone("GMT+8:00");
var tz = await session_pool.GetTimeZone() == "GMT+8:00";
var tz = await session_pool.GetTimeZone();
await session_pool.SetTimeZone(tz);
await session_pool.Close();
return new HealthCheckResult(state && tz ? HealthStatus.Healthy : (state || tz ? HealthStatus.Degraded: context.Registration.FailureStatus));
return new HealthCheckResult(state ? HealthStatus.Healthy : (state ? HealthStatus.Degraded: context.Registration.FailureStatus));
}
catch (Exception ex)
{
......
{
"ConnectionStrings": {
"influx": "http://influx:8086/?org=iotsharp&bucket=iotsharp-bucket&token=iotsharp-tokeniotsharp-tokeniotsharp-tokeniotsharp-tokeniotsharp-token&&latest=-72h",
"influx": "http://influx:8086/?org=iotsharp&bucket=iotsharp-bucket&token=xi_XzrKeWN_RW4v5DfIK6MWwdrQG1FdGYUBTl25V7cRSSKmxTPhqwH9OZWBneFsW0-Xrt-jeLefqcc1zkiQK-A==&latest=-72h",
"cassandra1": "Contact Points=cassandra;Username=user1;Password=P@ssword!",
"cassandra": "Contact Points=cassandra",
"iotdb": "Server=iotdb"
"iotdb": "DataSource=iotdb"
},
"Logging": {
......
......@@ -12,16 +12,29 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.4" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.4" />
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.4" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.15.1" />
<PackageReference Include="Apache.IoTDB" Version="0.13.0.7-alpha" />
<PackageReference Include="Apache.IoTDB.Data" Version="0.13.0.7-alpha" />
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.16.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HealthChecks.Cassandra\HealthChecks.Cassandra.csproj" />
<ProjectReference Include="..\HealthChecks.InfluxDB\HealthChecks.InfluxDB.csproj" />
<ProjectReference Include="..\HealthChecks.IoTDB\HealthChecks.IoTDB.csproj" />
<ProjectReference Include="..\HealthChecks.Cassandra\HealthChecks.Cassandra.csproj">
<Private>True</Private>
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
</ProjectReference>
<ProjectReference Include="..\HealthChecks.InfluxDB\HealthChecks.InfluxDB.csproj">
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
<Private>True</Private>
</ProjectReference>
<ProjectReference Include="..\HealthChecks.IoTDB\HealthChecks.IoTDB.csproj">
<Private>True</Private>
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
</ProjectReference>
</ItemGroup>
<ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>
</Project>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册