description |
---|
Released December 30, 2021 |
- Plugin healthcheck | Other plugins can now extend the Monitor list
- New lookup tables UI
- SMTP integration | Allows specifying a set of protocols enabled for SSL connection
- [fixed] First login with external authentication fails to identify an existing user with the same email
- [fixed] Header size does not match the number of axes in vertical
- [fixed] Some channels appear multiple times in the grouped tooltip
- [fixed] Tooltip without background on the temporal pipes widget
- [fixed] Legends being kept when new filter changes at the bar chart
- UI improvements at dashboard filter setup
- UI improvements at widget header
- Multiple UI/UX improvements at plugin admin screen
{% tabs %} {% tab title="Main.java" %}
public class Main implements LivePlugin {
public void start(Live live) throws Exception {
...
HealthcheckMonitorService monitorService = Objects.requireNonNull(live.system().getPluginService(HealthcheckMonitorService.class));
monitorService.registerMonitor(live, new MyMonitor());
...
}
}
{% endtab %}
{% tab title="MyMonitor.java" %}
public class MyMonitor implements HealthcheckMonitor {
private static final String QUERY = ""; // some query
private static final String EVENT_TYPE = ""; //some event type
private Live.Action queriesHandler;
@Override
public void start(@NotNull Live live, @NotNull HealthcheckConfig healthcheckConfig) throws Exception {
//start monitoring
String statsEmail = healthcheckConfig.getGeneralStatsRecipient();
final List<String> statsRecipients = Collections.singletonList(statsEmail);
QueryListener.Empty listener = new QueryListener.Empty() {
@Override
public void onEvent(QueryEvent events, boolean history) throws Exception {
if (history) return;
Map<String, Object> stats = HealthCheckUtils.loadBaseEvent(live, EVENT_TYPE, HealthCheckUtils::hostNameSupplier);
for (Map<String, Object> event : events) {
stats.put("key1", event.get("key1"));
}
String json = LiveJson.toJson(stats);
HealthCheckUtils.sendEmailWithAttachments(live, json, statsRecipients);
}
};
Query query = new Query(QUERY)
.follow(true)
.preloadWindow(true)
.description("My monitor query")
.listenWith(listener);
queriesHandler = live.queries().run(query);
}
@Override
public void stop(@NotNull Live live) throws Exception {
//stop monitoring
if (queriesHandler != null) {
queriesHandler.close();
}
}
}
{% endtab %}
{% tab title="pom.xml" %}
...
<dependencies>
...
<dependency>
<groupId>net.intelie.live</groupId>
<artifactId>plugin-healthcheck</artifactId>
<version>3.15.0</version>
<scope>provided</scope>
</dependency>
...
</dependencies>
...
{% endtab %} {% endtabs %}
SMTP integration screen allows specifying a set of protocols for SSL connection. By default the plugin offers TLSv1.0, TLSv1.1, TLSv1.2
, however, this list is extensible and accepts other protocols