Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Open Liberty 20.0.0.11 brings Kerberos authentication and Thanos support in Grafana dashboards

October 30, 2020
Austin Bailey
Related topics:
ContainersDeveloper ToolsJavaKubernetes
Related products:
Red Hat OpenShift

Share:

    This article is a quick look at two exciting updates in the new Open Liberty 20.0.0.11 release. First, you can now use the Kerberos authentication protocol to secure Java Database Connectivity (JDBC) data sources. I'll introduce the new kerberos configuration element in Open Liberty's server.xml and show you how to use the Kerberos protocol to secure a data source.

    We've also updated Open Liberty's Grafana dashboard, which you can now use to visualize MicroProfile Metrics data from Thanos data sources. This new functionality benefits developers working in Kubernetes environments such as Red Hat OpenShift, where it is possible to use Thanos to query and store metrics data from multiple clusters. Keep reading to learn more about both of these updates in Open Liberty 20.0.0.11.

    Run your applications using Open Liberty 20.0.0.11

    Use the following coordinates to install Open Liberty 20.0.0.10 with Maven:

    <dependency>
      <groupId>io.openliberty</groupId>
      <artifactId>openliberty-runtime</artifactId>
      <version>20.0.0.11</version>
      <type>zip</type>
    </dependency>
    

    For Gradle, use:

    dependencies {
        libertyRuntime group: 'io.openliberty', name: 'openliberty-runtime', version: '[20.0.0.11,)'
    }
    

    If you're using Docker, it's:

    FROM open-liberty
    

    Kerberos authentication for JDBC data sources

    Kerberos is a network authentication protocol that lets a client and server authenticate by communicating with a key distribution center (KDC). Starting with Open Liberty 20.0.0.11, you may use Kerberos authentication for JDBC data sources that are backed by one of the following databases:

    • IBM DB2
    • Oracle Database
    • Microsoft SQLServer
    • PostgreSQL

    Open Liberty's Kerberos authentication builds on top of the JDK's Kerberos Login Module (Krb5LoginModule) and the Java Generic Secure Services API. The Kerberos Login Module, in turn, builds on top of the Kerberos operating system libraries for the specific system in use.

    The kerberos server.xmlconfiguration element provides systemwide configuration options for the Open Liberty server. For example:

      <kerberos keytab="${server.config.dir}/security/krb5.keytab" configFile="${server.config.dir}/security/krb5.conf"/>
    

    Here is an example of how to use the Kerberos protocol to secure a JDBC data source:

      <featureManager>
      <feature>jdbc-4.2</feature>
      </featureManager>
    
      <!-- optional config: This is only needed if you need to customize the location of keytab or krb5.conf -->
      <kerberos keytab="${server.config.dir}/security/krb5.keytab" configFile="${server.config.dir}/security/krb5.conf"/>
    
      <authData id="myKerberosAuth" krb5Principal="krbUser"/>
    
      <library id="db2DriverLib">
        <fileset dir="${server.config.dir}/db2"/>
      </library>
    
      <dataSource jndiName="jdbc/krb/basic" containerAuthDataRef="myKerberosAuth">
        <jdbcDriver libraryRef="db2DriverLib"/>
        <properties.db2.jcc databaseName="${DB2_DBNAME}" serverName="${DB2_HOSTNAME}" portNumber="${DB2_PORT}"/>
      </dataSource>
    

    Before this release, it was technically possible to use Kerberos authentication with JDBC data sources, but the configuration was complex and undocumented. The Open Liberty server also lacked connection pooling support when using Kerberos authentication for data sources.

    The Grafana dashboard now supports Thanos

    With Open Liberty 20.0.0.11, you can now use the Open Liberty Grafana dashboard to visualize data from a Thanos data source. The Grafana dashboard provides a range of time-series visualizations of MicroProfile Metrics data, including performance metrics for CPU and servlet operations, connection pooling, and garbage collection. The Grafana dashboard is powered by a Prometheus data source, configured to ingest data from the /metrics endpoint of one or more Open Liberty servers. You can use the dashboard to view performance metrics in near real-time.

    Open Liberty previously supported visualizing metrics data only in cases where Prometheus was the data source. However, Kubernetes environments such as OpenShift use Thanos to query and store metrics data from multiple clusters. In the new Open Liberty Grafana dashboard, shown in Figure 1, Kubernetes and OpenShift users can set Thanos as the data source for displaying metrics data.

    The updated Grafana dashboard showing CPU processing time and system load.
    Figure 1: The new Open Liberty 20.0.0.11 Grafana dashboard.

    Using Thanos with the new Grafana dashboard

    Learn more about what you can do with the new Open Liberty 20.0.0.11 Grafana dashboard:

    • Visit Open Liberty Operator's GitHub repository for a guide to installing the new Open Liberty Grafana dashboard.
    • See the Prometheus homepage for more about creating custom visualizations with Prometheus.
    • See the OpenShift blog for a look at monitoring multiple OpenShift clusters with Thanos.

    Try Open Liberty 20.0.0.11 in Red Hat Runtimes

    Open Liberty is part of Red Hat Runtimes and is available to Red Hat Runtimes subscribers. To learn more about deploying Open Liberty applications to Red Hat OpenShift, see our Open Liberty guide, Deploying microservices to OpenShift. Open Liberty 20.0.0.11 is available through Maven, Gradle, Docker, and as a downloadable archive.

    Last updated: June 3, 2022

    Recent Posts

    • Profiling vLLM Inference Server with GPU acceleration on RHEL

    • Network performance in distributed training: Maximizing GPU utilization on OpenShift

    • Clang bytecode interpreter update

    • How Red Hat has redefined continuous performance testing

    • Simplify OpenShift installation in air-gapped environments

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue