ಸಿಸ್ಟಮ್ ಲಾಗ್ ಕಲೆಕ್ಟರ್ ಆಗಿ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್

ಸಿಸ್ಟಮ್ ಲಾಗ್ ಕಲೆಕ್ಟರ್ ಆಗಿ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್

ಸ್ಪ್ಲಂಕ್ ಅತ್ಯಂತ ಗುರುತಿಸಬಹುದಾದ ಹಲವಾರು ವಾಣಿಜ್ಯ ಲಾಗ್ ಸಂಗ್ರಹಣೆ ಮತ್ತು ವಿಶ್ಲೇಷಣೆ ಉತ್ಪನ್ನಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಈಗಲೂ ಸಹ, ರಷ್ಯಾದಲ್ಲಿ ಮಾರಾಟವನ್ನು ಇನ್ನು ಮುಂದೆ ಮಾಡದಿದ್ದಾಗ, ಈ ಉತ್ಪನ್ನಕ್ಕೆ ಸೂಚನೆಗಳನ್ನು / ಹೇಗೆ-ಮಾಡಬೇಕೆಂದು ಬರೆಯದಿರಲು ಇದು ಒಂದು ಕಾರಣವಲ್ಲ.

ಉದ್ದೇಶ: ಹೋಸ್ಟ್ ಮೆಷಿನ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಬದಲಾಯಿಸದೆಯೇ ಸ್ಪ್ಲಂಕ್‌ನಲ್ಲಿನ ಡಾಕರ್ ನೋಡ್‌ಗಳಿಂದ ಸಿಸ್ಟಮ್ ಲಾಗ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ

ನಾನು ಅಧಿಕೃತ ವಿಧಾನದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲು ಬಯಸುತ್ತೇನೆ, ಇದು ಡಾಕರ್ ಅನ್ನು ಬಳಸುವಾಗ ಸ್ವಲ್ಪ ವಿಚಿತ್ರವಾಗಿ ಕಾಣುತ್ತದೆ.
ಡಾಕರ್ ಹಬ್‌ಗೆ ಲಿಂಕ್ ಮಾಡಿ
ನಾವು ಏನು ಹೊಂದಿದ್ದೇವೆ:

1. ಪುಲ್ಲಿಮ್ ಚಿತ್ರ

$ docker pull splunk/universalforwarder:latest

2. ಅಗತ್ಯ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಧಾರಕವನ್ನು ಪ್ರಾರಂಭಿಸಿ

$ docker run -d  -p 9997:9997 -e 'SPLUNK_START_ARGS=--accept-license' -e 'SPLUNK_PASSWORD=<password>' splunk/universalforwarder:latest

3. ನಾವು ಕಂಟೇನರ್ಗೆ ಹೋಗುತ್ತೇವೆ

docker exec -it <container-id> /bin/bash

ಮುಂದೆ, ದಸ್ತಾವೇಜನ್ನು ತಿಳಿದಿರುವ ವಿಳಾಸಕ್ಕೆ ಹೋಗಲು ನಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ.

ಮತ್ತು ಕಂಟೇನರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ ಅದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ:


./splunk add forward-server <host name or ip address>:<listening port>
./splunk add monitor /var/log
./splunk restart

ನಿರೀಕ್ಷಿಸಿ. ಏನು?

ಆದರೆ ಆಶ್ಚರ್ಯಗಳು ಅಲ್ಲಿಗೆ ಮುಗಿಯುವುದಿಲ್ಲ. ನೀವು ಸಂವಾದಾತ್ಮಕ ಮೋಡ್‌ನಲ್ಲಿ ಅಧಿಕೃತ ಚಿತ್ರದಿಂದ ಧಾರಕವನ್ನು ಚಲಾಯಿಸಿದರೆ, ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ನೋಡುತ್ತೀರಿ:

ಸ್ವಲ್ಪ ನಿರಾಸೆ


$ docker run -it -p 9997:9997 -e 'SPLUNK_START_ARGS=--accept-license' -e 'SPLUNK_PASSWORD=password' splunk/universalforwarder:latest

