easimon / shelly-exporter Goto Github PK
View Code? Open in Web Editor NEWPrometheus exporter for shelly devices
Prometheus exporter for shelly devices
Is there a way I can do some debugging to work out whats going on here?
2024-02-01T17:45:03.528Z INFO 1 --- [ scheduling-1] c.d.s.e.d.ShellyGen2DeviceRegistry : Added 1, removed 0, current amount: 1 devices.
2024-02-01T17:45:03.537Z INFO 1 --- [ scheduling-1] c.d.s.e.metrics.ShellyGen2Metrics : Registering ShellyDevice(mac=<redacted>, address=<redacted>, name=Pro3EM DB1, type=SPEM-003CEBEU, firmwareVersion=20231219-134001/1.1.0-g34b5d4f).
2024-02-01T17:45:03.909Z WARN 1 --- [ scheduling-1] c.d.s.exporter.client.ShellyGen2Client : GET http://10.10.16.44/rpc/Shelly.GetStatus: HTTP Request failure: Error while extracting response for type [class click.dobel.shelly.exporter.client.api.gen2.Gen2ShellyStatus] and content type [application/json]
Running on the latest docker image with SHELLY_GEN2DEVICES_HOSTS
and SHELLY_AUTH_PASSWORD
set
The Docker image is based on eclipse-temurin, and the complete build is using
docker.
eclipse-temurin:11
works on linux/arm/v7
, linux/arm64/v8
and linux/amd64
eclipse-temurin:17
works on linux/arm64/v8
and linux/amd64
onlyWith eclipse-temurin:17
, the build (actually every ./mvnw
command) fails on the linux/arm/v7
platform, with an error message similar to the one below. The runtime image eclipse-temurin:17-jre
seems fine on all platforms. It's unclear if this is
an error in temurin, maven or the maven wrapper.
Further investigation is necessary, but this is the reason why the builder images, language level etc is still set to Java 11.
#18 3.157 Exception in thread "main" java.lang.ExceptionInInitializerError
#18 3.166 at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
#18 3.166 at java.base/sun.security.ssl.SSLCipher.isTransformationAvailable(SSLCipher.java:511)
#18 3.167 at java.base/sun.security.ssl.SSLCipher.<init>(SSLCipher.java:500)
#18 3.168 at java.base/sun.security.ssl.SSLCipher.<clinit>(SSLCipher.java:82)
#18 3.168 at java.base/sun.security.ssl.CipherSuite.<clinit>(CipherSuite.java:65)
#18 3.169 at java.base/sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuites(SSLContextImpl.java:343)
#18 3.169 at java.base/sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(SSLContextImpl.java:556)
#18 3.170 at java.base/java.lang.Class.forName0(Native Method)
#18 3.170 at java.base/java.lang.Class.forName(Class.java:375)
#18 3.171 at java.base/java.security.Provider$Service.getImplClass(Provider.java:1933)
#18 3.171 at java.base/java.security.Provider$Service.getDefaultConstructor(Provider.java:1964)
#18 3.172 at java.base/java.security.Provider$Service.newInstanceOf(Provider.java:1878)
#18 3.172 at java.base/java.security.Provider$Service.newInstanceUtil(Provider.java:1886)
#18 3.172 at java.base/java.security.Provider$Service.newInstance(Provider.java:1861)
#18 3.175 at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
#18 3.175 at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
#18 3.176 at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:185)
#18 3.176 at java.base/javax.net.ssl.SSLContext.getDefault(SSLContext.java:110)
#18 3.177 at java.base/javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:83)
#18 3.177 at java.base/javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:336)
#18 3.178 at java.base/javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:292)
#18 3.178 at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.<init>(HttpsURLConnectionImpl.java:81)
#18 3.178 at java.base/sun.net.www.protocol.https.Handler.openConnection(Handler.java:62)
#18 3.179 at java.base/sun.net.www.protocol.https.Handler.openConnection(Handler.java:57)
#18 3.179 at java.base/java.net.URL.openConnection(URL.java:1094)
#18 3.179 at org.apache.maven.wrapper.DefaultDownloader.downloadInternal(DefaultDownloader.java:104)
#18 3.180 at org.apache.maven.wrapper.DefaultDownloader.download(DefaultDownloader.java:97)
#18 3.180 at org.apache.maven.wrapper.Installer.createDist(Installer.java:94)
#18 3.183 at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:151)
#18 3.183 at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:76)
#18 3.187 Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
#18 3.188 at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:119)
#18 3.188 ... 30 more
#18 3.190 Caused by: java.lang.SecurityException: Couldn't iterate through the jurisdiction policy files: unlimited
#18 3.191 at java.base/javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:372)
#18 3.191 at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:110)
#18 3.193 at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:107)
#18 3.194 at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
#18 3.194 at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:106)
#18 3.194 ... 30 more
For an unknown reason, counter resets (which happen when a plug is physically unplugged and re-plugged) are not detected reliably by prometheus.
Filed a bug in prometheus about it, since I think the exported metrics are correct, in terms of
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.