{"id":23385,"date":"2017-03-20T21:54:00","date_gmt":"2017-03-20T21:54:00","guid":{"rendered":"https:\/\/site.axamit.com\/?p=568"},"modified":"2026-06-23T07:03:13","modified_gmt":"2026-06-23T07:03:13","slug":"narzedzia-sprawdzania-kondycji-apache-sling","status":"publish","type":"post","link":"https:\/\/axamit.com\/pl\/blog\/adobe-experience-manager\/narzedzia-sprawdzania-kondycji-apache-sling\/","title":{"rendered":"Narz\u0119dzia sprawdzania kondycji Apache Sling"},"content":{"rendered":"<div class=\"custom-toc\"><ul><li class=\"h2-toc\"><a href=\"#problems-and-goals\">Problemy i cele<\/a><\/li><li class=\"h2-toc\"><a href=\"#health-checks-at-a-glance\">Health Checks w pigu\u0142ce<\/a><\/li><li class=\"h2-toc\"><a href=\"#health-checks-execution\">Wykonanie Health Checks<\/a><\/li><li class=\"h2-toc\"><a href=\"#custom-health-checks\">Niestandardowe Health Checks<\/a><\/li><li class=\"h2-toc\"><a href=\"#health-checks-user-interface\">Interfejs u\u017cytkownika Health Checks<\/a><\/li><\/ul><\/div>\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Je\u015bli chcemy u\u017cywa\u0107 zautomatyzowanego systemu do sprawdzania i monitorowania w czasie rzeczywistym aktualnego statusu, wydajno\u015bci i konfiguracji \u015brodowiska aplikacji AEM, mo\u017cemy wybra\u0107 narz\u0119dzia OOTB Apache Sling Health Checks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cej wyja\u015bni\u0119 podstawow\u0105 ide\u0119 tych narz\u0119dzi i zademonstruj\u0119 kilka prostych przyk\u0142ad\u00f3w konfiguracji i dostosowania. Zobaczysz, jak budowanie interfejsu u\u017cytkownika jest \u0142atwe i proste do zrozumienia.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"problems-and-goals\">Problemy i cele<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Przed rozwi\u0105zaniem jakiegokolwiek problemu z aplikacj\u0105 AEM, powinni\u015bmy sprawdzi\u0107 nast\u0119puj\u0105ce punkty:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wymagane pakiety s\u0105 uruchomione i dzia\u0142aj\u0105;<\/li>\n\n\n\n<li>Powi\u0105zane punkty ko\u0144cowe us\u0142ug sieciowych s\u0105 dost\u0119pne;<\/li>\n\n\n\n<li>Wymagane zasoby i odpowiednia struktura tre\u015bci istniej\u0105.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Wszystkie powy\u017csze kroki mo\u017cna wykonywa\u0107 r\u0119cznie od czasu do czasu, ale musimy uruchamia\u0107 te walidacje automatycznie. Takie podej\u015bcie pomo\u017ce nam monitorowa\u0107 aplikacj\u0119 AEM na pierwszy rzut oka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli potrzebujemy zbudowa\u0107 tak\u0105 automatyzacj\u0119 do sprawdzania i monitorowania \u015brodowisk w czasie rzeczywistym, mo\u017cemy u\u017cy\u0107 narz\u0119dzi OOTB Apache Sling Health Checks (lub HC).<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"health-checks-at-a-glance\">Health Checks w pigu\u0142ce<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Instancja HC to us\u0142uga OSGi, kt\u00f3ra implementuje\u00a0<strong>org.apache.sling.hc.api.HealthCheck<\/strong>\u00a0interfejs i zwraca\u00a0<strong>Result<\/strong>\u00a0zgodnie ze sprawdzanymi warunkami:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public interface HealthCheck {\npublic Result execute();\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Result<\/strong>\u00a0to prosta, niezmienna klasa, kt\u00f3ra dostarcza Status (<strong>OK, WARN, CRITICAL,<\/strong>\u00a0itd.) oraz jedn\u0105 lub wi\u0119cej wiadomo\u015bci przypominaj\u0105cych logi dla dodatkowych informacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uwaga: je\u015bli ustawisz jak\u0105kolwiek wiadomo\u015b\u0107 logu Result, zostanie ona zidentyfikowana w AEM jako WARN. W rezultacie powinni\u015bmy j\u0105 zdefiniowa\u0107 jako:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>new Result(Result.Status.OK, \"Some Message\")<\/code><\/pre>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"health-checks-execution\">Wykonanie Health Checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AEM to system modu\u0142owy, wi\u0119c mamy kilka miejsc konfiguracji dla ka\u017cdego elementu systemu. Us\u0142uga HC Executor jest jedn\u0105 z tych us\u0142ug, kt\u00f3r\u0105 mo\u017cna skonfigurowa\u0107 z\u00a0<strong>&#8222;\/system\/console\/configMgr\/org.apache.sling.hc.core.impl.executor.HealthCheckExecutorImpl&#8221;:&#8221;<\/strong><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac55593865e5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac55593865e5\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"355\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-Execution.webp\" alt=\"\" class=\"wp-image-6609\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-Execution.webp 732w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-Execution-300x145.webp 300w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Uwaga:<\/strong>\u00a0HC Executor wykonuje ka\u017cdy HC w ramach\u00a0<strong>Sling Thread pool<\/strong>, gwarantuj\u0105c, \u017ce mamy tylko jedn\u0105 uruchomion\u0105 instancj\u0119 naraz.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"custom-health-checks\">Niestandardowe Health Checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dla indywidualnej implementacji HC, powinni\u015bmy najpierw zaimplementowa\u0107 interfejs\u00a0<strong>org.apache.sling.hc.api.HealthCheck<\/strong>\u00a0i okre\u015bli\u0107 opcje dla us\u0142ugi w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Component(metatype = true)\n@Properties({\n        @Property(name = HealthCheck.NAME,value = \"HCName\"),\n        @Property(name = HealthCheck.TAGS,value = {\"meetup\"}),\n        @Property(name = HealthCheck.MBEAN_NAME,value = \"HCName\")\n})\n@Service(value = {HealthCheck.class})\npublic class IncorrectLocalhostHC implements HealthCheck {<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli HC ma by\u0107 wykonywany przez harmonogram (na przyk\u0142ad raz dziennie), mo\u017cemy okre\u015bli\u0107 interwa\u0142y harmonogramu we w\u0142a\u015bciwo\u015bciach:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Property(name = HealthCheck.ASYNC_CRON_EXPRESSION, value = \"0 0 12 1\/1 * ? *\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wersja Sling HC core 1.2.6 b\u0119dzie mia\u0142a now\u0105 w\u0142a\u015bciwo\u015b\u0107,\u00a0<strong>\u201chc.resultCacheTtlInMs\u201d<\/strong>. Zast\u0119puje ona globalny domy\u015blny czas \u017cycia (TTL) skonfigurowany w wykonawcy HC dla odpowiedzi HC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HC mo\u017ce by\u0107 r\u00f3wnie\u017c skonfigurowany za pomoc\u0105 adnotacji\u00a0<strong>@SlingHealthCheck<\/strong>, ale nie dzia\u0142a dla OOTB w AEM 6.1:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@SlingHealthCheck(\n    name=\"Health Check Name For Felix Console\", \n    mbeanName=\"JMX Name\",\n    description=\"Health Check Description\",\n    tags={\"meetup\"}\n)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Te proste kroki pozwalaj\u0105 na implementacj\u0119 HC, wykonywanego z konsoli Felix pod \u015bcie\u017ck\u0105 \u201c\/system\/console\/healthcheck\u201d:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5559386d5f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5559386d5f\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"676\" height=\"272\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-Execution-2.webp\" alt=\"\" class=\"wp-image-6610\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-Execution-2.webp 676w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-Execution-2-300x121.webp 300w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"health-checks-user-interface\">Interfejs u\u017cytkownika Health Checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli otworzymy\u00a0<strong>Tools -&gt; Operations -&gt; Dashboard -&gt; Console -&gt; Health Reports<\/strong>\u00a0(lub ze \u015bcie\u017cki\u00a0<strong>\u201c\/libs\/granite\/operations\/content\/healthreports.html\u201d<\/strong>), zobaczymy karty z HC.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac55593872f2&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac55593872f2\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1917\" height=\"748\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface.webp\" alt=\"\" class=\"wp-image-6611\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface.webp 1917w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-300x117.webp 300w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-1024x400.webp 1024w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-768x300.webp 768w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-1536x599.webp 1536w\" sizes=\"auto, (max-width: 1917px) 100vw, 1917px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Aby doda\u0107 niestandardowy HC jako kart\u0119 na tym pulpicie nawigacyjnym, musimy utworzy\u0107 w\u0119ze\u0142 pod \u015bcie\u017ck\u0105\u00a0<strong>\/apps\/granite\/operations\/config\/hc<\/strong>\u00a0z nast\u0119puj\u0105cymi w\u0142a\u015bciwo\u015bciami:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>resource<\/strong>{String} &#8211; \/system\/sling\/monitoring\/mbeans\/org\/apache\/sling\/healthcheck\/HealthCheck\/[\u00a0<strong>hc.name\u00a0<\/strong>]<\/li>\n\n\n\n<li><strong>sling:resourceType<\/strong>{String} &#8211; granite\/operations\/components\/mbean<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac555938780f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac555938780f\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1104\" height=\"186\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-2.webp\" alt=\"\" class=\"wp-image-6612\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-2.webp 1104w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-2-300x51.webp 300w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-2-1024x173.webp 1024w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-2-768x129.webp 768w\" sizes=\"auto, (max-width: 1104px) 100vw, 1104px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pulpit nawigacyjny Operations umo\u017cliwia r\u00f3wnie\u017c \u0142\u0105czenie kart HC w grupy (jak to ju\u017c zrobiono dla \u201cSystem Checks\u201d i \u201cSecurity Checks\u201d). Wszystkie z\u0142o\u017cone konfiguracje HC s\u0105 przechowywane w fabryce\u00a0<strong>org.apache.sling.hc.core.impl.CompositeHealthCheck<\/strong>. Aby doda\u0107 tutaj nasz niestandardowy HC, powinni\u015bmy zaimplementowa\u0107 now\u0105 konfiguracj\u0119 do tej fabryki z konsoli Felix lub z pliku konfiguracyjnego. W przypadku konsoli Felix musimy okre\u015bli\u0107 \u201cName\u201d dla grupy HC i \u201cFilter Tags\u201d, tak aby wszystkie HC z tymi tagami by\u0142y dost\u0119pne w ramach tego z\u0142o\u017conego komponentu karty HC na pulpicie nawigacyjnym Operations.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5559387cad&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5559387cad\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"925\" height=\"444\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-3.webp\" alt=\"\" class=\"wp-image-6614\" srcset=\"https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-3.webp 925w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-3-300x144.webp 300w, https:\/\/axamit.com\/wp-content\/uploads\/2017\/03\/Health-Checks-User-Interface-3-768x369.webp 768w\" sizes=\"auto, (max-width: 925px) 100vw, 925px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Bardziej szczeg\u00f3\u0142owa dokumentacja:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/sling.apache.org\/documentation\/bundles\/sling-health-check-tool.html\" target=\"_blank\" rel=\"noopener\">https:\/\/sling.apache.org\/documentation\/bundles\/sling-health-check-tool.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/administer\/operations\/operations-dashboard.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/administer\/operations\/operations-dashboard.html<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Problemy i cele Health Checks w pigu\u0142ce Wykonanie Health Checks Niestandardowe Health Checks Interfejs u\u017cytkownika Health Checks Je\u015bli [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":5015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[157],"tags":[],"class_list":["post-23385","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adobe-experience-manager"],"acf":{"cta":"Give Us a Call","phone":"+1 (438) 383-6878","meta-description":"Dowiedz si\u0119, jak korzysta\u0107 z narz\u0119dzi OOTB Apache Sling Health Checks Tools do sprawdzania i monitorowania \u015brodowiska aplikacji AEM na \u017cywo oraz zobacz przyk\u0142ady konfiguracji i dostosowywania."},"_links":{"self":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts\/23385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/comments?post=23385"}],"version-history":[{"count":1,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts\/23385\/revisions"}],"predecessor-version":[{"id":23386,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/posts\/23385\/revisions\/23386"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/media\/5015"}],"wp:attachment":[{"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/media?parent=23385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/categories?post=23385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/axamit.com\/pl\/wp-json\/wp\/v2\/tags?post=23385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}