mvn package fabric8:build
내가 프로 메테우스 수출에 관심이 JMX 콩을 포함 (필터링)하지 않는 /opt/agent_bond/jmx_exporter_config.xml
을 포함하여 건설되고 기본 도커 이미지에 의해 만들어진 도커 이미지에 jmx_exporter_config.xml를 교체합니다.는 Fabric8 받는다는 플러그인
Fabric8 Maven 플러그인으로 빌드하는 동안 어떻게 파일을 대체 할 수 있습니까?
Docker 이미지를 처음부터 만들거나 Fabric8 플러그인 XML 설정을 사용하여 모든 것을 재정의 할 수 있다는 것을 알고 있지만 이는 기본 "Zero-config"접근 방식과 비교하여 너무 침해가 있습니다.
업데이트 : 그래서 내가 발견 한 방법입니다
가 src/main/fabric8-includes
에 사용자 지정 jmx_exporter_config.yml
파일을 추가 한 다음 src/main/fabric8/deployment.yml
으로는 Kubernetes 배포를 통해 환경 변수를 추가 할 :
spec:
template:
spec:
containers:
-env:
- name: AB_JMX_EXPORTER_CONFIG
value: /deployments/jmx_exporter_config.yml
를 불행하게도, 도커 이미지에 이 경우에는 기본적으로 맞춤 측정 항목이 노출되지 않습니다.
스프링 부트 생성기 "제로 구성"옵션을 사용할 때 노출 된 포트를 추가 할 수 없습니다. 2
업데이트 그래서 ENV 항목에 대한 해결 방법은 작품을 좋아하고 아마 내 사용 사례에 충분하다. 내가 노출하려고했던 네 번째 포트는 스프링 부트 관리 포트 (기본값 8081)입니다. 그러나 Keblet은 Spring Boot 서비스의 Docker 이미지에서 노출되지 않아도 Kubelet이 해당 포트에 액세스 할 수 있기 때문에 Kubernetes 활성 검사를 확인하는 데 필요하지 않습니다.
기본적으로 사용자 지정 메트릭이 노출되지 않는다고 말하면 에이전트가 구성 파일을 선택하지 않는다는 의미입니까? –
에이전트는 fabric8 기본 이미지에서 /opt/agent-bond/jmx-exporter-config.yml을 선택합니다. 이 파일은 Camel과 관련된 것을 제외하고 모든 MBean을 필터링합니다. 이 파일을 어떻게 바꾸면됩니까? –
응용 프로그램을 시작할 때 로그의 첫 행은 어떻게 생깁니 까? ('kubectl logs'로 확인하십시오) 이것은 사용 된 java 명령어를 보여줍니다. 또한'kubectl exec -it' 명령을 사용하여 파일이 실제로 있는지 확인하고 env가 설정되어 있는지 확인할 수 있습니다. –