Vous pouvez installer et configurer le monitoring MySQL sur Kubernetes à l'aide du chart Helm mysql-otel. En option, le chart peut également exécuter un job de configuration qui crée l'utilisateur de monitoring pour vous.
Installation guidée
Pour installer plutôt via l’UI de New Relic, accédez à one.newrelic.com > Integrations & Agents > MySQL (Database 360) . Cette page traite uniquement de l’installation manuelle.
Important
Le chart déploie le collecteur en tant que déploiement Kubernetes qui accède à MySQL à distance sur le réseau. Par conséquent, il se connecte toujours via TCP (le monitoring par socket Unix n’est pas pris en charge), et il ne rapporte que les métriques MySQL (aucune métrique d’hôte ou d’infrastructure pour la machine sur laquelle MySQL s’exécute). En utilisant mysql.*, il monitore une instance MySQL par sortie ; pour monitorer plusieurs instances à partir d’une seule sortie, utilisez plutôt mysqlMulti.* (voir Monitorer plusieurs instances à partir d’une seule sortie ci-dessous).
Prérequis
Une clé de licence New Relic valide.
MySQL 5.7 ou version ultérieure.
Helm 3.0 ou version ultérieure, et
kubectlconfiguré pour accéder à votre cluster Kubernetes.Connectivité réseau depuis votre cluster Kubernetes vers l'hôte MySQL (ou le point de terminaison RDS) et le port :
- Auto-hébergé : un chemin routé vers l’hôte MySQL (VPN, peering, ou réseau partagé), une résolution DNS s’il s’agit d’un nom d’hôte, et le pare-feu côté MySQL doit autoriser l’IP source réelle de la connexion (qui peut être un gateway NAT, et non l’IP du pod elle-même).
- AWS RDS : le peering VPC, un gateway de transit, ou un placement VPC partagé avec l’instance RDS, et le groupe de sécurité RDS doivent autoriser le port MySQL (
3306par défaut) depuis la source de sortie du cluster.
Soit un utilisateur de monitoring que vous avez déjà créé, soit des identifiants d’administrateur MySQL afin que le job de configuration du chart puisse en créer un pour vous. Voir Configurer les identifiants de monitoring ci-dessous.
Créer l’espace de nommage
Créez l’espace de nommage dans lequel vous effectuerez l’installation. Il doit exister avant que vous ne créiez des secrets à l’étape suivante, car helm install --create-namespace ne crée l’espace de nommage que lors de l’étape d’installation finale :
$kubectl create namespace newrelicConseil
Définissez-le comme espace de nommage par défaut pour votre contexte kubectl actuel afin de ne pas avoir à passer -n à chaque commande ci-dessous :
$kubectl config set-context --current --namespace=newrelicConfigurez les identifiants de monitoring
Décidez si vous souhaitez que la tâche de configuration du chart crée l’utilisateur de monitoring MySQL pour vous, et si ce n’est pas le cas, comment vous fournirez ses identifiants :
Configurez les valeurs Helm
Configurez mysql.topology pour correspondre à votre environnement :
Valeur | Description |
|---|---|
| MySQL auto-hébergé, accessible via le réseau. |
| MySQL ou Aurora sur AWS RDS. |
Utilisez le values.yaml qui correspond à la méthode d'identification que vous avez choisie à l'étape précédente :
paramètres | Description |
|---|---|
| Votre clé de licence New Relic. |
| Le point de terminaison OTLP/gRPC de votre région, sous la forme d’un
brut sans schéma :
(US) ou
(EU). Pour plus d’informations, consultez la documentation sur les points de terminaison OTLP New Relic . |
/
| Votre hôte MySQL (ou point de terminaison RDS) et votre port, accessibles depuis le cluster. |
| Facultatif. Restreignez le monitoring à une seule base de données. Laissez vide pour monitorer toutes les bases de données. |
| Facultatif. Le chart ne déclare pas de bloc
, et n’a pas de valeurs
. Les valeurs par défaut propres au Récepteur s’appliquent (
,
), lesquelles nécessitent une connexion chiffrée avec validation de certificat. Remplacez-les via
: définissez
pour ignorer la validation de certificat (uniquement pour les tests avec des certificats auto-signés, car cela affaiblit la sécurité de la connexion), ou
pour pointer vers un bundle de CA monté dans le conteneur du collecteur. Une instance Amazon RDS avec l’application de l’exigence Require SSL/TLS nécessite que . Le chart ne fournit délibérément aucun bundle par défaut, puisqu’un bundle codé en dur risque de devenir obsolète, à mesure qu’Amazon effectue la rotation des CA. |
/
| L'image de la CLI
utilisée par le job de configuration. Prend par défaut l'image officielle et activement maintenue
, de sorte que l'activation du job de configuration ne nécessite aucun flag d'image supplémentaire. Surchargez uniquement si vous avez besoin d'une version différente. |
| Facultatif. Accorde également
sur
, ce qui est nécessaire pour les données de temps d’attente. |
Conseil
Consultez le fichier values.yaml du chart pour toutes les options de configuration disponibles, y compris mysql.collectionInterval, mysql.explainMode, les blocs statementEvents/querySampleCollection/topQueryCollection, et l’échappatoire additionalReceiverConfig.
(Facultatif) Monitorer plusieurs instances à partir d’une seule sortie
Au lieu de mysql.*, définissez mysqlMulti.enabled: true pour monitorer plusieurs instances MySQL (auto-hébergées ou RDS) à partir d’un seul pod collecteur dans une seule sortie. Les deux modes sont mutuellement exclusifs : ne définissez pas mysql.server et mysqlMulti.enabled: true dans la même sortie.
Le mode multi-instance n’a pas de chemin nom d’utilisateur / mot de passe en clair : chaque instance a besoin de son propre secret Kubernetes avec des identifiants de monitoring. Décidez si vous souhaitez également que le job de configuration crée chaque utilisateur de monitoring pour vous :
paramètres | Description |
|---|---|
| Définissez sur
pour monitorer plusieurs instances à partir d’une seule sortie au lieu de
. Par défaut
. |
|
ou
, même signification que
, partagé par chaque instance dans cette sortie. |
| Liste des instances à monitorer. Chaque entrée nécessite un
unique,
(
est défini par défaut sur
), et
;
restreint facultativement le monitoring à une base de données (même signification que
) ; ajoutez
par entrée uniquement lorsque
est
. |
Conseil
Les paramètres de scraping (intervalle de collecte, TLS, événements d’instruction, collecte d’échantillons de requêtes, collecte des requêtes principales) s’appliquent de manière identique à chaque instance dans mysqlMulti.databases. Il n’y a pas de surcharge par instance. Utilisez additionalReceiverConfig pour tout ce qui doit différer. La tâche de configuration s’exécute une fois par instance (<release>-setup-<name>) plutôt qu’une fois par sortie.
Installer le chart Helm
Ajouter le dépôt Helm New Relic :
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo updateInstallez le chart à l'aide de votre fichier
values.yaml:bash$helm upgrade --install mysql-otel newrelic/mysql-otel \>-n newrelic \>--create-namespace \>-f values.yaml
Vérifier l'installation
Vérifiez que la tâche de configuration est terminée (si elle est activée), et que le pod du collecteur est en cours d’exécution :
bash$kubectl get jobs,pods -n newrelic --watchExécutez cette requête dans le générateur de requêtes pour confirmer que les données arrivent :
SELECT count(*) FROM MetricWHERE metricName LIKE 'mysql.%'AND instrumentation.provider = 'opentelemetry'SINCE 10 minutes ago
Trouvez et utilisez vos données
Une fois vos données collectées, vous pouvez accéder à un monitoring complet de la base de données MySQL via l'UI de New Relic.
Pour trouver votre entité de base de données MySQL dans New Relic :
- Allez à one.newrelic.com > All capabilities > Databases.
- Dans la liste déroulante Entity type, sélectionnez MySQL instance, puis cliquez sur Apply.
- Sélectionnez votre base de données MySQL dans la liste des entités.
Documentation associée
Introduction au monitoring MySQL avec NRDOT
Découvrez toutes les méthodes d'installation disponibles pour le monitoring de MySQL avec New Relic.
Installation via la CLI
Découvrez comment installer et configurer le monitoring MySQL avec une seule commande CLI New Relic.
Installation via Ansible
Découvrez comment installer et configurer le monitoring MySQL à grande échelle avec le newrelic.newrelic_install rôle Ansible.
Installation via Chef
Découvrez comment installer et configurer le monitoring MySQL à grande échelle avec le cookbook Chef newrelic-install.