命令行参数流程
prometheus运行出现的问题:
Error fetching server time: Detected 31.361999988555908 seconds time difference between your browser
解决方式:linux系统中输入
sudo ntpdate ntp.aliyun.com
(一)Prometheus命令行
1.将prometheus服务的flags注册进tendermint node命令中
在cmd/tendermint/commands/run_node.go文件AddNodeFlags函数中增加如下代码
cmd.Flags().Bool(
"instrumentation.prometheus",
config.Instrumentation.Prometheus,
"set this to true to start prometheus service")
cmd.Flags().String(
"instrumentation.prometheus_listen_addr",
config.Instrumentation.PrometheusListenAddr,
"prometheus listen address")
2.编译tendermint二进制文件
cd ~/workspace/tendermint
make build
3.进入build目录,运行tendermint节点,开启prometheus服务
cd build
./tendermint node --proxy_app=kvstore --instrumentation.prometheus=true --instrumentation.prometheus_listen_addr=:9093
4.配置prometheus.yml文件,修改 - targets: [‘localhost:9093’]
cd ~/workspace/prometheus-2.44.0.linux-amd64/
./prometheus --config.file=prometheus.yml
5.浏览器测试
localhost:9090
(二)前端服务命令行
1.将prometheus服务的flags注册进tendermint node命令中
在cmd/tendermint/commands/run_node.go文件AddNodeFlags函数中增加如下代码
cmd.Flags().Bool(
"instrumentation.front",
config.Instrumentation.Front,
"set this to true to start front service")
cmd.Flags().String(
"instrumentation.front_listen_addr",
config.Instrumentation.FrontListenAddr,
"front listen address")
2.编译tendermint二进制文件
cd ~/workspace/tendermint
make build
3.进入build目录,运行tendermint节点,开启front服务
cd build
./tendermint node --proxy_app=kvstore --instrumentation.prometheus=true --instrumentation.prometheus_listen_addr=:9093 --instrumentation.front=true --instrumentation.front_listen_addr=:8088
4.浏览器测试
localhost:8088
(三)Tendermint将默认配置写入config.toml文件中
/config/toml.go/writeDefaultConfigFile()->/config/toml.go/writeConfigFile()->/config/toml.go/configTemplate->/config/toml.go/defaultConfigTemplate
在 Go 语言中,init() 函数是一种特殊的函数,用于在程序运行之前自动执行一些初始化操作。init() 函数没有参数和返回值。
/config/toml.go/init()/config/toml.go/configTemplate->/config/toml.go/defaultConfigTemplate