PLAY [Run default Splunk provisioning] *******************************************************************************************************************************************************************************************************
Tuesday 09 April 2019  13:40:38 +0000 (0:00:00.096)       0:00:00.096 *********

TASK [Gathering Facts] ***********************************************************************************************************************************************************************************************************************
ok: [localhost]
Tuesday 09 April 2019  13:40:39 +0000 (0:00:01.520)       0:00:01.616 *********

TASK [Get actual hostname] *******************************************************************************************************************************************************************************************************************
changed: [localhost]
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.599)       0:00:02.215 *********
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.054)       0:00:02.270 *********

TASK [set_fact] ******************************************************************************************************************************************************************************************************************************
ok: [localhost]
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.075)       0:00:02.346 *********
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.067)       0:00:02.413 *********
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.060)       0:00:02.473 *********
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.051)       0:00:02.525 *********
Tuesday 09 April 2019  13:40:40 +0000 (0:00:00.056)       0:00:02.582 *********
Tuesday 09 April 2019  13:40:41 +0000 (0:00:00.216)       0:00:02.798 *********
included: /opt/ansible/roles/splunk_common/tasks/change_splunk_directory_owner.yml for localhost
Tuesday 09 April 2019  13:40:41 +0000 (0:00:00.087)       0:00:02.886 *********

TASK [splunk_common : Update Splunk directory owner] *****************************************************************************************************************************************************************************************
ok: [localhost]
Tuesday 09 April 2019  13:40:41 +0000 (0:00:00.324)       0:00:03.210 *********
included: /opt/ansible/roles/splunk_common/tasks/get_facts.yml for localhost
Tuesday 09 April 2019  13:40:41 +0000 (0:00:00.094)       0:00:03.305 *********

ну и так далее...

ಕುವೆಂಪು. ಚಿತ್ರವು ಕಲಾಕೃತಿಯನ್ನು ಸಹ ಹೊಂದಿಲ್ಲ. ಅಂದರೆ, ನೀವು ಪ್ರಾರಂಭಿಸಿದಾಗಲೆಲ್ಲಾ ಬೈನರಿಗಳೊಂದಿಗೆ ಆರ್ಕೈವ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು, ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲು ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
ಡಾಕರ್-ವೇ ಮತ್ತು ಎಲ್ಲದರ ಬಗ್ಗೆ ಏನು?

ಬೇಡ ಧನ್ಯವಾದಗಳು. ನಾವು ಬೇರೆ ಮಾರ್ಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ. ಅಸೆಂಬ್ಲಿ ಹಂತದಲ್ಲಿ ನಾವು ಈ ಎಲ್ಲಾ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಮಾಡಿದರೆ ಏನು? ಹಾಗಾದರೆ ಹೋಗೋಣ!

ಹೆಚ್ಚು ವಿಳಂಬ ಮಾಡದಿರಲು, ನಾನು ನಿಮಗೆ ಅಂತಿಮ ಚಿತ್ರವನ್ನು ಈಗಿನಿಂದಲೇ ತೋರಿಸುತ್ತೇನೆ:

ಡಾಕರ್‌ಫೈಲ್

# Тут у кого какие предпочтения
FROM centos:7

# Задаём переменные, чтобы каждый раз при старте не указывать их
ENV SPLUNK_HOME /splunkforwarder
ENV SPLUNK_ROLE splunk_heavy_forwarder
ENV SPLUNK_PASSWORD changeme
ENV SPLUNK_START_ARGS --accept-license

# Ставим пакеты
# wget - чтобы скачать артефакты
# expect - понадобится для первоначального запуска Splunk на этапе сборки
# jq - используется в скриптах, которые собирают статистику докера
RUN yum install -y epel-release 
    && yum install -y wget expect jq

