[Splunk] Construire Splunk Enterprise (créer un fichier docker)

[Splunk] Construire Splunk Enterprise (créer un fichier docker)

Objectif / contexte

Nous avons réussi à créer un environnement pour Splunk Enterprise en utilisant des images Docker manuelles et accessibles au public. Ensuite, je voudrais créer et construire moi-même un fichier docker.

Cible

Constitution

/splunk  
    /Dockerfile  
    /files  
        /splunk-launch.conf  

./Dockerfile

Essayez de construire la destination d'installation avec "/ usr / local / splunk" et le mot de passe initial de l'utilisateur admin avec "changez-moi".

FROM ubuntu:18.04

RUN apt-get update -y
RUN apt-get install -y \
    wget
RUN wget -P /usr/local/src -O splunk-8.0.6-152fb4b2bb96-Linux-x86_64.tgz 'https://www.splunk.com/bin/splunk/DownloadActivityServlet?architecture=x86_64&platform=linux&version=8.0.6&product=splunk&filename=splunk-8.0.6-152fb4b2bb96-Linux-x86_64.tgz&wget=true'
RUN tar zxvf splunk-8.0.6-152fb4b2bb96-Linux-x86_64.tgz -C /usr/local/
COPY ./files/splunk-launch.conf /usr/local/splunk/etc
RUN /usr/local/splunk/bin/splunk start --accept-license --answer-yes --seed-passwd changeme

./files/splunk-launch.conf

#   Version 8.0.6

# Modify the following line to suit the location of your Splunk install.
# If unset, Splunk will use the parent of the directory containing the splunk
# CLI executable.
#
# SPLUNK_HOME=/opt/splunk-home
SPLUNK_HOME=/usr/local/splunk

# By default, Splunk stores its indexes under SPLUNK_HOME in the
# var/lib/splunk subdirectory.  This can be overridden
# here:
#
# SPLUNK_DB=/opt/splunk-home/var/lib/splunk
# Splunkd daemon name
SPLUNK_SERVER_NAME=Splunkd

# If SPLUNK_OS_USER is set, then Splunk service will only start
# if the 'splunk [re]start [splunkd]' command is invoked by a user who
# is, or can effectively become via setuid(2), $SPLUNK_OS_USER.
# (This setting can be specified as username or as UID.)
#
# SPLUNK_OS_USER

OPTIMISTIC_ABOUT_FILE_LOCKING=1

Construire

$ docker build -t splunk .

Commencez

$ docker run -itd -p 8000:8000 --name splunk splunk

※(Tâche)Splunk n'a pas commencé avec ça seul, alors je l'ai redémarré intentionnellement
$ docker exec splunk sh -c "/usr/local/splunk/bin/splunk restart"

Entrez dans le conteneur

$ docker exec -it splunk /bin/bash

Acquisition des informations de diagnostic

$ docker exec splunk sh -c "/usr/local/splunk/bin/splunk diag"

Collecting components: conf_replication_summary, consensus, dispatch, etc, file_validate, index_files, index_listing, kvstore, log, searchpeers, suppression_listing
Skipping components: rest
Selected diag name of: diag-7ffffbe066aa-2020-09-11_07-32-48
Starting splunk diag...
    :
Cleaning up...
Splunk diagnosis file created: /usr/local/splunk/diag-7ffffbe066aa-2020-09-11_07-32-48.tar.gz

Copiez le fichier dans le dossier côté hôte monté au démarrage (Si vous pouvez définir la destination de sortie de diag, vous n'avez pas besoin d'exécuter cette commande)

$ docker exec splunk sh -c "cp /usr/local/splunk/diag-f03a58497527-2020-09-11_07-42-14.tar.gz /tmp"

* Confirmation du résultat de la copie
$ ll ./Volumes/tmp/
total 15M
drwxrwxr-x 2 xxxxx xxxxx 4.0K Sep 11 16:42 ./
drwxrwxr-x 3 xxxxx xxxxx 4.0K Sep 11 16:35 ../
-rw------- 1 root  root   15M Sep 11 16:42 diag-f03a58497527-2020-09-11_07-42-14.tar.gz

Ou copiez le fichier de l'intérieur du conteneur vers l'hôte avec la commande suivante

$ docker cp splunk://usr/local/splunk/diag-f03a58497527-2020-09-11_07-42-14.tar.gz ./
$ ll
total 15M
drwxrwxr-x  4 xxxxx xxxxx 4.0K Sep 11 16:47 ./
drwxrwxr-x 11 xxxxx xxxxx 4.0K Sep 11 11:25 ../
-rw-------  1 xxxxx xxxxx  15M Sep 11 16:42 diag-f03a58497527-2020-09-11_07-42-14.tar.gz
-rw-rw-r--  1 xxxxx xxxxx  551 Sep 11 16:26 Dockerfile
drwxrwxr-x  2 xxxxx xxxxx 4.0K Sep 11 16:09 files/
drwxrwxr-x  3 xxxxx xxxxx 4.0K Sep 11 16:35 Volumes/

en conclusion

Splunk n'a pas démarré lorsque je viens de démarrer le conteneur, et j'ai dû le redémarrer manuellement, mais j'ai pu démarrer Splunk à l'intérieur du conteneur sans polluer l'hôte.

Recommended Posts

[Splunk] Construire Splunk Enterprise (créer un fichier docker)
[Splunk] Création de Splunk Enterprise (à l'aide de l'image Docker)
création de fichier java
Définir manuellement le partage de fichiers Docker
Créer un environnement Docker avec WSL
Construire DynamoDB local avec Docker
Construction de docker multi-projets à l'aide de jib