Configuration de logstash et mssql server

Pour pouvoir récupérer les données d’une base de données mssql server via logstash, il faut avoir installer le plugin logstash-input-jdbc (voir le tuto). Puis récupérer le connecteur java et le copier.

Installation du connecteur

L’opération n’est à faire qu’une seule fois.

Tout d’abord, il faut créer le dossier qui accueillera le connecteur

 mkdir -p /usr/share/logstash/vendor/jdbc-mssql

Ensuite, il faut télécharger le connecteur via le site ci-dessous et copier le fichier  mssql-jdbc-6.2.1.jre8.jar (le nom du fichier peut changer selon la version téléchargée) dans le dossier créé ci-dessus.

https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server

Une fois le fichier dans son répertoire, il faut ensuite modifier les droits

 chown logstash:logstash /usr/share/logstash/vendor/jdbc-mssql -Rvf

A partir de ce moment vous pouvez créer un fichier de configuration pour connecter une table mssql server à logstash.

Création d’un fichier de configuration

 nano /etc/logstash/conf.d/config_mssql_nomdematable.config

Et y mettre le contenu ci-dessous

input {
  jdbc {
    jdbc_driver_library => "/usr/share/logstash/vendor/jdbc-mssql/mssql-jdbc-6.2.1.jre8.jar"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    jdbc_connection_string => "jdbc:sqlserver://ipduserver:1433;databasename=nomdelabase"
    jdbc_user => "utilisateurquipeutseconnecter"
    jdbc_password => "motdepasse"     
    statement => "SELECT * FROM nomdelatable"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "nomdelatable"
    document_type => "nomdelatable"
    document_id => "%{id}"
  }
}
Il faut penser à modifier les informations de connexion à la base de données.
Le champ document_id => « %{id} » est à adapter en fonction de votre table dans mon cas la clef primaire est id.
Une fois le fichier créé, il faut ensuite exécuter la commande ci-dessous pour lancer l’indexation.
cd /usr/share/logstash/bin
./logstash -f /etc/logstash/conf.d/config_mssql_nomdelatable.config
Une fois les commandes lancées, selon la taille de la table, il faudra peut être attendre un peu.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.