# Качаем, распаковываем, удаляем
RUN wget -O splunkforwarder-7.2.4-8a94541dcfac-Linux-x86_64.tgz 'https://www.splunk.com/bin/splunk/DownloadActivityServlet?architecture=x86_64&platform=linux&version=7.2.4&product=universalforwarder&filename=splunkforwarder-7.2.4-8a94541dcfac-Linux-x86_64.tgz&wget=true' 
    && wget -O docker-18.09.3.tgz 'https://download.docker.com/linux/static/stable/x86_64/docker-18.09.3.tgz' 
    && tar -xvf splunkforwarder-7.2.4-8a94541dcfac-Linux-x86_64.tgz 
    && tar -xvf docker-18.09.3.tgz  
    && rm -f splunkforwarder-7.2.4-8a94541dcfac-Linux-x86_64.tgz 
    && rm -f docker-18.09.3.tgz

# С shell скриптами всё понятно, а вот inputs.conf, splunkclouduf.spl и first_start.sh нуждаются в пояснении. Об этом расскажу после source тэга.
COPY [ "inputs.conf", "docker-stats/props.conf", "/splunkforwarder/etc/system/local/" ]
COPY [ "docker-stats/docker_events.sh", "docker-stats/docker_inspect.sh", "docker-stats/docker_stats.sh", "docker-stats/docker_top.sh", "/splunkforwarder/bin/scripts/" ]
COPY splunkclouduf.spl /splunkclouduf.spl
COPY first_start.sh /splunkforwarder/bin/

