|
1 | 1 | # cosmos-validator_exporter :satellite:
|
2 |
| - |
3 |
| - |
| 2 | + |
| 3 | + |
4 | 4 | 
|
5 | 5 |
|
6 | 6 | Cosmos 검증인을 위한 Prometheus exporter
|
7 | 7 |
|
8 | 8 |
|
9 | 9 | ## Introduction
|
10 | 10 | Tendermint의 기본 Prometheus exporter(localhost:26660)에서 제공되지 않는 부분, 특별히 검증인의 정보를 모니터링하기 위한 exporter
|
11 |
| - |
12 |
| - |
13 |
| -## Collecting information list |
14 |
| -> **Network** |
15 |
| -- chainId: Chain 이름 |
16 |
| -- blockHeight: 블록 높이 |
17 |
| -- currentBlockTime: 블록 타임(현재 블록생성 시간-이전 블록생성 시간) |
18 |
| -- bondedTokens(Atom): 본딩된 토큰 현황 |
19 |
| -- notBondedTokens(Atom): 본딩되지 않은 토큰 현황 |
20 |
| -- totalBondedTokens(Atom): 본딩된 토큰+본딩되지 않은 토큰 |
21 |
| -- bondedRate: 본딩률 |
22 |
| - |
23 |
| -- blockPerYear: 1년에 생성되는 block의 수 |
24 |
| -- defaultBlockTime: 기본 블록 타임 |
25 |
| -- defaultBlockTimeInflation: 기본 블록 타임에 대한 인플레이션 |
26 |
| -- currentBlockTimeInflation: 현재 블록 타임에 대한 인플레이션 |
27 |
| -- inflationMax: 최대 인플레이션 |
28 |
| -- inflationMin: 최소 인플레이션 |
29 |
| -- inflationRateChange: 인플레이션 변경율 |
30 |
| -- inflationGoalBonded: 인플레이션의 목표 본딩률 |
31 |
| - |
32 |
| -- validatorCount: 검증인 수 |
33 |
| -- precommitRate: Precommit 참여율 |
34 |
| -- proposerWalletAccountNumber: 검증인의 지갑에 대한 Account number(Grafana에서 Proposer 표현 시 활용되며 정리된 파일이 $HOME 디렉토리에 "validatorsWalletAccounNumber.csv"로 저장됨) |
35 |
| - |
36 |
| -> **Validator Info** |
37 |
| -- moniker: 검증인의 moniker |
38 |
| -- accountAddress: 검증인의 Account address |
39 |
| -- consHexAddress: 검증인의 Consensus Hex address |
40 |
| -- operatorAddress: 검증인의 Operator address |
41 |
| -- validatorPubKey: 검증인의 Validator pubkey(```gaiad tendermint show-validator```) |
42 |
| -- votingPower: 검증인의 보팅 파워 (소수점 생략) |
43 |
| -- delegatorShares: 검증인의 위임량 |
44 |
| -- delegatorCount: 검증인의 위임자 수 |
45 |
| -- delegationRatio: Network 본딩에 대한 검증인의 위임량 비율 |
46 |
| -- selfDelegationAmount: 검증인의 자체 위임량 |
47 |
| -- proposerPriorityValue: 검증인의 Proposer 우선순위 값 |
48 |
| -- proposerPriority: 검증인의 Proposer 우선순위 |
49 |
| -- proposingStatus: 검증인의 Proposer 여부(true: 1, false: 0) |
50 |
| -- validatorCommitStatus: 검증인의 Commit 여부(true: 1, false: 0) |
51 |
| -- commissionMaxChangeRate: 검증인의 수수료 최대 변경률 |
52 |
| -- commissionMaxRate: 검증인의 최대 수수료율 |
53 |
| -- commissionRate: 검증인의 현재 수수료율 |
54 |
| -- balances(uatom): 검증인의 지갑 정보 |
55 |
| -- commission(uatom): 검증인의 누적된 수수료 정보 |
56 |
| -- rewards(uatom): 검증인의 누적된 리워드 정보 |
57 |
| -- minSelfDelegation(Atom): 검증인의 최소 위임량 기준 |
58 |
| -- jailed: 검증인의 감옥 상태(true: 1, false: 0) |
59 |
| - |
60 |
| -.png) |
61 |
| - |
62 |
| - |
63 |
| -## Quick Start |
64 |
| -프로그램 실행을 위해서는 RPC 및 REST 서버의 정보가 필요 |
65 |
| -- 다운로드 |
66 |
| -``` |
67 |
| -wget https://github.com/node-a-team/cosmos-validator_exporter/releases/download/v0.1.0/cosmos-validator_exporter_v0.1.0.tar.gz |
68 |
| -tar -xzvf cosmos-validator_exporter_v0.1.0.tar.gz && cd cosmos-validator_exporter |
69 |
| -``` |
70 |
| - |
71 |
| - - Config 설정 |
72 |
| - 1) RPC 및 Rest 서버 정보 입력 |
73 |
| - 2) 검증인 Operator Address 입력(```gaiacli keys show [Key Name] --bech=val --address```) |
74 |
| - 3) exporter 포트 설정 |
75 |
| - 4) outPrint 설정(true로 설정할 경우 exporter에서 수집되는 정보 출력) |
76 |
| -``` |
77 |
| -vi config.toml |
78 |
| -``` |
79 |
| -``` |
80 |
| -# TOML Document for Cosmos-Validator Exporter(Pometheus & Grafana) |
81 |
| -
|
82 |
| -title = "Cosmos-Validator Exporter TOML" |
83 |
| -network = "cosmos" |
84 |
| -
|
85 |
| -# RPC-Server |
86 |
| -[rpc] |
87 |
| -address = "localhost:26657" |
88 |
| -
|
89 |
| -[rest_server] |
90 |
| -address = "localhost:1317" |
91 |
| -
|
92 |
| -[validator_info] |
93 |
| -operatorAddress = "cosmosvaloper14l0fp639yudfl46zauvv8rkzjgd4u0zk2aseys" |
94 |
| -
|
95 |
| -[option] |
96 |
| -exporterListenPort = "26661" |
97 |
| -outputPrint = true |
98 |
| -``` |
99 |
| - |
100 |
| - |
101 |
| - |
102 |
| - - 실행 |
103 |
| -``` |
104 |
| -./cosmos-validator_exporter |
105 |
| -``` |
106 |
| - |
107 |
| -.png) |
108 |
| - |
109 |
| - |
110 |
| -## Grafana 예시 |
111 |
| - - template: https://grafana.com/grafana/dashboards/10942/revisions |
112 |
| - |
113 |
| -Grafana의 알람 기능을 활용하면 각 지표에 대한 알람 설정도 가능(예를 들면 검증인이 Precommit에 참여하지 못했을 때, 혹은 Jail 당했을 때 등) |
114 |
| -.png) |
115 |
| - |
0 commit comments