Some checks failed
Build Minecore UDP check image / Build-Minecraft-Stats-Image (push) Failing after 33s
26 lines
811 B
JavaScript
26 lines
811 B
JavaScript
const express = require('express')
|
|
const { ping } = require('bedrock-protocol')
|
|
require('dotenv').config()
|
|
|
|
const app = express()
|
|
|
|
app.listen(3000)
|
|
|
|
if(!process.env.HOSTNAME) throw new Error("HOSTNAME not set")
|
|
|
|
const template = (status)=> `# HELP minecraft_bedrock_check Information about liveness of target bedrock server
|
|
# TYPE minecraft_bedrock_check gauge
|
|
minecraft_bedrock_check{server="${process.env.HOSTNAME}"} ${status}
|
|
`
|
|
|
|
app.get('/metrics',async (req, res) => {
|
|
try {
|
|
const hostname = process.env.HOSTNAME
|
|
await ping({host: hostname, port: 19132, connectTimeout: process.env.TIMEOUT ?? 4000})
|
|
res.contentType("text/plain; charset=utf-8")
|
|
res.send(template("1"))
|
|
} catch (e) {
|
|
res.contentType("text/plain; charset=utf-8")
|
|
res.send(template("0"))
|
|
}
|
|
}) |