#  Даём права на исполнение, добавляем пользователя и выполняем первоначальную настройку
RUN chmod +x /splunkforwarder/bin/scripts/*.sh 
    && groupadd -r splunk 
    && useradd -r -m -g splunk splunk 
    && echo "%sudo ALL=NOPASSWD:ALL" >> /etc/sudoers 
    && chown -R splunk:splunk $SPLUNK_HOME 
    && /splunkforwarder/bin/first_start.sh 
    && /splunkforwarder/bin/splunk install app /splunkclouduf.spl -auth admin:changeme 
    && /splunkforwarder/bin/splunk restart

# Копируем инит скрипты
COPY [ "init/entrypoint.sh", "init/checkstate.sh", "/sbin/" ]

# По желанию. Кому нужно локально иметь конфиги/логи, кому нет.
VOLUME [ "/splunkforwarder/etc", "/splunkforwarder/var" ]

HEALTHCHECK --interval=30s --timeout=30s --start-period=3m --retries=5 CMD /sbin/checkstate.sh || exit 1

ENTRYPOINT [ "/sbin/entrypoint.sh" ]
CMD [ "start-service" ]

ಆದ್ದರಿಂದ ಏನು ಒಳಗೊಂಡಿದೆ

first_start.sh

#!/usr/bin/expect -f
set timeout -1
spawn /splunkforwarder/bin/splunk start --accept-license
expect "Please enter an administrator username: "
send -- "adminr"
expect "Please enter a new password: "
send -- "changemer"
expect "Please confirm new password: "
send -- "changemer"
expect eof

ಮೊದಲ ಪ್ರಾರಂಭದಲ್ಲಿ, ಲಾಗಿನ್/ಪಾಸ್‌ವರ್ಡ್ ನೀಡಲು ಸ್ಪ್ಲಂಕ್ ನಿಮ್ಮನ್ನು ಕೇಳುತ್ತದೆ, ಆದರೆ ಈ ಡೇಟಾವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮಾತ್ರ ನಿರ್ದಿಷ್ಟ ಅನುಸ್ಥಾಪನೆಗೆ ಆಡಳಿತಾತ್ಮಕ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು, ಅಂದರೆ, ಕಂಟೇನರ್ ಒಳಗೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ಕಂಟೇನರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಬಯಸುತ್ತೇವೆ ಇದರಿಂದ ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ಲಾಗ್ಗಳು ನದಿಯಂತೆ ಹರಿಯುತ್ತವೆ. ಸಹಜವಾಗಿ, ಇದು ಹಾರ್ಡ್‌ಕೋಡ್ ಆಗಿದೆ, ಆದರೆ ನಾನು ಬೇರೆ ಯಾವುದೇ ಮಾರ್ಗಗಳನ್ನು ಕಂಡುಕೊಂಡಿಲ್ಲ.

ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಕಾರ ಮತ್ತಷ್ಟು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ

/splunkforwarder/bin/splunk install app /splunkclouduf.spl -auth admin:changeme

splunkclouduf.spl — ಇದು ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್‌ಗಾಗಿ ರುಜುವಾತುಗಳ ಫೈಲ್ ಆಗಿದೆ, ಇದನ್ನು ವೆಬ್ ಇಂಟರ್ಫೇಸ್‌ನಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು.

ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಎಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಬೇಕು (ಚಿತ್ರಗಳಲ್ಲಿ)ಸಿಸ್ಟಮ್ ಲಾಗ್ ಕಲೆಕ್ಟರ್ ಆಗಿ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್

ಸಿಸ್ಟಮ್ ಲಾಗ್ ಕಲೆಕ್ಟರ್ ಆಗಿ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್
ಇದು ಸಾಮಾನ್ಯ ಆರ್ಕೈವ್ ಆಗಿದ್ದು ಅದನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡಬಹುದು. ಒಳಗೆ ಪ್ರಮಾಣಪತ್ರಗಳು ಮತ್ತು ನಮ್ಮ SplunkCloud ಗೆ ಸಂಪರ್ಕಿಸಲು ಪಾಸ್‌ವರ್ಡ್ ಮತ್ತು outputs.conf ನಮ್ಮ ಇನ್‌ಪುಟ್ ನಿದರ್ಶನಗಳ ಪಟ್ಟಿಯೊಂದಿಗೆ. ನಿಮ್ಮ ಸ್ಪ್ಲಂಕ್ ಸ್ಥಾಪನೆಯನ್ನು ನೀವು ಮರುಸ್ಥಾಪಿಸುವವರೆಗೆ ಅಥವಾ ಅನುಸ್ಥಾಪನೆಯು ಆವರಣದಲ್ಲಿದ್ದರೆ ಇನ್‌ಪುಟ್ ನೋಡ್ ಅನ್ನು ಸೇರಿಸುವವರೆಗೆ ಈ ಫೈಲ್ ಪ್ರಸ್ತುತವಾಗಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ಅದನ್ನು ಪಾತ್ರೆಯೊಳಗೆ ಸೇರಿಸುವುದರಲ್ಲಿ ಯಾವುದೇ ತಪ್ಪಿಲ್ಲ.

ಮತ್ತು ಕೊನೆಯ ವಿಷಯವೆಂದರೆ ಮರುಪ್ರಾರಂಭಿಸುವುದು. ಹೌದು, ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲು, ನೀವು ಅದನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕಾಗಿದೆ.

ನಮ್ಮಲ್ಲಿ inputs.conf ನಾವು Splunk ಗೆ ಕಳುಹಿಸಲು ಬಯಸುವ ಲಾಗ್‌ಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಪಪೆಟ್ ಮೂಲಕ ಸಂರಚನೆಗಳನ್ನು ವಿತರಿಸಿದರೆ ಈ ಫೈಲ್ ಅನ್ನು ಚಿತ್ರಕ್ಕೆ ಸೇರಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಒಂದೇ ವಿಷಯವೆಂದರೆ ಡೀಮನ್ ಪ್ರಾರಂಭವಾದಾಗ ಫಾರ್ವರ್ಡ್ ಮಾಡುವವರು ಸಂರಚನೆಗಳನ್ನು ನೋಡುತ್ತಾರೆ, ಇಲ್ಲದಿದ್ದರೆ ಅದು ಅಗತ್ಯವಿದೆ ./ಸ್ಪ್ಲಂಕ್ ಮರುಪ್ರಾರಂಭಿಸಿ.

ಅವು ಯಾವ ರೀತಿಯ ಡಾಕರ್ ಅಂಕಿಅಂಶಗಳ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಾಗಿವೆ? Github ನಿಂದ ಹಳೆಯ ಪರಿಹಾರವಿದೆ ಔಟ್ಕೋಲ್ಡ್ಮನ್, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಅಲ್ಲಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ ಮತ್ತು ಡಾಕರ್ (ce-17.*) ಮತ್ತು ಸ್ಪ್ಲಂಕ್ (7.*) ನ ಪ್ರಸ್ತುತ ಆವೃತ್ತಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಮಾರ್ಪಡಿಸಲಾಗಿದೆ.

ಪಡೆದ ಡೇಟಾದೊಂದಿಗೆ, ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ರಚಿಸಬಹುದು

ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳು: (ಒಂದೆರಡು ಚಿತ್ರಗಳು)ಸಿಸ್ಟಮ್ ಲಾಗ್ ಕಲೆಕ್ಟರ್ ಆಗಿ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್

ಸಿಸ್ಟಮ್ ಲಾಗ್ ಕಲೆಕ್ಟರ್ ಆಗಿ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್
ಡ್ಯಾಶ್‌ಗಳ ಮೂಲ ಕೋಡ್ ಲೇಖನದ ಕೊನೆಯಲ್ಲಿ ಒದಗಿಸಲಾದ ಲಿಂಕ್‌ನಲ್ಲಿದೆ. 2 ಆಯ್ದ ಕ್ಷೇತ್ರಗಳಿವೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ: 1 - ಸೂಚ್ಯಂಕ ಆಯ್ಕೆ (ಮಾಸ್ಕ್ ಮೂಲಕ ಹುಡುಕಲಾಗಿದೆ), ಹೋಸ್ಟ್/ಕಂಟೇನರ್ ಆಯ್ಕೆ. ನೀವು ಬಳಸುವ ಹೆಸರುಗಳನ್ನು ಅವಲಂಬಿಸಿ ನೀವು ಸೂಚ್ಯಂಕ ಮುಖವಾಡವನ್ನು ನವೀಕರಿಸಬೇಕಾಗುತ್ತದೆ.

ಕೊನೆಯಲ್ಲಿ, ನಾನು ಕಾರ್ಯಕ್ಕೆ ನಿಮ್ಮ ಗಮನವನ್ನು ಸೆಳೆಯಲು ಬಯಸುತ್ತೇನೆ ಪ್ರಾರಂಭ() в

entrypoint.sh

start() {
    trap teardown EXIT
	if [ -z $SPLUNK_INDEX ]; then
	echo "'SPLUNK_INDEX' env variable is empty or not defined. Should be 'dev' or 'prd'." >&2
	exit 1
	else
	sed -e "s/@index@/$SPLUNK_INDEX/" -i ${SPLUNK_HOME}/etc/system/local/inputs.conf
	fi
	sed -e "s/@hostname@/$(cat /etc/hostname)/" -i ${SPLUNK_HOME}/etc/system/local/inputs.conf
    sh -c "echo 'starting' > /tmp/splunk-container.state"
	${SPLUNK_HOME}/bin/splunk start
    watch_for_failure
}

ನನ್ನ ವಿಷಯದಲ್ಲಿ, ಪ್ರತಿ ಪರಿಸರಕ್ಕೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಘಟಕಕ್ಕೆ, ಇದು ಕಂಟೇನರ್ ಅಥವಾ ಹೋಸ್ಟ್ ಯಂತ್ರದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿರಬಹುದು, ನಾವು ಪ್ರತ್ಯೇಕ ಸೂಚ್ಯಂಕವನ್ನು ಬಳಸುತ್ತೇವೆ. ಈ ರೀತಿಯಾಗಿ, ಡೇಟಾದ ಗಮನಾರ್ಹ ಶೇಖರಣೆಯಾದಾಗ ಹುಡುಕಾಟ ವೇಗವು ತೊಂದರೆಯಾಗುವುದಿಲ್ಲ. ಸೂಚ್ಯಂಕಗಳನ್ನು ಹೆಸರಿಸಲು ಸರಳ ನಿಯಮವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ: _. ಆದ್ದರಿಂದ, ಕಂಟೇನರ್ ಸಾರ್ವತ್ರಿಕವಾಗಲು, ಡೀಮನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ನಾವು ಬದಲಾಯಿಸುತ್ತೇವೆ ಆದರೆಪರಿಸರದ ಹೆಸರಿಗೆ -ನೇ ವೈಲ್ಡ್ಕಾರ್ಡ್. ಪರಿಸರದ ಹೆಸರು ವೇರಿಯೇಬಲ್ ಅನ್ನು ಪರಿಸರ ಅಸ್ಥಿರಗಳ ಮೂಲಕ ರವಾನಿಸಲಾಗುತ್ತದೆ. ತಮಾಷೆಯೆನಿಸುತ್ತದೆ.

ಕೆಲವು ಕಾರಣಗಳಿಂದಾಗಿ ಡಾಕರ್ ನಿಯತಾಂಕದ ಉಪಸ್ಥಿತಿಯಿಂದ ಸ್ಪ್ಲಂಕ್ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ ಎಂದು ಗಮನಿಸಬೇಕಾದ ಅಂಶವಾಗಿದೆ ಹೋಸ್ಟ್ಹೆಸರು. ಅವನು ಇನ್ನೂ ಮೊಂಡುತನದಿಂದ ಹೋಸ್ಟ್ ಫೀಲ್ಡ್‌ನಲ್ಲಿ ತನ್ನ ಕಂಟೇನರ್‌ನ ಐಡಿಯೊಂದಿಗೆ ಲಾಗ್‌ಗಳನ್ನು ಕಳುಹಿಸುತ್ತಾನೆ. ಪರಿಹಾರವಾಗಿ, ನೀವು ಆರೋಹಿಸಬಹುದು / etc / hostname ಹೋಸ್ಟ್ ಯಂತ್ರದಿಂದ ಮತ್ತು ಪ್ರಾರಂಭದಲ್ಲಿ ಸೂಚ್ಯಂಕ ಹೆಸರುಗಳಂತೆಯೇ ಬದಲಿಗಳನ್ನು ಮಾಡಿ.

ಉದಾಹರಣೆ ಡಾಕರ್-compose.yml

version: '2'
services:
  splunk-forwarder:
    image: "${IMAGE_REPO}/docker-stats-splunk-forwarder:${IMAGE_VERSION}"
    environment:
      SPLUNK_INDEX: ${ENVIRONMENT}
    volumes:
    - /etc/hostname:/etc/hostname:ro
    - /var/log:/var/log
    - /var/run/docker.sock:/var/run/docker.sock:ro

ಫಲಿತಾಂಶ

ಹೌದು, ಬಹುಶಃ ಪರಿಹಾರವು ಸೂಕ್ತವಲ್ಲ ಮತ್ತು ಎಲ್ಲರಿಗೂ ಖಂಡಿತವಾಗಿಯೂ ಸಾರ್ವತ್ರಿಕವಲ್ಲ, ಏಕೆಂದರೆ ಹಲವು ಇವೆ "ಹಾರ್ಡ್‌ಕೋಡ್". ಆದರೆ ಅದರ ಆಧಾರದ ಮೇಲೆ, ಪ್ರತಿಯೊಬ್ಬರೂ ತಮ್ಮದೇ ಆದ ಚಿತ್ರವನ್ನು ನಿರ್ಮಿಸಬಹುದು ಮತ್ತು ಅದನ್ನು ಅವರ ಖಾಸಗಿ ಆರ್ಟಿಫ್ಯಾಕ್ಟರಿಯಲ್ಲಿ ಇರಿಸಬಹುದು, ಅದು ಸಂಭವಿಸಿದಂತೆ, ನಿಮಗೆ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಫಾರ್ವರ್ಡರ್ ಅಗತ್ಯವಿದ್ದರೆ.

ಉಲ್ಲೇಖಗಳು:

ಲೇಖನದಿಂದ ಪರಿಹಾರ
ಔಟ್‌ಕೋಲ್ಡ್‌ಮ್ಯಾನ್‌ನಿಂದ ಪರಿಹಾರವು ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ನಮಗೆ ಸ್ಫೂರ್ತಿ ನೀಡಿತು
ಆಫ್. ಯುನಿವರ್ಸಲ್ ಫಾರ್ವರ್ಡರ್ ಅನ್ನು ಹೊಂದಿಸಲು ದಸ್ತಾವೇಜನ್ನು

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