āϏā§āĻĒā§āϞāĻā§āĻ āĻšāϞ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āϏā§āĻŦā§āĻā§āϤ āĻŦāĻžāĻŖāĻŋāĻā§āϝāĻŋāĻ āϞāĻ āϏāĻāĻā§āϰāĻš āĻāĻŦāĻ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻĒāĻŖā§āϝāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋāĨ¤ āĻāĻŽāύāĻāĻŋ āĻāĻāύ, āϝāĻāύ āĻŦāĻŋāĻā§āϰāϝāĻŧ āĻāϰ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāϝāĻŧ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž, āϤāĻāύ āĻāĻ āĻĒāĻŖā§āϝāĻāĻŋāϰ āĻāύā§āϝ āύāĻŋāϰā§āĻĻā§āĻļāύāĻž/āĻā§āĻāĻžāĻŦā§ āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž āϞā§āĻāĻžāϰ āĻāĻžāϰāĻŖ āύāϝāĻŧāĨ¤
āĻāĻžāĻā§āϰ: āĻšā§āϏā§āĻ āĻŽā§āĻļāĻŋāύ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āύāĻž āĻāϰ⧠āϏā§āĻĒā§āϞāĻā§āĻā§ āĻĄāĻāĻžāϰ āύā§āĻĄ āĻĨā§āĻā§ āϏāĻŋāϏā§āĻā§āĻŽ āϞāĻ āϏāĻāĻā§āϰāĻš āĻāϰā§āύ
āĻāĻŽāĻŋ āĻ
āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻžāĻĨā§ āĻļā§āϰ⧠āĻāϰāϤ⧠āĻāĻžāĻ, āϝāĻž āĻĄāĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻŋāĻā§āĻāĻž āĻ
āĻĻā§āĻā§āϤ āĻĻā§āĻāĻžāϝāĻŧāĨ¤
āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŋ āĻāĻā§:
1. āĻĒā§āϞāĻŋāĻŽ āĻāĻŽā§āĻ
$ docker pull splunk/universalforwarder:latest2. āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āĻĻāĻŋāϝāĻŧā§ āϧāĻžāϰāĻ āĻļā§āϰ⧠āĻāϰā§āύ
$ docker run -d -p 9997:9997 -e 'SPLUNK_START_ARGS=--accept-license' -e 'SPLUNK_PASSWORD=<password>' splunk/universalforwarder:latest3. āĻāĻŽāϰāĻž āĻĒāĻžāϤā§āϰ⧠āϝāĻžāύ
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 *********
ĐŊŅ Đ¸ ŅаĐē даĐģĐĩĐĩ...
āĻĻāĻžāϰā§āĻŖāĨ¤ āĻāĻŽā§āĻ āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āϧāĻžāϰāĻŖ āĻāϰ⧠āύāĻž. āĻ
āϰā§āĻĨāĻžā§, āĻāĻĒāύāĻŋ āϝāϤāĻŦāĻžāϰ āĻļā§āϰ⧠āĻāϰāĻŦā§āύ āϤāϤāĻŦāĻžāϰ āĻŦāĻžāĻāύāĻžāϰāĻŋ, āĻāύāĻĒā§āϝāĻžāĻ āĻāĻŦāĻ āĻāύāĻĢāĻŋāĻāĻžāϰ āϏāĻš āϏāĻāϰāĻā§āώāĻŖāĻžāĻāĻžāϰ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāϤ⧠āϏāĻŽāϝāĻŧ āϞāĻžāĻāĻŦā§āĨ¤
āĻāĻŋ āĻĄāĻāĻžāϰ-āĻāϝāĻŧā§ āĻāĻŦāĻ āϝ⧠āϏāĻŦ āϏāĻŽā§āĻĒāϰā§āĻā§?
āύāĻž āϧāύā§āϝāĻŦāĻžāĻĻ. āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āϰā§āĻ āύāĻŋāϤ⧠āĻšāĻŦā§. āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āϏāĻŽāĻžāĻŦā§āĻļ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āĻāĻ āϏāĻŽāϏā§āϤ āĻ āĻĒāĻžāϰā§āĻļāύ āϏāĻā§āĻāĻžāϞāύ? āϤāĻžāĻšāϞ⧠āĻāϞ⧠āϝāĻžāĻ!
āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻĻā§āϰāĻŋ āύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻŽāĻŋ āĻāĻāύāĻ āĻāĻĒāύāĻžāĻā§ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻāĻŋāϤā§āϰāĻāĻŋ āĻĻā§āĻāĻžāĻŦ:
Dockerfile
# ĐĸŅŅ Ņ ĐēĐžĐŗĐž ĐēаĐēиĐĩ ĐŋŅĐĩĐ´ĐŋĐžŅŅĐĩĐŊиŅ
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:changemesplunkclouduf.spl â āĻāĻāĻŋ āϏā§āĻĒā§āϞāĻā§āĻ āĻāĻāύāĻŋāĻāĻžāϰā§āϏāĻžāϞ āĻĢāϰāĻāϝāĻŧāĻžāϰā§āĻĄāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻļāĻāϏāĻžāĻĒāϤā§āϰ āĻĢāĻžāĻāϞ, āϝāĻž āĻāϝāĻŧā§āĻŦ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĨā§āĻā§ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāϤ⧠āĻā§āĻĨāĻžāϝāĻŧ āĻā§āϞāĻŋāĻ āĻāϰāĻŦā§āύ (āĻāĻŦāĻŋāϤā§)
āĻāĻāĻŋ āĻāĻāĻāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āϏāĻāϰāĻā§āώāĻŖāĻžāĻāĻžāϰ āϝāĻž āĻāύāĻĒā§āϝāĻžāĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŋāϤāϰ⧠āĻāĻŽāĻžāĻĻā§āϰ āϏā§āĻĒā§āϞāĻā§āĻāĻā§āϞāĻžāĻāĻĄā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻļāĻāϏāĻžāĻĒāϤā§āϰ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āϰāϝāĻŧā§āĻā§ 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 / āĻšā§āϏā§āĻāύāĻžāĻŽ āĻšā§āϏā§āĻ āĻŽā§āĻļāĻŋāύ āĻĨā§āĻā§ āĻāĻŦāĻ āϏā§āĻāĻžāϰā§āĻāĻāĻĒā§ āĻāύāĻĄā§āĻā§āϏ āύāĻžāĻŽā§āϰ āĻ āύā§āϰā§āĻĒ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āύāĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ docker-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
