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}" } }
cd /usr/share/logstash/bin ./logstash -f /etc/logstash/conf.d/config_mssql_nomdelatable.config