Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Netdata | 62,355 | 18 hours ago | 302 | gpl-3.0 | C | |||||
Real-time performance monitoring, done right! https://www.netdata.cloud | ||||||||||
Grafana | 54,524 | 25 | 24 | 17 hours ago | 3,297 | September 23, 2022 | 3,288 | agpl-3.0 | TypeScript | |
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more. | ||||||||||
Prometheus | 47,270 | 594 | 17 hours ago | 703 | September 12, 2022 | 853 | apache-2.0 | Go | ||
The Prometheus monitoring system and time series database. | ||||||||||
Thanos | 11,552 | 67 | 19 hours ago | 451 | August 26, 2022 | 343 | apache-2.0 | Go | ||
Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project. | ||||||||||
Victoriametrics | 8,194 | 4 | 18 hours ago | 174 | September 08, 2022 | 631 | apache-2.0 | Go | ||
VictoriaMetrics: fast, cost-effective monitoring solution and time series database | ||||||||||
Prometheus Operator | 7,867 | 259 | 17 hours ago | 295 | September 20, 2022 | 274 | apache-2.0 | Go | ||
Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes | ||||||||||
Statping | 6,556 | 2 | 2 months ago | 138 | December 18, 2020 | 54 | gpl-3.0 | Vue | ||
Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. Run on any type of environment. | ||||||||||
Alertmanager | 5,564 | 66 | 240 | 2 days ago | 149 | April 05, 2022 | 429 | apache-2.0 | Go | |
Prometheus Alertmanager | ||||||||||
Dockprom | 5,284 | 23 days ago | 5 | mit | ||||||
Docker hosts and containers monitoring with Prometheus, Grafana, cAdvisor, NodeExporter and AlertManager | ||||||||||
Cortex | 5,024 | 96 | 17 hours ago | 325 | July 15, 2022 | 189 | apache-2.0 | Go | ||
A horizontally scalable, highly available, multi-tenant, long term Prometheus. |
Setup monitoring with Prometheus and Grafana.
npm install
and node server
http://localhost:9090
, Access: direct
)grafana-dashboard.json
dashboardModify: /prometheus-data/prometheus.yml
, replace 192.168.0.10
with your own host machine's IP.
Host machine IP address: ifconfig | grep 'inet 192'| awk '{ print $2}'
docker run -p 9090:9090 -v "$(pwd)/prometheus-data":/prometheus-data prom/prometheus -config.file=/prometheus-data/prometheus.yml
Open Prometheus: http://localhost:9090
Range[0,1]: number of 5xx requests / total number of requests
sum(increase(http_request_duration_ms_count{code=~"^5..$"}[1m])) / sum(increase(http_request_duration_ms_count[1m]))
sum(rate(http_request_duration_ms_count[1m])) by (service, route, method, code) * 60
Apdex score approximation:
100ms
target and 300ms
tolerated response time
(
sum(rate(http_request_duration_ms_bucket{le="100"}[1m])) by (service)
+
sum(rate(http_request_duration_ms_bucket{le="300"}[1m])) by (service)
) / 2 / sum(rate(http_request_duration_ms_count[1m])) by (service)
Note that we divide the sum of both buckets. The reason is that the histogram buckets are cumulative. The le="100" bucket is also contained in the le="300" bucket; dividing it by 2 corrects for that. - Prometheus docs
histogram_quantile(0.95, sum(rate(http_request_duration_ms_bucket[1m])) by (le, service, route, method))
histogram_quantile(0.5, sum(rate(http_request_duration_ms_bucket[1m])) by (le, service, route, method))
avg(rate(http_request_duration_ms_sum[1m]) / rate(http_request_duration_ms_count[1m])) by (service, route, method, code)
In Megabyte.
avg(nodejs_external_memory_bytes / 1024 / 1024) by (service)
Necessary when you modified prometheus-data.
curl -X POST http://localhost:9090/-/reload
avg(rate(http_request_duration_ms_sum[1m]) / rate(http_request_duration_ms_count[1m])) by (service, route, method, code)
States of active alerts: pending
, firing
docker run -i -p 3000:3000 grafana/grafana
Open Grafana: http://localhost:3000
Username: admin
Password: admin
Create a Grafana datasource with this settings:
Or use this curl request:
curl 'http://admin:[email protected]:3000/api/datasources' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' --data-binary '{"name":"DS_PROMETHEUS","type":"prometheus","url":"http://localhost:9090","access":"direct","jsonData":{"keepCookies":[]},"secureJsonFields":{}}' --compressed
Grafana Dashboard to import: /grafana-dashboard.json
Or use this curl request:
curl 'http://admin:[email protected]:3000/api/dashboards/import' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' --data-binary '%{copy and paste grafana-dashboard.json}' --compressed
This example is sponsored by Trace by RisingStack.