Logomotion: Volet sécurité des applications Web, métrologie / prometheus
This commit is contained in:
1
developpement/securite_web/ressources/demo-app/.gitignore
vendored
Normal file
1
developpement/securite_web/ressources/demo-app/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/node_modules
|
28
developpement/securite_web/ressources/demo-app/app.js
Normal file
28
developpement/securite_web/ressources/demo-app/app.js
Normal file
@ -0,0 +1,28 @@
|
||||
// Voir https://github.com/siimon/prom-client
|
||||
const client = require('prom-client');
|
||||
// Voir http://expressjs.com/
|
||||
const express = require('express')
|
||||
|
||||
// Création de notre application Web
|
||||
const app = express()
|
||||
|
||||
// On collecte les métriques proposées par défaut par le module 'prom-client'
|
||||
const collectDefaultMetrics = client.collectDefaultMetrics;
|
||||
collectDefaultMetrics({ timeout: 5000 }); // Récolte toutes les 5s
|
||||
|
||||
// Définition des métriques
|
||||
const helloWorldCounter = new client.Counter({
|
||||
name: 'demoapp_hello_world',
|
||||
help: 'Total de requêtes sur la page "Hello World"'
|
||||
});
|
||||
|
||||
app.get('/', (req, res) => {
|
||||
helloWorldCounter.inc()
|
||||
res.send('Hello World!')
|
||||
})
|
||||
|
||||
// On expose les métriques de notre récolteur sur /metrics
|
||||
app.get('/metrics', (req, res) => res.send(client.register.metrics()))
|
||||
|
||||
// On écoute sur le port 0.0.0.0:3000
|
||||
app.listen(3000, () => console.log('listening on port 3000'))
|
15
developpement/securite_web/ressources/demo-app/package.json
Normal file
15
developpement/securite_web/ressources/demo-app/package.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "demo-app",
|
||||
"version": "0.0.0",
|
||||
"description": "",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "William Petit <william.petit@cadoles.com>",
|
||||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"express": "^4.16.2",
|
||||
"prom-client": "^10.2.2"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user