https://github.com/oxmix/highload-stats
Statistics server in real-time graphs and histroy.
https://github.com/oxmix/highload-stats
bandwidth-monitor cpu-monitoring disk-monitoring docker fpm-status gpu graphs hgls mysql mysql-monitoring nginx-monitoring pgbouncer postgres ram-monitoring real-time redis redis-monitoring stats
Last synced: 6 months ago
JSON representation
Statistics server in real-time graphs and histroy.
- Host: GitHub
- URL: https://github.com/oxmix/highload-stats
- Owner: oxmix
- License: gpl-2.0
- Created: 2015-12-12T14:18:30.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-07-25T12:47:39.000Z (almost 3 years ago)
- Last Synced: 2023-07-25T13:45:09.482Z (almost 3 years ago)
- Topics: bandwidth-monitor, cpu-monitoring, disk-monitoring, docker, fpm-status, gpu, graphs, hgls, mysql, mysql-monitoring, nginx-monitoring, pgbouncer, postgres, ram-monitoring, real-time, redis, redis-monitoring, stats
- Language: JavaScript
- Homepage: https://oxmix.net/topic/highload-stats
- Size: 878 KB
- Stars: 17
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# highload-stats
[](https://github.com/oxmix/highload-stats/actions/workflows/hub-docker.yaml)
HGLS Statistics – stats on servers in real-time graphs and history, easy and powerful.

## Run docker container
* Execute in the console
```bash
$ docker run -d --name highload-stats \
--restart always --log-opt max-size=5m \
-p 127.0.0.1:8039:8039 \
-p 127.0.0.1:3939:3939 \
oxmix/highload-stats:2
```
* Open in browser [`http://127.0.0.1:8039`](http://127.0.0.1:8039) or [`http://remote.host.io:8039`](http://remote.host.io:8039)
## Install hgls-collector
* Run collector for each server [https://github.com/oxmix/hgls-collector](https://github.com/oxmix/hgls-collector)
## Required
* Don't forget open firewall port 3939 for connection hgls-collectors
* Or settings proxy through nginx
### Get telemetry of connections
* Endpoint [`http://127.0.0.1:8039/telemetry`](http://127.0.0.1:8039/telemetry)
### Use external sqlite files
* Just add volume `docker run ... -v /var/lib/hgls:/app/db`
### Settings proxy
Example for proxy nginx >= 1.3.13
```nginx
server {
listen 80;
server_name remote.host.io;
location / {
proxy_pass http://127.0.0.1:8039;
proxy_http_version 1.1;
proxy_read_timeout 200s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
location /collector {
proxy_pass http://127.0.0.1:3939;
proxy_http_version 1.1;
proxy_read_timeout 200s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
}
```
### Run without container
* In console `$ npm i` and `$ ./index.js start` maybe also `stop|restart|debug`
* Open in browser [`http://127.0.0.1:8039`](http://127.0.0.1:8039) or [`http://remote.host.io:8039`](http://remote.host.io:8039)
### Deployment manifest for [container-ship](https://github.com/oxmix/container-ship)
```yaml
space: hgls
name: highload-stats-deployment
nodes:
- localhost
containers:
- name: highload-stats
from: oxmix/highload-stats:2
restart: always
log-opt: max-size=5m
ports:
- 127.0.0.1:8039:8039
- 127.0.0.1:3939:3939
volumes:
- /var/lib/hgls:/app/db
```