Par l’équipe de Grafana Labs
Dernière mise à jour en février 24, 2021
Si vous souhaitez que Grafana soit un sous-chemin ou un sous-dossier sous un site Web dans IIS, le module de réécriture d’URL pour ISS peut être utilisé pour le prendre en charge.
Exemple:
- Site parent: http://localhost:8080
- Grafana: http://localhost:3000
Grafana comme sous-chemin: http://localhost:8080/grafana
Setup
Si vous ne l’avez pas déjà fait, il est nécessaire d’installer le module de réécriture d’URL pour IIS.
Téléchargez et installez le module de réécriture d’URL pour IIS: https://www.iis.net/downloads/microsoft/url-rewrite
Vous aurez également besoin du module ARR (Application Request Routing) pour IIS pour le transfert de proxy
Télécharger et installer le module ARR pour IIS: https://www.iis.net/downloads/microsoft/application-request-routing
Configuration Grafana
La configuration Grafana peut être définie en créant un fichier nommé custom.ini
dans le sous-répertoire conf
de votre installation Grafana. Voir les instructions d’installation pour plus de détails.
Étant donné que le sous-chemin doit être grafana
et que le site parent est localhost:8080
, ajoutez-le au fichier de configuration custom.ini
:
domain = localhost:8080root_url = %(protocol)s://%(domain)s/grafana/
Redémarrez le serveur Grafana après avoir modifié le fichier de configuration.
Configuration IIS
Proxy direct
- Ouvrez le Gestionnaire IIS et cliquez sur le serveur
- Dans la console d’administration du serveur, double-cliquez sur l’option de routage des demandes d’application:
- Cliquez sur l’action
Server Proxy Settings
dans le volet de droite - Cochez la case
Enable proxy
pour qu’elle soit activée - Cliquez sur
Apply
et procédez à la configuration de réécriture d’URL
Remarque : Si vous n’activez pas le proxy de transfert, vous obtiendrez très probablement 404 Introuvable si vous appliquez uniquement la réécriture d’URL règle
Réécriture d’URL
- Ouvrez le gestionnaire IIS et cliquez sur le site Web parent
- Dans la console d’administration de ce site Web, double-cliquez sur l’option Réécriture d’URL:
- Cliquez sur l’action
Add Rule(s)...
- Choisissez le modèle de règle vide pour une règle Entrante
- Créez une règle entrante pour le site Web parent (localhost: 8080 dans cet exemple) avec les paramètres suivants:
- modèle:
grafana(/)?(.*)
- cochez la case
Ignore case
- réécrire l’URL définie sur
http://localhost:3000/{R:2}
- cochez la case
Append query string
- cochez la case
Stop processing of subsequent rules
Enfin, accédez à http://localhost:8080/grafana
(remplacez http://localhost:8080
par votre domaine parent) et vous devriez accéder à la page de connexion Grafana.
Dépannage
404 erreur
Lors de la navigation vers l’URL Grafana (http://localhost:8080/grafana
dans l’exemple ci-dessus) et une erreur HTTP Error 404.0 - Not Found
est renvoyée alors soit:
- le modèle de la règle entrante est incorrect. Modifiez la règle, cliquez sur le bouton
Test pattern...
, testez la partie de l’URL aprèshttp://localhost:8080/
et assurez-vous qu’elle correspond. Pourgrafana/login
, le test doit renvoyer 3 groupes de capture : {R:0} :grafana
{R:1} :/
et {R:2}:login
. - Le paramètre
root_url
du fichier de configuration Grafana ne correspond pas à l’URL parent avec le sous-chemin.
Le site Web de Grafana affiche uniquement du texte sans images ni css
-
Le paramètre
root_url
dans le fichier de configuration Grafana ne correspond pas à l’URL parent avec le sous-chemin. Cela peut se produire si le root_url est commenté par erreur (;
est utilisé pour commenter une ligne.fichiers ini):; root_url = %(protocol)s://%(domain)s/grafana/
-
ou si le sous-chemin du paramètre
root_url
ne correspond pas au sous-chemin utilisé dans le modèle de la règle entrante dans IIS:root_url = %(protocol)s://%(domain)s/grafana/
modèle dans la règle Entrante:
wrongsubpath(/)?(.*)
-
ou si l’URL de réécriture dans la règle entrante est incorrecte.
L’URL de réécriture ne doit pas inclure le sous-chemin.
L’URL de réécriture doit contenir le groupe de capture du modèle correspondant qui renvoie la partie de l’URL après le sous-chemin. Le modèle utilisé ci-dessus renvoie 3 groupes de capture et le troisième {R:2} renvoie la partie de l’URL après
http://localhost:8080/grafana/
.