Настройка экспортера Keycloak для работы с Prometheus - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь настроить экспортер Prometheus для Keycloak, однако у меня возникают трудности.

У меня есть веб-приложение, созданное с использованием Docker-контейнеров, и сейчас я добавляю права пользователей с помощью Keycloak

Я нашел это на github https://github.com/aerogear/keycloak-metrics-spi однако я никогда не использовал что-то подобное в сочетании с Docker, и поэтому я не уверен, правильно ли я выполнил шаги в readme

Примечание. Я выполнил все перечисленные ниже шаги вручную.

  1. Загруженное и разархивированное github-репо на хост-машину
  2. Запустил указанную команду "./gradlew jar"
  3. Создала новый каталог внутри каталога keycloak с именем provider
  4. Скопировал файл jar из / build / libs в папку поставщиков
  5. Пошел в Keycloak GUI и перешел в mange -> events -> config andдобавлен прослушиватель метрик в качестве именованной записи

На основании репозитория github после этого я пошел в localhost / auth / realms / master / metrics, однако ничего не было там.Правильно ли я настроил это?Кроме того, кто-нибудь знает о каких-либо других экспортерах, которые лучше подходят для использования настройки докера?

Спасибо

1 Ответ

0 голосов
/ 15 апреля 2019

Файл должен находиться в следующей папке:

/opt/jboss/keycloak/standalone/deployments

Вот мой набор тестов InSpec для проверки развертывания провайдера:

control 'keycloak-metrics-1' do
  impact 0.6
  title 'Metrics endpoint activation script'
  desc 'The script should exist and be executable'
  tag 'keycloak','prometheus','monitoring'
  ref 'KeyCloak Metrics SPI README', url: 'https://github.com/aerogear/keycloak-metrics-spi'

  describe file('/opt/jboss/startup-scripts/enable-prometheus-exporter.sh') do
    it { should be_file }
    it { should be_executable }
  end
end

control 'keycloak-metrics-2' do
  impact 1.0
  title 'Metrics provider artifact'
  desc 'The provider jar should exist and be deployed successfully'
  tag 'keycloak','prometheus','monitoring'
  ref 'KeyCloak Metrics SPI README', url: 'https://github.com/aerogear/keycloak-metrics-spi'

  # e.g. keycloak-metrics-spi-1.0.1-SNAPSHOT.jar
  describe command('ls /opt/jboss/keycloak/standalone/deployments/*.jar').stdout.chomp do
    it { should match /keycloak-metrics-spi/ }
  end

  # e.g. keycloak-metrics-spi-1.0.1-SNAPSHOT.jar.deployed
  describe command('ls /opt/jboss/keycloak/standalone/deployments/*.deployed').stdout.chomp do
    it { should match /keycloak-metrics-spi/ }
  end
end

control 'keycloak-metrics-3' do
  impact 0.6
  title 'Metrics endpoint'
  desc 'The metrics endpoint returns expected data'
  tag 'keycloak','prometheus','monitoring'
  ref 'KeyCloak Metrics SPI README', url: 'https://github.com/aerogear/keycloak-metrics-spi'

  describe http('http://localhost:8080/auth/realms/master/metrics') do
    its('status') { should cmp 200 }
    its('body') { should match /keycloak_user_event/ }
  end
end
...