![]() Bumps schliflo/docker-puppeteer from 21.1.1 to 21.2.0. --- updated-dependencies: - dependency-name: schliflo/docker-puppeteer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
e.github | ||
hooks | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.npmignore | ||
CHANGELOG.md | ||
COPYING | ||
Dockerfile | ||
METRICS.md | ||
README.md | ||
SECURITY.md | ||
index.js | ||
package-lock.json | ||
package.json | ||
prom.js | ||
server.js |
README.md
prometheus-act-exporter
Exposes your current ACT FUP usage as prometheus metrics. Scrapes the data from the ACT Portal website by using puppeteer. This only supports ACT Fibernet in India.
- Supports flexibytes
- Reports aggregate metrics as well
- Only tested for ACT Bangalore connections.
Metrics
Sample:
# HELP act_fup_live_usage_bytes ACT live usage in bytes (precision GB)
# TYPE act_fup_live_usage_bytes gauge
act_fup_live_usage_bytes 0
# HELP act_fup_live_total_bytes ACT live usage in bytes (precision GB)
# TYPE act_fup_live_total_bytes gauge
act_fup_live_total_bytes 800000000
# HELP act_fup_flexibytes_usage_bytes ACT flexibytes usage in bytes (precision GB)
# TYPE act_fup_flexibytes_usage_bytes gauge
act_fup_flexibytes_usage_bytes 102580000
# HELP act_fup_flexibytes_total_bytes ACT flexibytes usage in bytes (precision GB)
# TYPE act_fup_flexibytes_total_bytes gauge
act_fup_flexibytes_total_bytes 100000000
# HELP act_fup_aggregate_usage_bytes ACT aggregate usage in bytes (precision GB)
# TYPE act_fup_aggregate_usage_bytes gauge
act_fup_aggregate_usage_bytes 102580000
# HELP act_fup_aggregate_total_bytes ACT aggregate usage in bytes (precision GB)
# TYPE act_fup_aggregate_total_bytes gauge
act_fup_aggregate_total_bytes 900000000
Using as a npm package
Install it with npm i prometheus-act-exporter
.
const act = require("prometheus-act-exporter");
let m = await act.getUsage();
// Returns
// {
// live: { usedBytes: 0, totalBytes: 800000000 },
// flexibytes: { usedBytes: 102580000, totalBytes: 100000000 },
// aggregate: { usedBytes: 102580000, totalBytes: 900000000 }
// }
// calculations made assuming ACT is using SI GB (exactly 1 billion bytes)
Configuration
You can pass the following environment variables:
PROXY_SERVER
: Use a proxy server to connect to ACT. Use asocks5
proxy, since ACT returns a 403 if you try to use a CONNECT proxy.export PROXY_SERVER="socks5://10.8.0.14:1080"
CHROME_BIN
: Set Chrome/Chromium executable path. Helpful if you have chromium already installed and don't want puppeteer to download it again. You can setPUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
before runningnpm install
to disable puppeteer's chromium download.DISABLE_HEADLESS
: If set, chrome will not launch in headless mode.
Usage
Docker
If running via Docker, here are some simple cookbook configurations:
docker run -it -p 3000:3000 -e captn3m0/prometheus-act-exporter
Run a simple test server locally in debug mode and test it on http://localhost:3000/metrics
Node
export DISABLE_HEADLESS=1
# Change to the correct invocation
export CHROME_BIN=$(which chromium)
npm install
node server.js
curl localhost:3000/metrics
LICENSE
This is licensed under WTFPL. See COPYING file for the full text.