17/12/2021
Cloud Insights
Comment faire remonter les logs varnish dans un Log analytics workspace
Cloud Insights
Lorsque nous utilisons un cache varnish pour un projet dans Azure, nous souhaitons avoir accès aux logs varnish directement depuis le portail Azure. Nous pouvons le faire directement depuis un log analytics workspace en créant un Custom log.
Dans cet article nous allons voir comment :
- Configurer les logs varnish au bon format
- Configurer une rotation des logs varnish
- Configurer un Custom Log dans un Azure Log Analytics
Prérequis: – Un compte Azure – Un service varnish déployé dans Azure
1. Configurer les logs varnish au bon format
Pour configurer le format souhaité aux logs varnish, nous allons utiliser varnishncsa en prenant avantage de l’option -f format de varnishncsa. Nous devons d’abord créer le fichier /etc/varnish/format-varnishncsa :
mysql -h host -u adminuser@db -p
Récupérer le hash du mot de passe du nouveau user :
{
"X-Forwarded-For" : "%{X-Forwarded-For}i",
"timestamp" : "%t",
"Host" : "%h",
"HTTP-Method" : "%m",
"URL" : "%U%q",
"HTTP-response-code" : "%s",
"Hit-Miss" : "%{Varnish:hitmiss}x",
"handling" : "%{Varnish:handling}x",
"Time-To-Serve-Request" : "%D",
"X-Magento-Tags-Pattern" : "%{X-Magento-Tags-Pattern}i"
}
Vous pouvez modifier le json pour inclure les infos qui vous conviennent le mieux. Une fois ce fichier créé, nous pouvons lancer varnishncsa en tant que daemon ou en tant que service, nous allons le lancer en tant que daemon avec la commande suivante :
sudo varnishncsa -a -w /var/log/varnish/varnispid -f /etc/varnish/format-varnishncsa
2. Configurer une rotation des logs varnish
Nous pouvons créer le fichier /etc/logrotate.d/varnish :
{
"X-Forwarded-For" : "%{X-Forwarded-For}i",
"timestamp" : "%t",
"Host" : "%h",
"HTTP-Method" : "%m",
"URL" : "%U%q",
"HTTP-response-code" : "%s",
"Hit-Miss" : "%{Varnish:hitmiss}x",
"handling" : "%{Varnish:handling}x",
"Time-To-Serve-Request" : "%D",
"X-Magento-Tags-Pattern" : "%{X-Magento-Tags-Pattern}i"
}
Ce fichier aura pour effet de faire une rotation quotidienne des logs nouvellement créés et les garder pendant une semaine.
3. Configurer un Custom Log dans un Azure Log Analytics
La dernière étape est de configurer les logs pour qu’ils apparaissent dans un log analytics, pour cela nous allons naviguer via l’onglet custom logs dans un log analytics workspace :
Cliquer sur Add custom log :
Ensuite, il faut suivre les étapes en commençant par uploader un exemple de log. Une fois les custom logs créés nous pouvons les voir remonter directement depuis le log analytics workspace :
Ghassan STITOU
Ingénieur Cloud