Netdata est un système de surveillance open source pour les serveurs Linux. Il fournit une surveillance des performances et de la santé en temps réel avec un magnifique tableau de bord et des analyses. Netdata devrait fonctionner sur n'importe quelle distribution Linux - a été testé sur Alpine Linux, Arch Linux, CentOS, Ubuntu, etc. , fail2ban, MySQL, MongoDB etc.
Dans ce tutoriel, je vais vous montrer comment surveiller Nginx à l'aide de Netdata. Ce tutoriel couvrira l'installation du serveur Web Nginx, l'activation du module 'stub_status' et l'installation de Netdata sur CentOS 7.
Ce que nous allons faire
- Installez le serveur Web Nginx.
- Activer le module "stub_status" de Nginx.
- Installez Netdata sur CentOS 7.
- Surveillez Nginx à l'aide de Netdata.
- Test.
Prérequis
- Serveur CentOS 7
- Privilèges root
Étape 1 - Installer le serveur Web Nginx
Dans cette étape, nous allons installer le serveur Web Nginx à partir du référentiel EPEL (Extra Packages for Enterprise Linux). Avant d'installer Nginx, assurez-vous que le référentiel EPEL a été installé sur votre serveur.
Si vous ne l'avez pas, vous pouvez l'installer en utilisant la commande ci-dessous.
yum -y install epel-release
Ensuite, installez Nginx avec la commande yum ci-dessous.
yum -y install nginx
Et si l'installation est terminée, démarrez le service et activez-le pour qu'il se lance automatiquement au démarrage du système à l'aide des commandes systemctl ci-dessous.
systemctl start nginx
systemctl enable nginx
Après l'installation, ouvrez les ports HTTP et HTTPS à l'aide de la commande firewall-cmd ci-dessous.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
Remarque : Si vous ne disposez pas de la commande firewall-cmd, vous pouvez installer les packages firewalld à partir du référentiel.
yum -y install firewalld
Le serveur Web Nginx a été installé.
Étape 2 - Activer le module Nginx stub_status
Pour surveiller Nginx à l'aide de Netdata, nous devons activer le module 'stub_status' en modifiant la configuration. Assurez-vous que votre version de Nginx a un module nommé 'stub_status', vérifiez le module avec la commande ci-dessous.
nginx -V
Vous devriez obtenir un résultat semblable au suivant.
Assurez-vous d'avoir le module 'stub_status' dans la liste.
Ensuite, éditez le fichier de configuration nginx 'nginx.conf' pour activer le module 'stub_status'. Allez dans le répertoire '/etc/nginx/' et modifiez la configuration avec vim.
cd /etc/nginx/
vim nginx.conf
Collez la configuration suivante dans le 'serveur{} ' bloquer.
location /stub_status {
stub_status;
# Security: Only allow access from the IP below.
allow 127.0.0.1;
# Deny anyone else
deny all;
}
Enregistrez et quittez.
Maintenant, testez la configuration nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite nginx.
nginx -t
systemctl restart nginx
Le module Nginx 'stub_status' a été activé - nous pouvons le vérifier en utilisant la commande curl comme indiqué ci-dessous.
curl http://127.0.0.1/stub_status
Lorsqu'il est activé, vous pouvez voir le résultat comme ci-dessous.
Étape 3 - Installer Netdata sur CentOS 7
Dans cette étape, nous allons installer Netdata sur le serveur CentOS 7. Avant d'installer Netdata, nous devons installer certains packages pour l'installation de Netdata.
Installez les packages nécessaires à l'installation de Netdata à l'aide de la commande yum suivante.
yum -y install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig curl jq nodejs
Ensuite, téléchargez le code source Netdata à l'aide de la commande git suivante.
cd ~
git clone https://github.com/firehol/netdata.git --depth=1
Accédez au répertoire netdata et exécutez le script d'installation de Netdata avec les privilèges sudo.
cd netdata/
sudo ./netdata-installer.sh
Appuyez sur "Entrée" pour continuer l'installation de Nedata.
Et lorsque l'installation est terminée, vous verrez le résultat comme ci-dessous.
Netdata a été installé sur CentOS 7, et il s'exécute sur le port '19999'.
Ouvrez le port à l'aide de la commande firewall-cmd ci-dessous.
sudo firewall-cmd --permanent --add-port=19999/tcp
sudo firewall-cmd --reload
Netdata fournit un script de services systemd, vous pouvez donc gérer Netdata à l'aide de la commande systemctl. Redémarrez netdata et activez-le pour qu'il se lance automatiquement à chaque démarrage du système.
systemctl restart netdata
systemctl enable netdata
Vérifiez le port ouvert du serveur - assurez-vous que le port 19999 est à l'état 'LISTEN'.
netstat -plntu
L'outil de surveillance Netdata a été installé sur CentOS 7.
Étape 4 - Surveiller Nginx à l'aide de Netdata
À ce stade, Nginx a été installé, le module stub_status a été activé et l'installation de Netdata est terminée. Dans cette étape, nous souhaitons surveiller le serveur Web nginx à l'aide de Netdata. Surveillance des demandes, de la connexion active et de l'état.
Netdata fournit des modules pour surveiller les applications du système. Certaines applications comme Apache, Nginx, MongoDB, etc. utilisent des modules Python pour la surveillance à l'aide de Netdata.
Accédez au répertoire netdata 'python.d' et modifiez le fichier de configuration nginx.conf à l'aide de vim.
cd /etc/netdata/python.d/
vim nginx.conf
Allez à la ligne du bas et assurez-vous d'avoir une configuration comme indiqué ci-dessous.
localhost:
name : 'local'
url : 'http://localhost/stub_status'
Enregistrez et quittez.
Redémarrez maintenant le service netdata à l'aide de la commande systemctl.
systemctl restart netdata
Étape 5 - Tester
Ouvrez votre navigateur Web et visitez l'adresse IP du serveur avec le port 19999.
http://192.168.1.11:19999/
Et vous obtiendrez le tableau de bord Netdata.
Cliquez sur "nginx local" à droite et consultez les connexions actives, les demandes, l'état et le taux de connexion de Nginx.
Netdata a été installé sur le serveur CentOS 7 et le serveur Web Nginx est surveillé à l'aide de Netdata.
Préférence
- https://github.com/firehol/netdata/wiki/