Configuration Inspector App¶
Configuration Inspector App is a standalone application, separate from Kylo UI and Services and its purpose is to check whether Kylo UI and Kylo Services are configured correctly or not. It comes with a number of Configuration Inspections out-of-the-box and is designed to be easily extensible.
Here is a screenshot of how it may look like:
- Java 8 installed. Kylo installs Java 8 into
/opt/javadirectory. We will assume this directory for our examples.
kylouser privileges because this application will access Kylo UI and Services
Inspector App is distributed with Kylo and can be found in
<KYLO_INSTALL_PATH>/lib/install-inspector directory. We will assume default
/opt/kylo/lib/install-inspector directory for this example.
Since this application requires Java 8 and needs to be ran as
kylo user here is how you would run it:
sudo su kylo /opt/java/current/bin/java -jar /opt/kylo/lib/install-inspector/kylo-install-inspector-app-<version>.war --inspections.path=/opt/kylo/lib/install-inspector/lib
Now that the application is running, open your browser and find it at
Currently application logs to console. If you prefer to change that provide path to you custom
logback.xml like so:
sudo su kylo /opt/java/current/bin/java -jar /opt/kylo/lib/install-inspector/kylo-install-inspector-app-<version>.war --inspections.path=/opt/kylo/lib/install-inspector/lib --logging.config=<absolute-path-to-custom-logback.xml>
Click the circular “Download Report” button closer to the right top corner just above the Inspections list to download and share the inspection report produced by Inspector App.
Add Custom Configuration Inspections¶
AbstractInspectionclass found in
kylo-install-inspector-apimodule. At minimum you will need to implement three methods where the one which does the work looks like this:
public InspectionStatus inspect(Configuration configuration). Via
Configurationclass you get access to Kylo UI and Services properties, e.g.
Configuration.getServicesProperty(String propertyName). You can either directly @Inject Kylo classes into your Inspections or you first create Spring configuration which defines the beans, e.g. see NifiConnectionInspection and NifiConnectionInspectionConfiguration which uses custom Spring configuration to get
JerseyClientwhich can talk to Nifi.
- Package your custom Inspections into a
- Add your jar and its dependencies to Inspector App classpath, i.e. drop them into
- Run Inspector App as usual