경화 흑연 (탄소)

경화 흑연 (탄소)

Graphite를 사용하여 다양한 서버에서 측정항목을 수집하고 싶습니다. 기본적으로 Carbon은 모든 인터페이스에서 2003을 수신합니다. 이는 나에게 괜찮습니다.

이제 이론적으로 누구나 그곳으로 메트릭 데이터를 보낼 수 있습니다. 이러한 일이 발생하지 않도록 하는 표준 방법이 있습니까( http base auth 와 유사) 아니면 물리적 인터페이스에 대한 IP 기반 제한 사항을 처리해야 합니까?

답변1

Graphite 노드("Graphite"는 탄소 릴레이, 탄소 캐시, 스토리지 백엔드 및 잠재적으로 graphite-web/api의 혼합 토폴로지임)를 얼마나 "강화"하려는지에 따라 다릅니다.

네트워크에 어떤 호스트가 있는지 알고 있는 경우~해야 한다메트릭을 Graphite(일반적으로 릴레이)로 보내려면 Graphite 호스트 방화벽 규칙을 수정하여 명시적인 호스트 IP 목록이나 적용 가능한 포트 범위를 예상할 수 있습니다. 또는 방화벽이나 라우터의 에지 네트워크에서 유사한 작업을 수행할 수 있습니다. 귀하의 질문이 토폴로지의 모양에 대한 전체 범위를 제공하지 않기 때문에 이에 대한 조언이 없습니다.

대안적인 접근 방식은 대신 AMQP 지원을 사용하여 노드가 인증된 사용자로서 브로커에 메트릭을 게시하도록 한 다음 Graphite 호스트가 호스트 방화벽을 수정하여 브로커 메트릭이 수신되는 중 TCP 2003만 허용하도록 하는 것입니다. 여기서 장점은 흑연 노드입니다.오직어떤 브로커 메트릭이 제공되는지 알아야 하므로 호스트 방화벽 규칙이 크게 단순화됩니다. 노드가 경량 서비스를 통해 메트릭을 게시하면 Graphite 호스트에 도착하는 메트릭(합법적이든 아니든)의 결과가 아닌 흐름의 상단에서 "신뢰" 문제가 처리된다는 점에서 상황이 좀 더 안전해집니다. ). RabbitMQ는 OSS이며 관리 플러그인을 가져오면 구성을 너무 복잡하게 할 필요 없이 시작하고 진행하는 것이 매우 간단합니다. 대부분의 구성은 작동에 필요한 포트를 여는 것입니다.

그러나 이는 Graphite 토폴로지에 대한 간단한 메트릭 게시자를 작업에 대해 좀 더 복잡하게 만들고 메트릭이 Graphite에 도달하는 방법에 대한 게시/구독 모델을 확고하게 설정합니다. 잠재적으로 손실됨). 또한 운영상의 이유로 보호할 또 다른 호스트를 추가합니다.

더 나아가서 로그 모니터링 시스템을 구현하여 carbon-relay의 listening.log 파일이 수신되고 처리된 모든 측정 항목에 대해 한 줄을 기록하는 것을 볼 수 있습니다. 높은 수준에서는 예상한 측정항목에 대한 예외를 찾는 로그를 볼 수 있습니다. server.cpu.load 메트릭이 있는 경우와 마찬가지로 해당 메트릭이 처리되는 것을 볼 수 있지만 foo.bar.value라는 게시된 메트릭은 유효하지 않습니다. 이러한 이벤트에 대한 응답으로 Whisper가 잘못된 네임스페이스에 대해 생성한 해당 디렉터리를 간단히 지울 수 있습니다(Whisper를 저장용으로 사용하는 경우).

경화 흑연의 탄소 릴레이와 탄소 캐시는 훌륭하고 현명한 일이지만, 걱정스러운 만큼 잊지 마세요.WHOGraphite 웹앱이나 graphite-api에 액세스하여 해당 측정항목을 얻을 수 있습니다.

관련 정보