Karaf Standalone에서 Fuse 관리

Red Hat Fuse 7.11

Fuse 콘솔을 사용하여 Fuse 애플리케이션 관리

Red Hat Fuse Documentation Team

초록

Fuse 애플리케이션을 배포할 때 Fuse Console을 사용하여 Red Hat Fuse 통합을 모니터링하고 상호 작용할 수 있습니다.

머리말

Red Hat Fuse는 Fuse 통합 보기 및 관리를 위한 두 가지 엔터프라이즈 모니터링 툴을 제공합니다.

  • Fuse 콘솔은 실행 중인 Fuse 컨테이너를 모니터링하고 관리하기 위해 브라우저에서 액세스할 수 있는 웹 기반 콘솔입니다. Fuse 콘솔은 Hawtio 오픈 소스 소프트웨어(https://hawt.io/)를 기반으로 합니다. 이 가이드에서는 Fuse Console 사용 방법을 설명합니다.
  • Prometheus는 Fuse 배포에 대한 시스템 및 통합 수준 지표를 저장합니다. Grafana와 같은 그래픽 분석 인터페이스를 사용하여 저장된 기록 데이터를 보고 분석할 수 있습니다. Prometheus 사용에 대한 자세한 내용은 Prometheus 설명서를 참조하십시오.

이 가이드의 대상은 Apache Karaf 관리자를 대상으로 하는 Red Hat Fuse입니다. 이 가이드에서는 Red Hat Fuse 플랫폼, Apache Camel 및 조직의 처리 요구 사항을 잘 알고 있다고 가정합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.

1장. Fuse 콘솔 정보

Red Hat Fuse Console은 HawtIO 오픈 소스 소프트웨어를 기반으로 하는 웹 콘솔입니다. 지원되는 브라우저 목록은 지원되는 구성으로 이동합니다.

Fuse Console은 배포된 하나 이상의 Fuse 컨테이너의 세부 정보를 검사하고 관리하는 중앙 인터페이스를 제공합니다. 또한 Red Hat Fuse 및 시스템 리소스를 모니터링하고 업데이트를 수행하며 서비스를 시작하거나 중지할 수 있습니다.

Red Hat Fuse 독립 실행형을 설치하거나 OpenShift에 Fuse를 사용하는 경우 Fuse Console을 사용할 수 있습니다. Fuse 콘솔에서 보고 관리할 수 있는 통합은 실행 중인 플러그인에 따라 다릅니다. 가능한 플러그인은 다음과 같습니다.

  • Camel
  • JMX
  • OSGI
  • 런타임
  • 로그

2장. Fuse Console에 액세스

Apache Karaf 독립 실행형용 Fuse 콘솔에 액세스하려면 다음 단계를 따르십시오.

사전 요구 사항

Karaf 컨테이너에 Fuse를 설치합니다. 단계별 지침은 Apache Karaf에 설치 를 참조하십시오.

절차

  1. 명령줄에서 Red Hat Fuse를 설치한 디렉터리로 이동하여 다음 명령을 실행하여 Fuse 독립 실행형을 시작합니다.

    ./bin/fuse

    Karaf 콘솔은 버전 정보, 기본 Fuse Console URL 및 공통 명령 목록을 시작하고 표시합니다.

  2. 브라우저에서 Fuse Console에 연결할 URL을 입력합니다. 예: http://localhost:8181/hawtio
  3. 로그인 페이지에서 사용자 이름과 암호를 입력한 다음 로그인 을 클릭합니다.

기본적으로 Fuse Console에는 홈 페이지가 표시됩니다. 왼쪽 탐색 탭에는 실행 중인 플러그인이 표시됩니다.

3장. Fuse Console 보안

Apache Karaf에서 Fuse 콘솔을 보호하려면 다음을 수행합니다.

  • AWS에 배포할 때 Fuse Console의 프록시 서블릿 비활성화

    독립 실행형 Fuse 애플리케이션을 AWS(Amazon Web Services)에 배포하려면 hawtio.disableProxy 시스템 속성을 true 로 설정하여 Fuse Console의 프록시 서블릿을 비활성화해야 합니다.

    참고

    Fuse Console 프록시 서블릿을 비활성화하면 Fuse Console의 Connect 탭이 비활성화되어 Fuse Console에서 다른 JVM에 연결할 수 없습니다. AWS에 둘 이상의 Fuse 애플리케이션을 배포하려면 각 애플리케이션에 Fuse Console을 배포해야 합니다.

  • 필요한 프로토콜로 HTTPS 설정

    hawtio.http.strictTransportSecurity 속성을 사용하면 웹 브라우저가 보안 HTTPS 프로토콜을 사용하여 Fuse Console에 액세스하도록 할 수 있습니다. 이 속성은 HTTP를 사용하여 Fuse 콘솔에 액세스하려는 웹 브라우저가 HTTPS를 사용하도록 요청을 자동으로 변환해야 함을 지정합니다.

  • 공개 키를 사용하여 응답 보안

    hawtio.http.publicKeyPins 속성을 사용하여 특정 암호화 공개 키를 Fuse 콘솔과 연결하도록 웹 브라우저에 고정 인증서와 "man-in-the-middle" 공격 위험을 줄임으로써 HTTPS 프로토콜을 보호할 수 있습니다.

  • SSL/TLS 보안 활성화

    Fuse Console에 대해 SSL/TLS 보안은 기본적으로 활성화되어 있지 않습니다. Fuse 콘솔에서 SSL/TLS 보안을 활성화하여 사용자 이름/암호 자격 증명을 스누핑에서 보호하는 것이 좋습니다.

  • Red Hat Single Sign On 구현
  • 사용자 액세스 제어

    인증된 사용자가 수행할 수 있는 작업은 표 4.1. “Karaf 독립 실행형 역할 기반 액세스” 에 나열된 대로 해당 사용자에게 할당된 역할(또는 역할)에 따라 달라집니다.

절차

  1. 필요한 프로토콜로 HTTPS를 설정하려면 다음 예와 같이 $KARAF_HOME/etc/system.properties 파일에서 hawtio.http.strictTransportSecurity 속성을 설정합니다.

    hawtio.http.strictTransportSecurity = max-age=31536000; includeSubDomains; preload
  2. 공개 키를 사용하여 응답을 보호하려면 다음 예와 같이 $KARAF_HOME/etc/system.properties 파일에서 hawtio.http.publicKeyPins 속성을 설정합니다.

    hawtio.http.publicKeyPins = pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains
  3. (AWS에만 배포하는 경우) Fuse Console의 프록시 서블릿을 비활성화하려면 다음 예와 같이 $KARAF_HOME/etc/system.properties 파일에서 hawtio.disableProxy 속성을 true 로 설정합니다.

    hawtio.disableProxy = true;
  4. SSL/TLS 보안을 활성화하는 방법에 대한 자세한 내용은 Apache Karaf 보안 가이드의 " Apache Karaf 컨테이너의 SSL/TLS 활성화" 섹션을 참조하십시오.
  5. Red Hat Single Sign-On을 사용하여 Fuse 콘솔을 보호하는 방법에 대한 자세한 내용은 Red Hat Single Sign-on Securing Applications and Services Guide 에서 Hawtio 관리 콘솔 보안 섹션을 참조하십시오.
  6. 사용자가 사용자가 수행해야 하는 Fuse Console 작업을 수행하는 데 필요한 사용자 역할 권한이 있는지 확인하려면 다음 단계를 수행하여 사용자 역할을 설정합니다.

    1. 편집기에서 Red Hat Fuse etc/users.properties 파일을 엽니다.
    2. 사용자 이름, 암호 및 역할에 대한 항목을 추가합니다.

      예를 들어 etc/users.properties 파일의 다음 항목은 admin 사용자를 정의하고 admin 역할을 부여합니다.

      admin = secretpass,admin
    3. 파일을 저장합니다.

추가 리소스

  • hawtio.http.strictTransportSecurity 속성 구문에 대한 설명은 HSTS(HTTP Strict Transport Security) 응답 헤더에 대한 설명 페이지를 참조하십시오.
  • Base64로 인코딩된 공개 키를 추출하는 방법에 대한 지침을 포함하여 hawtio.http.publicKeyPins 속성 구문에 대한 설명은 HTTP 공개 키 고정 응답 헤더에 대한 설명 페이지를 참조하십시오.

4장. 역할 기반 액세스 참조

인증된 사용자가 수행할 수 있는 작업은 표 4.1. “Karaf 독립 실행형 역할 기반 액세스” 에 나열된 대로 해당 사용자에게 할당된 역할(또는 역할)에 따라 달라집니다.

표 4.1. Karaf 독립 실행형 역할 기반 액세스

작업admin관리자뷰어

로그인/로그인

Y

Y

Y

도움말 주제 보기

Y

Y

Y

사용자 기본 설정 설정

Y

Y

Y

연결

   

원격 통합 검색 및 연결

Y

Y

Y

로컬 통합 검색 및 연결

Y

Y

Y

Camel

   

실행 중인 모든 Camel 애플리케이션 보기

Y

Y

Y

Camel 컨텍스트 시작, 일시 중지, 재개 및 삭제

Y

Y

 

메시지 전송

Y

Y

 

끝점 추가

Y

Y

 

경로, 경로 다이어그램 및 런타임 통계 보기

Y

Y

Y

경로 시작 및 중지

Y

Y

 

경로 삭제

Y

Y

 

JMX

   

속성 값 변경

Y

Y

 

시간 기반 차트에서 특성 선택 및 보기

Y

Y

Y

작업 보기

Y

Y

Y

OSGI

   

번들, 기능, 패키지, 서비스, 서버, 프레임워크 및 구성 보기

Y

Y

Y

번들 추가 및 삭제

Y

Y

 

구성 추가

Y

Y

 

기능 설치 및 제거

Y

  

런타임

   

시스템 속성, 메트릭 및 스레드 보기

Y

Y

Y

로그

   

로그 보기

Y

Y

Y

추가 리소스

역할 기반 액세스 제어에 대한 자세한 내용은 Apache Karaf에 배포를 참조하십시오.

5장. Fuse 콘솔 브랜딩 사용자 정의

Fuse Console 브랜딩 플러그인을 사용하여 제목, 로고 및 로그인 페이지 정보와 같은 Fuse Console 브랜딩 정보를 사용자 지정할 수 있습니다.

기본적으로 Fuse 콘솔 브랜딩은 Fuse 콘솔 WAR 파일(karaf-install-dir/system/io/hawtio-war/<version>/hawtio-war/<version>.war )에 있는 hawtconfig.json 에 정의되어 있습니다. Fuse Console 브랜딩 플러그인을 구현할 때 기본 브랜딩을 자체 사용자 정의 브랜딩으로 재정의할 수 있습니다.

절차

  1. https://github.com/hawtio/hawtio/tree/master/examples/branding-plugin 에서 선택한 로컬 디렉터리로 브랜딩 플러그인 예제를 다운로드합니다.
  2. 선택한 편집기에서 Fuse Console 브랜딩 플러그인의 src/main/webapp/plugin/brandingPlugin.js 파일을 열어 Fuse Console 브랜딩을 사용자 지정합니다.

    표 A.1. “Fuse 콘솔 구성 속성” 에 나열된 구성 속성 값을 변경할 수 있습니다.

  3. 변경 사항을 저장하십시오.
  4. 선택한 편집기에서 Fuse Console 브랜딩 플러그인의 pom.xml 파일을 < parent> 섹션으로 엽니다.

    <parent>
        <groupId>io.hawt</groupId>
        <artifactId>project</artifactId>
        <version>2.9-SNAPSHOT</version>
        <relativePath>../..</relativePath>
      </parent>
  5. 다음과 같이 & lt;parent& gt; 섹션을 편집합니다.

    1. Karaf 설치 시 Fuse 의 버전과 일치 하도록 <version> 속성의 값을 변경합니다. 예를 들어 Fuse on Karaf 설치 디렉터리 이름이 2.0.0.fuse-760015 인 경우 버전을 2.0.0.fuse-760015 로 설정합니다.
    2. &lt ;relativePath>...</relativePath> 행을 제거합니다.

      예를 들면 다음과 같습니다.

      <parent>
          <groupId>io.hawt</groupId>
          <artifactId>project</artifactId>
          <version> 2.0.0.fuse-760015</version>
            </parent>
  6. 터미널 창에서 다음 명령을 실행하여 branding-plugin 프로젝트를 빌드합니다.

    mvn clean install
  7. Fuse가 아직 실행되고 있지 않은 경우 다음 명령을 실행하여 시작합니다.

    Linux/Unix: bin/fuse

    Windows: bin\fuse.bat`

  8. Karaf CLI 프롬프트에서 다음 명령을 입력하여 Fuse 콘솔 브랜딩 플러그인을 설치합니다(< version >은 Karaf 설치 시 Fuse 버전임).

    Linux/Unix: install -s mvn:io.hawt/branding-plugin/<version>/war

    Windows: install -s mvn:io.hawt\branding-plugin\<version>\war

  9. 웹 브라우저에서 시작 명령이 7단계에서 반환된 URL을 사용하여 Fuse 콘솔을 엽니다(기본 URL은 http://localhost:8181/hawtio/).
참고

웹 브라우저에서 Fuse Console을 이미 실행한 경우 브랜드가 브라우저의 로컬 스토리지에 저장됩니다. 새로운 브랜딩 설정을 사용하려면 브라우저의 로컬 스토리지를 지워야 합니다.

6장. Fuse Console에 데이터가 올바르게 표시되도록 합니다.

Fuse Console의 대기열 및 연결 표시에 큐가 없거나 연결이 누락되었거나 일관성 없는 아이콘을 표시하는 경우 Jolokia 컬렉션 크기 매개변수를 조정하여 Jolokia marshals를 응답에 마샬링하는 배열의 최대 요소 수를 지정합니다.

절차

  1. Fuse Console의 오른쪽 상단에서 사용자 아이콘을 클릭한 다음 기본 설정을 클릭합니다.

    mf preferences

  2. 최대 컬렉션 크기 옵션의 값을 늘립니다(기본값은 50,000).
  3. 닫기를 클릭합니다.

7장. Fuse 콘솔 비활성화

다른 구성 요소에 영향을 주지 않고 모든 사용자가 액세스할 수 없도록 Karaf에서 Fuse 콘솔을 비활성화할 수 있습니다.

절차

  1. hawtio-web 번들 ID를 확인하려면 다음 명령을 사용하여 Fuse Console에서 사용하는 Fuse 번들을 나열합니다.

    OSGi:list | grep hawtio

  2. 번들을 중지하려면 osgi:stop 명령을 사용합니다. 예를 들어 hawtio :: 웹 콘솔 번들의 ID가 246인 경우 다음 명령을 입력합니다.

    osgi:stop 246

번들이 해결된 상태로 전환되고 더 이상 Fuse Console에 액세스할 수 없습니다.

추가 리소스

번들 관리에 대한 자세한 내용은 Apache Karaf에 배포 의 "라이프 관리" 장을 참조하십시오.

8장. 원격 Fuse 애플리케이션에 연결

Fuse 콘솔은 클라이언트에 추가 소프트웨어( 에이전트)가 설치되어 있어야 하는 JMX(Java Management Extensions)에 대한 에이전트 기반 접근 방식인 Jolokia를 사용합니다. 기본적으로 Red Hat Fuse에는 jolokia 에이전트가 포함되어 있습니다.

독립 실행형 Fuse Console 배포를 사용하면 이미 jolokia 에이전트가 있는 원격 통합에 연결할 수 있습니다(https://jolokia.org/). 연결하려는 프로세스에는 jolokia 에이전트가 없는 경우 jolokia 문서(http://jolokia.org/agent.html)를 참조하십시오.

8.1. Fuse 콘솔 잠금 해제

기본적으로 Apache Karaf에서 Fuse 7 독립 실행형용 Jolokia는 잠겼으며 Fuse Console은 원격으로 액세스할 수 없습니다.

locahost 또는 127.0.0.1 이외의 호스트 이름 또는 IP 주소에 대해 Fuse Console의 잠금을 해제하려면 다음 단계를 따르십시오.

  1. 편집기에서 $KARAF_HOME/etc/jolokia-access.xml 파일을 엽니다.
  2. < cors > 섹션에 추가하여 Fuse 콘솔로 액세스할 Fuse 통합의 호스트 이름 또는 IP 주소를 등록합니다.

    예를 들어 Fuse 콘솔에서 호스트 이름 0.0.0.3 에 액세스하려면 다음을 추가합니다.

    *<allow-origin>http://0.0.0.3:*</allow-origin>*

    다음과 같이 행합니다.

    <!--
    
      Cross-Origin Resource Sharing (CORS) restrictions
    
      By default, only CORS access within localhost is allowed for maximum security.
    
      You can add trusted hostnames in the <cors> section to unlock CORS access from them.
    
      -->
    
      <cors>
    
        <!-- Allow cross origin access only within localhost -->
    
        <allow-origin>http*://localhost:*</allow-origin>
    
        <allow-origin>http*://127.0.0.1:*</allow-origin>
    
        <allow-origin>http://0.0.0.3:*</allow-origin>
    
        <!-- Whitelist the hostname patterns as <allow-origin> -->
    
        <!--
    
        <allow-origin>http*://*.example.com</allow-origin>
    
        <allow-origin>http*://*.example.com:*</allow-origin>
    
        -->
    
        <!-- Check for the proper origin on the server side to protect against CSRF -->
    
        <strict-checking />
    
      </cors>
  3. 파일을 저장합니다.

8.2. 원격 액세스 제한

선택적으로 특정 호스트 및 IP 주소에 대해 Fuse Console에 대한 원격 액세스를 제한할 수 있습니다.

HTTP 클라이언트의 IP 주소를 기반으로 전체 액세스 권한을 부여할 수 있습니다. 다음 제한 사항을 지정하려면 다음을 수행합니다.

jolokia-access.xml 파일에서 하나 이상의 < host > 요소가 포함된 < remote > 섹션을 추가하거나 편집합니다. < host > 요소의 경우 CIDR 형식으로 지정된 IP 주소, 호스트 이름 또는 넷마스크를 지정할 수 있습니다(예: 10.0 네트워크에서 들어오는 모든 클라이언트의 경우 10.0.0.0/16 ).

다음 예제에서는 localhost와 IP 주소가 10.0 으로 시작하는 모든 클라이언트에서 액세스할 수 있습니다. 다른 모든 IP 주소의 경우 액세스가 거부됩니다.

<remote>
  <host>localhost</host>
  <host>10.0.0.0/16</host>
</remote>

자세한 내용은 Jolokia 보안 문서 (https://jolokia.org/reference/html/security.html)를 참조하십시오.

8.3. 원격 Fuse 인스턴스에 연결 허용

Fuse 콘솔의 프록시 서블릿은 허용 목록 호스트 보호를 사용하며 기본적으로 Fuse Console은 localhost에만 연결할 수 있습니다. Fuse Console을 다른 원격 Fuse 인스턴스에 연결하려면 다음과 같이 허용 목록을 구성해야 합니다.

Apache Karaf의 경우 etc/system.properties 파일에서 다음과 같은 구성을 변경합니다.

hawtio.proxyWhitelist = localhost, 127.0.0.1, myhost1, myhost2, myhost3

8.4. 원격 Jolokia 에이전트에 연결

시작하기 전에 원격 Jolokia 에이전트의 연결 세부 정보(호스트 이름, 포트 및 경로)를 알아야 합니다.

Apache Karaf의 Fuse용 Jolokia 에이전트의 기본 연결 URL은 http://<host>:8181/hawtio/jolokia 입니다.

시스템 관리자는 이 기본값을 변경할 수 있습니다.

일반적으로 Jolokia 에이전트에 원격으로 연결하는 URL은 Fuse Console과 /jolokia 를 여는 URL입니다. 예를 들어, Fuse Console을 여는 URL이 http://<host>:1234/hawtio 인 경우 원격으로 연결할 URL은 http://<host>:1234/hawtio/jolokia 일 것입니다.

JVM을 검사할 수 있도록 원격 Jolokia 인스턴스에 연결하려면 다음을 수행합니다.

  1. 연결 탭을 클릭합니다.
  2. 원격 탭을 클릭한 다음 연결 추가 를 클릭합니다.
  3. 이름, 스키마 (HTTP 또는 HTTPS) 및 호스트 이름을 입력합니다.
  4. 연결 테스트를 클릭합니다.
  5. 추가를 클릭합니다.
참고

Fuse 콘솔은 localhost 및 127.0.0.1 이외의 로컬 네트워크 인터페이스를 자동으로 조사하고 허용 목록에 추가합니다. 따라서 로컬 머신의 주소를 허용 목록에 수동으로 등록할 필요가 없습니다.

8.5. 데이터 이동 기본 설정

예를 들어 Fuse Console에 표시되는 데이터를 더 자주 새로 고치려는 경우 다음과 같은 Jolokia 기본 설정을 변경할 수 있습니다. 데이터 업데이트 빈도를 늘리면 네트워킹 트래픽에 영향을 미치고 서버에 대한 요청 수를 늘립니다.

  • 업데이트 속도 - Jolokia에 폴링하여 Cryostat 데이터를 가져오는 간격(기본값은 5초)입니다.
  • 최대 깊이 - Jolokia가 반환하기 전에 서버 측의 JSON으로 객체를 마샬링하는 수준 (기본값은 7)입니다.
  • 최대 컬렉션 크기 - Jolokia가 응답에서 마샬링하는 배열의 최대 요소 수입니다(기본값은 50,000).

이러한 설정의 값을 변경하려면 다음을 수행합니다.

  1. Fuse Console의 오른쪽 상단에서 사용자 아이콘을 클릭한 다음 기본 설정을 클릭합니다.

    mf preferences

  2. 옵션을 편집한 다음 닫기 를 클릭합니다.

8.6. JVM 런타임 정보 보기

시스템 속성, 메트릭 및 스레드와 같은 JVM 런타임 정보를 보려면 런타임 탭을 클릭합니다.

9장. Apache Camel 애플리케이션 보기 및 관리

Fuse 콘솔의 Camel 탭에서 Apache Camel 컨텍스트, 경로 및 종속성을 보고 관리합니다.

다음 세부 정보를 볼 수 있습니다.

  • 실행 중인 모든 Camel 컨텍스트 목록
  • Camel 버전 번호 및 런타임 정적과 같은 각 Camel 컨텍스트에 대한 자세한 정보
  • 각 Camel 애플리케이션의 모든 경로 목록 및 런타임 통계
  • 실행 중인 경로의 그래픽 표현과 실시간 메트릭

다음을 통해 Camel 애플리케이션과 상호 작용할 수도 있습니다.

  • 컨텍스트 시작 및 일시 중단
  • 모든 Camel 애플리케이션 및 해당 경로의 라이프사이클을 관리하여 재시작, 중지, 일시 중지, 재개 등을 수행할 수 있습니다.
  • 실행 중인 경로의 실시간 추적 및 디버깅
  • Camel 엔드포인트에 메시지 검색 및 전송

사전 요구 사항

Camel 탭은 하나 이상의 Camel 경로를 사용하는 컨테이너에 연결할 때만 사용할 수 있습니다.

9.1. 컨텍스트 시작, 일시 중지 또는 삭제

  1. Camel 탭의 트리 보기에서 Camel Contexts 를 클릭합니다.
  2. 목록에서 하나 이상의 컨텍스트 옆에 있는 확인란을 선택합니다.
  3. 시작 또는 일시 중지 를 클릭합니다.
  4. 컨텍스트를 삭제하려면 다음을 수행합니다.

    1. 컨텍스트를 중지합니다.
    2. 아이콘을 클릭한 다음 드롭다운 메뉴에서 삭제 를 선택합니다.
참고

컨텍스트를 삭제하면 배포된 애플리케이션에서 해당 컨텍스트를 제거합니다.

9.2. Camel 애플리케이션 세부 정보 보기

  1. Camel 탭의 트리 뷰에서 Camel 애플리케이션을 클릭합니다.
  2. 애플리케이션 특성 및 값 목록을 보려면 속성을 클릭합니다.
  3. 애플리케이션 특성의 그래픽 표시를 보려면 차트 를 클릭한 다음 편집을 클릭하여 차트에서 볼 속성을 선택합니다.
  4. 진행 중 및 차단된 교환을 보려면 교환을 클릭합니다.
  5. 애플리케이션 엔드포인트를 보려면 끝점을 클릭합니다. URL,경로 ID방향으로 목록을 필터링할 수 있습니다.
  6. 메시지 본문 및 메시지 헤더를 다른 유형으로 변환하는 데 사용되는 Camel 기본 제공 유형 변환 메커니즘과 관련된 통계를 확인, 활성화 및 비활성화하려면 유형 다운로드를 클릭합니다.
  7. XML에서 경로 추가 또는 업데이트 또는 classpath에서 사용 가능한 모든 Camel 구성 요소를 찾는 등 Cryostat 작업을 보고 실행하려면 Operations 를 클릭합니다.

9.3. Camel 경로 목록 보기 및 상호 작용

  1. 경로 목록을 보려면 다음을 수행합니다.

    1. Camel 탭을 클릭합니다.
    2. 트리 뷰에서 애플리케이션의 경로 폴더를 클릭합니다.

      mf list of routes

  2. 하나 이상의 경로를 시작, 중지 또는 삭제하려면 다음을 수행합니다.

    1. 목록에서 하나 이상의 경로 옆에 있는 확인란을 선택합니다.
    2. 시작 또는 중지 를 클릭합니다.
    3. 경로를 삭제하려면 먼저 중지해야 합니다. 그런 다음 아이콘을 클릭하고 드롭다운 메뉴에서 삭제 를 선택합니다.

      mf delete route

      참고
      • 경로를 삭제하면 배포된 애플리케이션에서 해당 경로를 제거합니다.
      • 트리 보기에서 특정 경로를 선택한 다음 오른쪽 상단 메뉴를 클릭하여 시작, 중지 또는 삭제할 수도 있습니다.
  3. 경로의 그래픽 다이어그램을 보려면 Route Diagram 을 클릭합니다.
  4. 진행 중 및 차단된 교환을 보려면 교환을 클릭합니다.
  5. 엔드포인트를 보려면 끝점을 클릭합니다. URL, 경로 ID 및 방향별로 목록을 필터링할 수 있습니다.
  6. 메시지 본문 및 메시지 헤더를 다른 유형으로 변환하는 데 사용되는 Camel 기본 제공 유형 변환 메커니즘과 관련된 통계를 확인, 활성화 및 비활성화하려면 Type Cryostat를 클릭합니다.
  7. 특정 경로와 상호 작용하려면 다음을 수행합니다.

    1. Camel 탭의 트리 보기에서 경로를 선택합니다.
    2. 경로 속성 및 값 목록을 보려면 속성을 클릭합니다.
    3. 경로 속성의 그래픽 표시를 보려면 차트 를 클릭합니다. 편집을 클릭하여 차트에서 표시할 속성을 선택할 수 있습니다.
    4. 진행 중 및 차단된 교환을 보려면 교환을 클릭합니다.
    5. 작업에서 경로를 XML로 덤프하거나 경로의 Camel ID 값을 가져오는 등 경로에서 Cryostat 작업을 보고 실행합니다.
  8. 경로를 통해 메시지를 추적하려면 다음을 수행합니다.

    1. Camel 탭의 트리 보기에서 경로를 선택합니다.
    2. 추적 을 선택한 다음 추적 시작을 클릭합니다.
  9. 경로에 메시지를 보내려면 다음을 수행합니다.

    1. Camel 탭의 트리 뷰에서 컨텍스트의 엔드포인트 폴더를 연 다음 엔드포인트를 선택합니다.
    2. Send 를 클릭합니다.
    3. 메시지를 JSON 또는 XML 형식으로 구성합니다.
    4. 전송을 클릭합니다.
    5. 경로의 추적 탭으로 돌아가 경로를 통한 메시지 흐름을 확인합니다.

9.4. 경로 디버깅

  1. Camel 탭의 트리 보기에서 경로를 선택합니다.
  2. 디버그를 선택한 다음 디버깅 시작을 클릭합니다.
  3. Cryostat를 추가하려면 다이어그램에서 노드를 선택한 다음 Add Cryostat를 클릭합니다. 노드에 빨간색 점이 표시됩니다.

    mf breakpoint

    노드가 Cryostat 목록에 추가됩니다.

    mf breakpointlist

  4. 아래쪽 화살표를 클릭하여 다음 노드 또는 재생 버튼으로 이동하여 경로 실행을 다시 시작합니다.
  5. 일시 중지 버튼을 클릭하여 경로에 대한 모든 스레드를 일시 중지합니다.
  6. 완료되면 디버깅 중지 를 클릭합니다. 모든 Cryostat가 지워집니다.

10장. Cryostat 도메인 및 Cryostat 보기 및 관리

JMX(Java Management Extensions)는 런타임 시 리소스(서비스, 장치 및 애플리케이션)를 동적으로 관리할 수 있는 Java 기술입니다. 리소스는 Cryostats라는 오브젝트로 표시됩니다(관리됨의 경우). 리소스를 생성, 구현 또는 설치하는 즉시 리소스를 관리하고 모니터링할 수 있습니다.

Fuse Console에서 Cryostat 플러그인을 사용하면 Cryostat 도메인 및 Cryostat를 보고 관리할 수 있습니다. Cryostat 특성을 보고, 명령을 실행하고, 통계를 표시하는 차트를 만들 수 있습니다.

Cryo stat 탭에서는 폴더에 구성된 활성 Cryostat 도메인 및 Cryostat의 트리 뷰를 제공합니다. Cryostat에서 세부 정보를 보고 명령을 실행할 수 있습니다.

절차

  1. Cryostat 특성을 보고 편집하려면 다음을 수행합니다.

    1. 트리 보기에서na를 선택합니다.In the tree view, select an value.
    2. 특성 탭을 클릭합니다.
    3. 속성을 클릭하여 세부 정보를 확인합니다.
  2. 작업을 수행하려면 다음을 수행합니다.

    1. 트리 보기에서na를 선택합니다.In the tree view, select an value.
    2. Operations 탭을 클릭하고 나열된 작업 중 하나를 확장합니다.
    3. 실행을 클릭하여 작업을 실행합니다.
  3. 차트를 보려면 다음을 수행합니다.

    1. 트리 뷰에서 항목을 선택합니다.
    2. 차트 탭을 클릭합니다.

11장. Quartz 일정 보기 및 관리

Quartz(http://www.quartz-scheduler.org/)는 대부분의 Java 애플리케이션 내에서 통합할 수 있는 풍부한 기능을 갖춘 오픈 소스 작업 스케줄링 라이브러리입니다. Quartz를 사용하여 작업 실행을 위한 단순 또는 복잡한 스케줄을 생성할 수 있습니다. 작업은 프로그래밍할 거의 모든 작업을 실행할 수 있는 표준 Java 구성 요소로 정의됩니다.

Camel 경로가 camel-quartz2 구성 요소를 배포하는 경우 Fuse Console은 Quartz 탭을 표시합니다. Cryostat 트리 보기를 통해 Quartz mbeans에 대체할 수 있습니다.

절차

  1. Fuse 콘솔에서 Quartz 탭을 클릭합니다.

    Quartz 페이지에는 Quartz 스케줄러 및 스케줄러 ,트리거작업 탭의 트리 뷰가 포함되어 있습니다.

  2. 스케줄러를 일시 중지하거나 시작하려면 스케줄러 탭에서 버튼을 클릭합니다.
  3. 트리거 탭을 클릭하여 작업이 실행될 시기를 결정하는 트리거를 확인합니다. 예를 들어, 트리거는 지정된 요일에 (마이크로초) 특정 시간에 작업을 시작하도록 지정하거나 지정된 일수 또는 특정 시간에 반복하도록 지정할 수 있습니다.

    • 트리거 목록을 필터링하려면 드롭다운 목록에서 State,Group,Name 또는 Type 을 선택합니다. 그런 다음 fill-on 필드를 선택하거나 입력하여 목록을 추가로 필터링할 수 있습니다.
    • 트리거를 일시 중지, 재개, 업데이트 또는 수동으로 실행하려면 Action 열에서 옵션을 클릭합니다.
  4. 작업 탭을 클릭하여 실행 중인 작업 목록을 확인합니다. 표의 열로 목록을 정렬할 수 있습니다. Group,Name,Durable,Recover,Job ClassName, description .

12장. OSGI 환경 보기 및 관리

Apache Karaf 독립 실행형 배포의 경우 Red Hat Fuse OSGi 환경을 보고 관리할 수 있습니다. 컨테이너 번들, 기능 및 구성뿐만 아니라 Java 패키지 및 OSGi 서비스를 보고 관리할 수 있습니다.

OSGi 탭에는 각 컨테이너 구성 요소에 대한 옵션이 포함된 일련의 기능이 포함되어 있습니다.

번들
설치된 번들 목록입니다. 번들을 설치 및 제거하고 번들을 시작 및 중지하고 번들 속성을 편집할 수 있습니다. 목록 및 그리드 보기 간의 토글을 필터링할 수도 있습니다.
기능
사용 가능한 기능 목록입니다. 기능 또는 기능 리포지토리를 설치 및 제거하고 드릴다운하여 기능 세부 정보를 볼 수 있습니다.
패키지
설치된 Java 패키지 목록입니다. 패키지 버전 및 관련 번들을 볼 수 있습니다.
서비스
실행 중인 서비스 목록입니다. 서비스 ID, 관련 번들 및 오브젝트 클래스를 볼 수 있습니다.
선언적 서비스
선언적 OSGi 서비스 목록입니다. 서비스 상태를 보고 드릴다운하여 서비스 세부 정보를 볼 수 있습니다. 또한 서비스를 활성화 및 비활성화할 수 있습니다.
서버
로컬 또는 원격 호스트에 대한 자세한 정보는 읽기 전용 모드입니다.
프레임워크
컨테이너 OSGi 프레임워크의 구성 옵션입니다. 프레임워크 시작 수준 및 초기 번들 시작 수준을 설정할 수 있습니다.
설정
구성 오브젝트 목록입니다. 각 개체의 상태를 보고 드릴다운하여 오브젝트 세부 정보를 보거나 편집할 수 있습니다. 새 구성 오브젝트를 생성할 수도 있습니다.

13장. 진단 보기

JVM Diagnostic Command 및 CryostatDiangostic 인터페이스를 통해 JVM에 대한 진단 정보를 보려면 Cryostat 탭을 사용합니다.

참고

기능은 jmc(Java Mission Control) 또는 명령줄 도구 jcmd의 진단 명령 보기와 유사합니다. 플러그인은 일부 시나리오에서 해당 jcmd 명령을 제공합니다.

절차

  1. 로드된 클래스의 인스턴스 수와 필요한 바이트 수를 검색하려면 클래스 histogram을 클릭합니다. 작업이 반복되면 탭에 마지막 실행 이후의 차이점이 표시됩니다.
  2. JVM 진단 플래그 설정을 보려면 JVM 플래그 를 클릭합니다.
  3. 실행 중인 JVM의 경우 플래그 설정도 수정할 수 있습니다.

추가 리소스

지원되는 JVM은 플랫폼에 따라 다릅니다. 자세한 내용은 다음 소스 중 하나로 이동합니다.

14장. 스레드 보기

스레드 상태를 보고 모니터링할 수 있습니다.

절차

  1. Runtime 탭을 클릭한 다음 Threads 를 클릭합니다. Threads 페이지에는 각 스레드에 대한 활성 스레드 및 스택 추적 세부 정보가 나열됩니다. 기본적으로 스레드 목록은 모든 스레드를 내림차순으로 표시합니다.
  2. ID를 늘려 목록을 정렬하려면 ID 열 레이블을 클릭합니다.
  3. 선택적으로 스레드 상태(예: Blocked) 또는 스레드 이름으로 목록을 필터링합니다.
  4. 해당 스레드의 잠금 클래스 이름 및 전체 스택 추적과 같은 특정 스레드에 대한 자세한 정보를 드릴다운하려면 Actions 열에서 More 를 클릭합니다.

15장. 로그 항목 보기

로그 탭에서 Red Hat Fuse의 로그 항목을 볼 수 있습니다.

사전 요구 사항

로그 탭은 Java 애플리케이션에 로그가 포함된 경우 사용할 수 있습니다.

절차

  1. 로그 항목 목록을 보려면 로그 항목 탭을 클릭합니다.

    기본적으로 목록에는 로그 항목이 오름차순으로 표시됩니다.

    각 로그 항목으로 드릴다운하여 로그 항목에 대한 자세한 정보를 볼 수 있습니다.

  2. 특정 로그 유형을 표시하도록 로그 목록을 필터링하려면 작업 표시줄 을 클릭합니다. 텍스트 문자열 또는 로깅 수준에 따라 로그 항목 섹션을 필터링할 수 있습니다.
  3. Fuse Console 기본 설정을 변경하려면 다음을 수행합니다.

    1. Fuse Console의 오른쪽 상단에 있는 사용자 아이콘을 클릭한 다음 드롭다운 메뉴에서 Preferences 를 클릭합니다.

      mf preferences

    2. 기본 정렬 순서를 변경하려면 서버 로그 를 선택한 다음 로그 항목 링크를 클릭하여 번들 이름, 스레드 및 전체 메시지 텍스트와 같은 로그 항목에 대한 세부 정보를 드릴다운합니다.
    3. 선택적으로 로그 메시지를 저장하기 위해 이러한 설정을 사용자 지정할 수 있습니다.

      • Fuse Console에 보관할 로그 문의 수입니다(기본값: 100).
      • 글로벌 로그 수준: INFO (기본값), OFF, ERROR, WARN, DEBUG.
      • hawtio-oauthhawtio-core-utils 와 같이 포함할 하위 수준 메시지입니다.
    4. Fuse 콘솔 로그 설정을 기본값으로 재설정하려면 재설정 → 설정 재설정 을 클릭합니다.

16장. Prometheus 지표 활성화

Prometheus는 독립 실행형 Apache Karaf 컨테이너에 배포된 서비스를 모니터링하는 데 사용할 수 있는 오픈 소스 시스템 및 서비스 모니터링 및 경고 툴킷입니다. Prometheus는 지정된 간격으로 구성된 서비스에서 지표를 수집 및 저장하고, 규칙 표현식을 평가하고, 결과를 표시하며, 지정된 조건이 true인 경우 경고를 트리거할 수 있습니다.

중요

Prometheus에 대한 Red Hat 지원은 Red Hat 제품 설명서에 제공된 설정 및 구성 권장 사항으로 제한됩니다.

Prometheus는 클라이언트에 설치되어 구성된 "exporters"를 사용하여 Prometheus 형식에 끝점을 노출합니다. 이 끝점은 메트릭 목록과 메트릭의 현재 값을 제공하는 HTTP 인터페이스입니다. Prometheus는 각 대상 정의 끝점을 주기적으로 스크랩하고 수집된 데이터를 데이터베이스에 씁니다. Prometheus는 현재 실행 중인 세션에 대해서만 데이터를 수집하는 것이 아니라 장기간에 걸쳐 데이터를 수집합니다. Prometheus는 데이터에 대한 쿼리를 그래픽으로 시각화하고 실행할 수 있도록 데이터를 저장합니다.

16.1. 독립 실행형 Apache Karaf 컨테이너에서 메트릭 내보내기 활성화

Prometheus는 Camel에서 노출하는 메트릭이 포함된 구성 파일( https://raw.githubusercontent.com/jboss-fuse/application-templates/master/prometheus/prometheus-config.yml)을 사용합니다.https://raw.githubusercontent.com/jboss-fuse/application-templates/master/prometheus/prometheus-config.yml

참고

식별할 수 있는 지표는 Cryostat에서 제공되는 메트릭으로 제한됩니다.

Apache Camel 메트릭을 생성하려면 Fuse 애플리케이션을 배포해야 합니다.

절차

명령줄을 사용하여 독립 실행형 Apache Karaf 컨테이너에서 Prometheus 메트릭을 내보낼 수 있습니다.

  1. 명령 프롬프트를 열고 Apache Karaf 설치의 etc/ 디렉토리에 있는지 확인합니다.
  2. 다음 명령을 입력하여 etc/ 디렉터리의 예제 파일에서 Prometheus 구성 파일을 생성합니다.

    cp prometheus-config.yml-example prometheus-config.yml
  3. 내보내기는 fuse 또는 fuse.extension 명령을 사용하여 Fuse를 시작할 때만 사용할 수 있습니다. Windows에서 bin/fuse 를 실행하거나 bin\fuse. shared를 실행합니다.
  4. Fuse가 다시 시작되면 http://localhost:9779에서 웹 브라우저를 열어 노출된 메트릭을 볼 수 있습니다.
참고

선택적으로 명령줄에서 KARAF_PROMETHEUS_PORTKARAF_PROMETHEUS_CONFIG 구성 변수의 기본값을 변경할 수 있습니다.

16.2. Apache Karaf 컨테이너에서 노출된 메트릭을 스크랩하도록 Prometheus 서버 구성

Prometheus 서버가 Apache Karaf 컨테이너에서 지표를 스크랩하도록 활성화하려면 지표를 노출하는 끝점을 Prometheus 구성 파일의 target 속성에 추가해야 합니다.

절차

  1. Prometheus 설치 디렉터리의 /prometheus.yml 구성 파일로 이동합니다.
  2. 스크랩에 Apache Karaf 끝점을 추가합니다.

    scrape_configs:
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
        static_configs:
        - targets: ['localhost:9779']

부록 A. Fuse 콘솔 구성 속성

기본적으로 Fuse Console 구성은 hawtconfig.json 파일에 정의됩니다. 제목, 로고 및 로그인 페이지 정보와 같은 Fuse Console 구성 정보를 사용자 지정할 수 있습니다.

표 A.1. “Fuse 콘솔 구성 속성” 각 속성에 값이 필요한지 여부에 관계없이 속성 및 목록에 대한 설명을 제공합니다.

표 A.1. Fuse 콘솔 구성 속성

섹션속성 이름기본값 설명필수 여부

정보

제목

Red Hat Fuse Management Console

Fuse Console의 정보 페이지에 표시되는 제목입니다.

필수 항목

 

productInfo

빈 값

Fuse 콘솔의 정보 페이지에 표시되는 제품 정보입니다. 

선택 사항

 

additionalInfo

빈 값

Fuse Console의 정보 페이지에 표시되는 추가 정보입니다. 

선택 사항

 

저작권

빈 값

Fuse Console의 정보 페이지에 표시되는 저작권 정보. 

선택 사항

 

imgSrc

img/Logo-RedHat-A-Reverse-RGB.png

Fuse 콘솔의 정보 페이지에 표시되는 이미지입니다. 

필수 항목

브랜딩

appName

Red Hat Fuse Management Console

애플리케이션 이름입니다. 이 이름은 Fuse Console의 제목 표시줄에 표시됩니다.

필수 항목

 

appLogoUrl

img/Logo-Red_Hat-Fuse-A-Reverse-RGB.png

Fuse 콘솔 }navigation 표시줄에 표시되는 애플리케이션 로고 이미지 파일의 경로입니다. 값은 Hawtio 상태 URL 또는 절대 URL을 기준으로 하는 경로일 수 있습니다.

필수 항목

 

CSS

 

애플리케이션의 스타일을 지정하는 데 사용할 수 있는 외부 CSS 스타일시트의 URL입니다. Hawtio 상태 URL을 기준으로 하는 경로이거나 절대 URL일 수 있습니다.

선택 사항

 

companyLogoUrl

img/Logo-RedHat-A-Reverse-RGB.png

회사 로고 이미지 파일의 경로입니다. 

필수 항목

 

favicon

 

일반적으로 웹 브라우저 탭에 표시되는 favicon의 URL입니다. Hawtio 상태 URL을 기준으로 하는 경로이거나 절대 URL일 수 있습니다.

선택 사항

login

description

빈 값

Fuse 콘솔 로그인 페이지에 표시되는 설명 텍스트(예: http://localhost:8181/hawtio).

선택 사항

 

링크

[ ]

"url""text" 쌍의 배열을 지정하여 사용자가 더 많은 정보 또는 도움말을 가져올 수 있는 페이지에 대한 추가 링크를 제공합니다.

선택 사항

disabledRoutes

none

[ ]

콘솔에서 특정 경로(예: 플러그인)를 비활성화합니다. 이 섹션을 변경하지 마십시오. OpenShift 이외의 배포에서는 변경 사항이 지원되지 않습니다.

선택 사항

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.