원서 : https://hyperledger-fabric.readthedocs.io/en/release-1.4/operations_service.html
- peer 와 orderer 는 'RESTful API'를 제공하는 'HTTP 서버'를 호스팅 합니다.
- 이 API는 Fabric 서비스와는 무관하고, 오직 운영을 위해 사용되어 집니다. 아래와 같은 기능이 있습니다.
- Log레벨 관리
- 헬스체크
- 운영 metrics에 관한, Prometheus.
- Configuring the Operations Service
- 운영 서비스를 하려면, 2가지 정도의 설정이 필요합니다.
- "address 와 port" 및 "TLS 인증서 와 키"
- Peer
- 각 peer "core.yaml"의 'operations' 에서 설정을 하면 됩니다.
- 예) operations:
- listenAddress: 127.0.0.1:9443 // host를 생략하면, 모든All 의미
- tls: ... // TLS 통신 설정
- Orderer
- 각 orderer "orderer.yaml"의 'operations' 에서 설정을 하면 됩니다.
- 예) Operations:
- listenAddress: 127.0.0.1:8443 // host를 생략하면, 모든All 의미
- tls: ... // TLS 통신 설정
- Operations Security
- 운영 서비스는 운영을 위한것이지, Fabric 과 무관합니다.
- 그래서 MSP를 사용해서, "접근제어" 하지 않습니다. (그대신 client 인증서 기반의 TLS으로 관리)
- TLS 설정을 하지 않으면, 모든 client가 해당 API를 사용할수있는것 입니다.
- TLS 설정을 하면, 유효한 client 인증서를 제공해야 해당 API를 사용할수있는것 입니다.
- Log Level Management
- 운영 서비스는 "/logspec" URL을 통해서, peer 와 orderer 의 'Log레벨'을 제공 합니다.
- 예) HTTP "/logspec" GET 요청 -> 응답 {"spec":"info"}
- 예) HTTP "/logspec" PUT {"spec":"chaincode=debug:info"} 요청 -> 응답 {...}
- 운영 서비스는 "/logspec" URL을 통해서, peer 와 orderer 의 'Log레벨'을 제공 합니다.
- Health Checks
- 운영 서비스는 "/healthz" URL을 통해서, peer 와 orderer 의 '헬스체크'를 제공 합니다.
- Kubernetes 와 연동이 되도록 설계되었고, 다른곳에 응용해서 사용해도 됩니다.
- 예) HTTP "/logspec" GET 요청 ->
- 성공응답 { "status": "OK", "time": "2009-11-10T23:00:00Z" }
- 실패응답 { "status": "Service Unavailable", "time": "2009-11-10T23:00:00Z",
- "failed_checks": [{ "component": "docker", "reason": "failed ... Docker ... invalid endpoint" }]}
- 예) HTTP "/logspec" GET 요청 ->
- Metrics
- peer 및 orderer 가 시스템의 동작방식을 잘 설명해주는 metrics을 노출할수있습니다.
- 운영자나 관리자가 이 metrics정보를 통해서, 시간경과에 따른 시스템 성능을 가늠 하게 됩니다.
- Configuring Metrics
- Fabric 에서는 두가지 방식으로 metrics을 노출 할 수 있습니다.
- 'Prometheus' 기반의 pull 방식.
- 'StatsD' 가반의 push 방식.
- Prometheus
- metrics를 요청에 관한, 응답을 처리하는 시스템.
- Peer
- "core.yaml"의 'metrics' 에서 설정
- "/metrics" URL 제공
- Orderer
- "orderer.yaml"의 'Metrics' 에서 설정
- "/metrics" URL 제공
- StatsD
- ...
-끝-
'hyperledger > fabDoc.Ops-Guides' 카테고리의 다른 글
Securing Communication With Transport Layer Security (TLS) (0) | 2019.08.03 |
---|---|
Access Control Lists (ACL) (0) | 2019.08.03 |
Pluggable transaction endorsement and validation (0) | 2019.08.03 |
Endorsement policies (0) | 2019.08.03 |
Channel Configuration (configtx) (0) | 2019.08.03 |