Make sure you have Golang installed. For instructions on how to install here click here . To make sure it is installed run correctly:
Copy go version go1.16.3 linux/amd64
Make sure metrics are being exposed. For this check you can run:
Copy curl localhost:9900/metrics | grep ^hmy
Copy % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6087 0 6087 0 0 849k 0 --:--:-- --:--:-- -hmy_consensus_blskeys{index="0",pubkey="892f005b61d2c4f482a87a1da7226c210dbb6175b52ba391a941bcdab577f90767d0bbb5282f0d073b73eeb706c14810"} 0
-:--hmy_consensus_finality_bucket {le= "800" } 1959
:-hmy_consensus_finality_bucket {le= "1000" } 1960
- hmy_consensus_finality_bucket{le= "1250" } 1960
8hmy_consensus_finality_bucket {le= "1562.5" } 1960
49hmy_consensus_finality_bucket {le= "1953.125" } 1960
khmy_consensus_finality_bucket {le= "2441.40625" } 1960 (...continues)
Copy sudo useradd -M -r -s /bin/ false prometheus
Copy sudo mkdir /etc/prometheus /var/lib/prometheus
Copy tar xzf prometheus-2.26.0.linux-amd64.tar.gz
sudo cp prometheus-2.26.0.linux-amd64/{prometheus,promtool} /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/{prometheus,promtool}
sudo cp -r prometheus-2.26.0.linux-amd64/{consoles,console_libraries} /etc/prometheus/
sudo cp prometheus-2.26.0.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml
Copy sudo vi /etc/prometheus/prometheus.yml
Copy static_configs:
- targets: ['localhost:9900']
Copy sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
Copy sudo vi /etc/systemd/system/prometheus.service
Copy [Unit]
Description = Prometheus Time Series Collection and Processing Server
Wants = network-online.target
After = network-online.target
[Service]
User = prometheus
Group = prometheus
Type = simple
ExecStart = /usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy = multi-user.target
Copy sudo chmod 755 /etc/systemd/system/prometheus.service
sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus
sudo systemctl status prometheus
Copy {
"annotations" : {
"list" : [
{
"builtIn" : 1,
"datasource" : "-- Grafana --" ,
"enable" : true ,
"hide" : true ,
"iconColor" : "rgba(0, 211, 255, 1)" ,
"name" : "Annotations & Alerts" ,
"type" : "dashboard"
}
]
},
"description" : "Monitoring Dashboard" ,
"editable" : true ,
"gnetId" : null,
"graphTooltip" : 0,
"id" : 1,
"links" : [],
"panels" : [
{
"collapsed" : true ,
"datasource" : null,
"gridPos" : {
"h" : 1,
"w" : 24,
"x" : 0,
"y" : 0
},
"id" : 2,
"panels" : [],
"title" : "Status" ,
"type" : "row"
},
{
"datasource" : null,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
},
"mappings" : [],
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
},
{
"color" : "red" ,
"value" : 80
}
]
}
},
"overrides" : []
},
"gridPos" : {
"h" : 5,
"w" : 6,
"x" : 0,
"y" : 1
},
"id" : 4,
"options" : {
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
],
"fields" : "" ,
"values" : false
},
"showThresholdLabels" : false ,
"showThresholdMarkers" : true ,
"text" : {}
},
"pluginVersion" : "7.5.3" ,
"targets" : [
{
"exemplar" : true ,
"expr" : "up" ,
"interval" : "" ,
"legendFormat" : "" ,
"refId" : "A"
}
],
"timeFrom" : null,
"timeShift" : null,
"title" : "Harmony Online" ,
"type" : "gauge"
},
{
"datasource" : null,
"description" : "" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
},
"mappings" : [],
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
},
{
"color" : "red" ,
"value" : 80
}
]
},
"unit" : "short"
},
"overrides" : []
},
"gridPos" : {
"h" : 5,
"w" : 10,
"x" : 6,
"y" : 1
},
"id" : 6,
"options" : {
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
],
"fields" : "" ,
"values" : false
},
"showThresholdLabels" : false ,
"showThresholdMarkers" : true ,
"text" : {}
},
"pluginVersion" : "7.5.3" ,
"targets" : [
{
"exemplar" : true ,
"expr" : "promhttp_metric_handler_requests_in_flight" ,
"hide" : true ,
"instant" : false ,
"interval" : "" ,
"legendFormat" : "" ,
"refId" : "Pending"
},
{
"exemplar" : true ,
"expr" : "rate(promhttp_metric_handler_requests_total[5m])" ,
"hide" : false ,
"instant" : false ,
"interval" : "" ,
"legendFormat" : "" ,
"refId" : "Total"
}
],
"timeFrom" : null,
"timeShift" : null,
"title" : "Metric Handler" ,
"type" : "gauge"
}
],
"refresh" : false ,
"schemaVersion" : 27,
"style" : "dark" ,
"tags" : [],
"templating" : {
"list" : []
},
"time" : {
"from" : "now-6h" ,
"to" : "now"
},
"timepicker" : {},
"timezone" : "" ,
"title" : "Harmony Dashboard" ,
"uid" : "V6MHr8_Gk" ,
"version" : 5
}