website/integrations/monitoring/observium/index.md
Observium is a network monitoring and management platform that provides real-time insight into network health and performance.
:::info This is based on authentik 2024.6.0 and Observium CE 24.4.13528 :::
The following placeholders are used in this guide:
observium.company is the FQDN of the Observium installation.authentik.company is the FQDN of the authentik installation.:::info This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application. :::
This guide assumes you already have a working Observium instance. It is recommended to install it with the install script, following the instructions on Observium's website.
Apache2 comes bundled with Observium, but there is also a third party module, mod_auth_openidc, which is needed for this configuration to work. Download the latest release of the project suitable for your machine.
This guide uses libapache2-mod-auth-openidc_2.4.15.7-1.bookworm_amd64.deb as an example.
Install the package:
apt install ./libapache2-mod-auth-openidc_2.4.15.7-1.bookworm_amd64.deb
To support the integration of Observium with authentik, you need to create an application/provider pair in authentik.
Strict redirect URI to https://observium.company/secure/redirect_uri. Note that the Redirect URI can be anything, as long as it does not point to existing content.Edit the file /etc/apache2/sites-available/000-default.conf and add the following lines:
<VirtualHost *:80>
...
OIDCProviderMetadataURL https://authentik.company/application/o/observium/.well-known/openid-configuration
OIDCClientID <Client ID>
OIDCClientSecret <Client Secret>
OIDCRedirectURI https://observium.company/secure/redirect_uri
OIDCCryptoPassphrase <Random string for security>
OIDCCookieDomain observium.company
OIDCXForwardedHeaders X-Forwarded-Host X-Forwarded-Proto
OIDCPathScope "openid email profile"
OIDCRemoteUserClaim preferred_username ^(.*)$ $1@authentik
<Location />
AuthType openid-connect
Require valid-user
</Location>
...
</VirtualHost>
Meaning of variables:
OIDCRedirectURI is the same URI that is set for the authentik Provider.OIDCCryptoPassphrase directive should be set to a random string, for more information, see the official documentation.OIDCXForwardedHeaders is necessary if your instance is behind a reverse proxy. If omitted, the module does not accept information from these headers.OIDCRemoteUserClaim tells the module how to construct a username based on your claims. The first argument selects the claim, while the second and third are RegEx search and replace expressions. More infoEdit the Observium configuration. By default, it should be located at /opt/observium/config.php.
Edit the following line:
$config['auth_mechanism'] = "remote";
Add the following lines:
$config['auth_remote_userlevel'] = 10;
$config['auth_remote_logout_url'] = "https://authentik.company/application/o/observium/end-session/";
With this method, you can only assign one permission level to all users. Since Observium permits only a single authentication mechanism to be selected, it is recommended to set auth_remote_userlevel to 10. You can read about all of the user levels here.
Restart the Apache2 service:
service apache2 restart
Now you should be able to log in to your Observium instance using authentik.