splunk

Comment installer Splunk sur CentOS

Splunk est une plateforme logicielle permettant de chercher, d’analyser et de visualiser les données générées par des machines, ces donnée sont collectées à partir de sites web, d’applications, de capteurs, et d’appareils en tout genre qui constitue votre infratructure IT.

Pourquoi avoir besoin de Splunk ?

Regardez l’image ci-dessous :

[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-1160.24.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Apr 8 19:51:47 UTC 2021
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.24.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
[ 0.000000] Disabled fast string operations
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[root@server ~]# head -n 200 /var/log/dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-1160.24.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Apr 8 19:51:47 UTC 2021
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.24.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
[ 0.000000] Disabled fast string operations
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bfecffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000bfed0000-0x00000000bfefefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000bfeff000-0x00000000bfefffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000bff00000-0x00000000bfffffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000101bfffff] usable

Imaginez que vous êtes un administrateur système et vous souhaitez détecter le souci sur démarrage du système et vous tomber sur des logs comme ceux présenté ci-dessous. Seriez-vous en mesure de localiser la root cause ? mais même vous trouvez la cause cela n’est qu’après avoir passé des heures à comprendre ce que signifie chaque mot.

C’est là qu’un outil comme Splunk est utile, il permet d’analyse ces data machine, Il vous suffit de transférer les données sur la plateforme pour laisser Splunk se charger de les traîter et de les transformer en informations exploitables, Ainsi vous pouvez aisement détecter d’où vienne le souci technique.

L’un des principaux points forts de Splunk est sa capacité à traiter les données en temps réel, si par exemple vous avez des serveurs qui génèrent constament des logs et que vous souhaitez les analyser en temps réel, Splunk le permet.

Dans cet article nous allons voir comment installer Splunk sur CentOS 7/8.

Télécharger Splunk

Accédez à cet URL et enregistrez-vous en remplissant les champs requis :

splunk
splunk

Cliquez sur Free Splunk puis sur Splunk Entreprise :

splunk
4
splunk

Télechargez ensuite le package pour la plateforme linux :

splunk

Installation

Nous n’allons pas installer splunk avec root, ça sera via l’utlisateur splunk que nous allons créer :

[root@server ~]# groupadd splunk
[root@server ~]# useradd -d /opt/splunk -m -g splunk splunk

Connectez-vous avec l’utilisateur splunk :

[root@server ~]# su splunk
[splunk@server]$

Extractez le fichier tgz :

[root@server ~]# tar xzf splunk-8.2.2-87344edfcdb4-Linux-x86_64.tgz
[root@server ~]# ll
total 758980
drwxr-xr-x. 9 10777 10777 237 Aug 13 04:02 splunk

Copiez le contenu de splunk vers /opt/splunk:

[root@server ~]# cp -rp splunk/* /opt/splunk/

Changez le propriètaire des fichier /opt/splunk à splunk :

[root@server ~]# chown -R splunk: /opt/splunk/
[root@server ~]# ll /opt/splunk/
total 3884
drwxr-xr-x. 4 splunk splunk 4096 Aug 13 04:02 bi
-r--r--r--. 1 splunk splunk 57 Aug 13 00:14 copyright.txt
drwxr-xr-x. 15 splunk splunk 4096 Aug 13 04:00 etc
-rw-r--r--. 1 splunk splunk 0 Aug 13 04:00 ftr
drwxr-xr-x. 4 splunk splunk 62 Aug 13 03:59 include
drwxr-xr-x. 8 splunk splunk 4096 Aug 13 04:02 lib
-r--r--r--. 1 splunk splunk 85440 Aug 13 00:14 license-eula.txt
drwxr-xr-x. 3 splunk splunk 58 Aug 13 03:59 openssl
-r--r--r--. 1 splunk splunk 520 Aug 13 03:41 README-splunk.txt
drwxr-xr-x. 4 splunk splunk 108 Aug 13 03:59 share
-r--r--r--. 1 splunk splunk 3867954 Aug 13 04:02 splunk-8.2.2-87344edfcdb4-linux-2.6-x86_64-manifest
drwxr-xr-x. 2 splunk splunk 54 Aug 13 04:00 swidtag

Connectez-vous à l’utilisateur splunk et commencez l’installation :

[root@server]$ su splunk
[splunk@server]$ cd /opt/splunk/bin
[splunk@server bin]$ ./splunk start --accept-license

Créez un utilisateur et un mot de passe :

-bash-4.2$ ./splunk start --accept-license
This appears to be your first time running this version of Splunk.
Splunk software must create an administrator account during startup. Otherwise, you cannot log in.
Create credentials for the administrator account.
Characters do not appear on the screen when you type in credentials.
Please enter an administrator username: admin
Password must contain at least:
8 total printable ASCII character(s).
Please enter a new password:Password
Please confirm new password:Password
Copying '/opt/splunk/etc/openldap/ldap.conf.default' to '/opt/splunk/etc/openldap/ldap.conf'.
Generating RSA private key, 2048 bit long modulus
…………………………………………………………+++++
………….+++++
e is 65537 (0x10001)
writing RSA key
Generating RSA private key, 2048 bit long modulus
……………………+++++
………..+++++
e is 65537 (0x10001)
writing RSA key
Moving '/opt/splunk/share/splunk/search_mrsparkle/modules.new' to '/opt/splunk/share/splunk/search_mrsparkle/modules'.
Splunk> 4TW
Checking prerequisites…
Checking http port [8000]: open
Checking mgmt port [8089]: open
Checking appserver port [127.0.0.1:8065]: open
Checking kvstore port [8191]: open
Checking configuration… Done.
Creating: /opt/splunk/var/lib/splunk
Creating: /opt/splunk/var/run/splunk
Creating: /opt/splunk/var/run/splunk/appserver/i18n
Creating: /opt/splunk/var/run/splunk/appserver/modules/static/css
Creating: /opt/splunk/var/run/splunk/upload
Creating: /opt/splunk/var/run/splunk/search_telemetry
Creating: /opt/splunk/var/spool/splunk
Creating: /opt/splunk/var/spool/dirmoncache
Creating: /opt/splunk/var/lib/splunk/authDb
Creating: /opt/splunk/var/lib/splunk/hashDb
New certs have been generated in '/opt/splunk/etc/auth'.
Checking critical directories… Done
Checking indexes…
Validated: _audit _internal _introspection _metrics _metrics_rollup _telemetry _thefishbucket history main summary
Done
Checking filesystem compatibility… Done
Checking conf files for problems…
Done
Checking default conf files for edits…
Validating installed files against hashes from '/opt/splunk/splunk-8.2.2-87344edfcdb4-linux-2.6-x86_64-manifest'
All installed files intact.
Done
All preliminary checks passed.
Starting splunk server daemon (splunkd)…
Generating a RSA private key
………………………………………………….+++++
………….+++++
writing new private key to 'privKeySecure.pem'
Signature ok
subject=/CN=server/O=SplunkUser
Getting CA Private Key
writing RSA key
Done
[ OK ]
Waiting for web server at http://127.0.0.1:8000 to be available………………. Done
If you get stuck, we're here to help.
Look for answers here: http://docs.splunk.com
The Splunk web interface is at http://server:8000
-bash-4.2$

Autorisez ensuite le port 8000 au niveau du firewall :

[root@server ~]# firewall-cmd --permanent --add-port=8000/tcp
success
[root@server ~]# firewall-cmd --reload
success

Connectez-vous à url « http://nom_serveur:8000 » ( ou http://@IP:8000 ) :

splunk interface

Entrez votre identifiant et le mot de passe que vous avez créé :

splunk

Et voilà votre splunk a été bien installé.