Pour que l'agent Telegraf collecte des mesures pour certains services applicatifs, vous devez apporter des modifications aux machines virtuelles de point de terminaison. Une fois ces modifications effectuées, l'agent commence à collecter des mesures. Vous devez utiliser le protocole SSH pour vous connecter à la machine virtuelle sur laquelle vous avez déployé l'agent, puis modifier les fichiers de configuration.

Apache HTTPD

Modifiez le fichier de configuration disponible dans /etc/httpd/conf.modules.d/status.conf, puis activez mod_status pour le plug-in HTTPD afin que l'agent collecte des mesures.
<IfModule mod_status.c>

<Location /server-status>

    SetHandler server-status

</Location>

ExtendedStatus On

</IfModule>
Si le fichier de configuration n'est pas disponible, vous devez en créer un. Redémarrez le service HTTPD après avoir modifié le fichier de configuration à l'aide de la commande suivante :
systemctl restart httpd

Plug-ins Java

Pour surveiller les applications Java, vous pouvez déployer le plug-in Jolokia en tant que fichier .WAR ou .JAR. Si vous déployez un fichier .WAR, vous n'avez pas à redémarrer les services.

Pour le déploiement d'un fichier .JAR, vous devez redémarrer le service applicatif après avoir inclus le chemin complet du fichier JAR dans l'argument JMX du processus JAVA que vous surveillez.

Nginx

Ajoutez les lignes suivantes dans le fichier de configuration disponible dans /etc/nginx/nginx.conf :
http {
    server {
        location /status {
            stub_status on;
   access_log off;
   allow all;
  }
    }
}
Redémarrez le service Nginx à l'aide de la commande suivante :
systemctl restart nginx

Postgres

Dans le fichier de configuration disponible dans /var/lib/pgsql/data/pg_hba.conf, remplacez la valeur local all postgres peer par local all postgres md5, puis redémarrez le service avec la commande suivante :
sudo service postgresql restart

Base de données Cassandra

Pour surveiller l'application de base de données Cassandra, le fichier jar Jolokia doit être ajouté en tant qu'entrée JVM dans l'application de base de données Cassandra. Réalisez les étapes suivantes :
  1. Modifiez /etc/default/cassandra.
    echo "export JVM_EXTRA_OPTS=\"-javaagent:/usr/share/java/jolokia-jvm-1.6.0-agent.jar=port=8778,host=localhost\"" | sudo tee -a /etc/default/cassandra
  2. Vous pouvez également activer l'agent en modifiant cassandra-env.sh. Ajoutez la ligne suivante à la fin du fichier cassandra-env.sh :
    JVM_OPTS="$JVM_OPTS -javaagent:/usr/share/java/jolokia-jvm-1.6.0-agent.jar=port=8778,host=localhost"

    Lorsque les entrées JVM s'affichent, redémarrez le service Cassandra.

Base de données Oracle

Pour surveiller la base de données Oracle, procédez comme suit :
  1. Téléchargez la bibliothèque Instant Client depuis : https://www.oracle.com/database/technologies/instant-client/downloads.html.

    Vous devez télécharger la bibliothèque Oracle Instant Client et l'ajouter dans la variable PATH.

  2. Créez un utilisateur.
    CREATE USER <UserName> IDENTIFIED BY <yourpassword>;
     GRANT select_catalog_role TO <UserName>;
     GRANT CREATE SESSION TO <UserName>;
  3. Installez Python version 3.6 ou ultérieure.
    python3 -m pip install cx_Oracle --upgrade
  4. Définissez la variable PATH de TNS_ADMIN.

    Par exemple, le chemin d'accès de TNS_ADMIN est semblable au suivant : c:\app\product\<version>\dbhome_1\NETWORK\ADMIN.

Note : La base de données Oracle ne peut pas être activée sur les plates-formes Linux.

Active MQ 5.16 et versions ultérieures

Pour activer Active MQ 5.16 et versions ultérieures, procédez comme suit :

  • Accédez à /opt/activemq/apache-activemq-5.16.0/webapps/api/WEB-INF/classes/jolokia-access.xml
  • Supprimez ou commentez les lignes suivantes :
    <cors>
      <strict-checking/>
    </cors>
  • Redémarrez le service Active MQ.

MS SQL

Le compte d'utilisateur doit disposer des autorisations suivantes pour surveiller l'application MS SQL avec Telegraf.
USE master;
GO
CREATE LOGIN [telegraf] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [telegraf];
GO
GRANT VIEW ANY DEFINITION TO [telegraf];
GO