Splunk แแ แแก แแ แ-แแ แแ แงแแแแแแ แชแแแแแแ แแแแแ แชแแฃแแ แแฃแ แแแแแก แจแแแ แแแแแแกแ แแ แแแแแแแแก แแ แแแฃแฅแขแแแแ. แแฎแแแช, แ แแชแ แ แฃแกแแแจแ แแแงแแแแแแ แแฆแแ แฎแแแแ, แแก แแ แแ แแก แแแแก แแแแแแ, แ แแ แแ แแแฌแแ แแ แแแกแขแ แฃแฅแชแแแแ/แ แแแแ แฃแแแ แแแแแแแแ แแก แแ แแแฃแฅแขแ.
แแแแแแแแ: แจแแแแ แแแแ แกแแกแขแแแแก แแฃแ แแแแแแ แแแแแ แแก แแแแแซแแแแแแ Splunk-แจแ แแแกแแแแซแแแ แแแแฅแแแแก แแแแคแแแฃแ แแชแแแก แจแแชแแแแก แแแ แแจแ
แแแแแ แแแแแฌแงแ แแคแแชแแแแฃแ แ แแแแแแแแ, แ แแแแแแช แชแแขแ แฃแชแแแฃแ แแ แแแแแแงแฃแ แแแ แแแแแ แแก แแแแแงแแแแแแกแแก.
แ แ แแแแฅแแก:
1. Pullim แแแแแกแแฎแฃแแแแ
$ 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" ]แแกแ แ แแ, แ แแช แจแแแชแแแก
แแแ แแแแ_แแแฌแงแแแ.แจ
#!/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แแแ แแแแ แแแฌแงแแแแกแแก Splunk แแแฎแแแ แแแกแชแแ แจแแกแแแ/แแแ แแแ, แแแแ แแ แแก แแแแแชแแแแแ แแแแแแงแแแแแ แแฎแแแแ แจแแแกแ แฃแแแก แแแแแแแกแขแ แแชแแฃแแ แแ แซแแแแแแแ แแ แแแแแ แแขแฃแแ แแแกแขแแแแชแแแกแแแแก, แแแฃ แแแแขแแแแแ แแก แจแแแแแ. แฉแแแแก แจแแแแฎแแแแแจแ, แฉแแแ แฃแแ แแแแ แแแแแแ แแแแขแแแแแ แแก แแแจแแแแ แแกแ, แ แแ แงแแแแแคแแ แ แแแฃแจแแแก แแ แแแ แแแ แแแแแแ แแกแแแแ แแแแแแแแแ. แ แ แแฅแแ แฃแแแ, แแก แแงแแ แ แแแแแ, แแแแ แแ แกแฎแแ แแแแแ แแแ แแแแแแ.
แจแแแแแแแ แกแแ แแแขแแก แแแฎแแแแแ แจแแกแ แฃแแแแฃแแแ
/splunkforwarder/bin/splunk install app /splunkclouduf.spl -auth admin:changemesplunkclouduf.spl โ แแก แแ แแก Splunk Universal Forwarder-แแก แ แฌแแฃแแแแแแ แกแแแแแแแแก แคแแแแ, แ แแแแแก แฉแแแแขแแแ แแแ แจแแกแแซแแแแแแแ แแแ แแแขแแ แคแแแกแแแแ.
แกแแ แแแแแญแแ แแ แแแแแแกแแฌแแ แแ (แกแฃแ แแแแแจแ)
แแก แแ แแก แฉแแแฃแแแแ แแแ แแ แฅแแแ, แ แแแแแก แแแฎแกแแ แจแแกแแซแแแแแแแ. แจแแแแแ แแ แแก แกแแ แแแคแแแแขแแแ แแ แแแ แแแ แฉแแแแก SplunkCloud-แแแ แแแกแแแแแจแแ แแแแแ แแ แแแแแแแแแแ.conf แฉแแแแ แจแแงแแแแแก แจแแแแฎแแแแแแแก แกแแแ. แแก แคแแแแ แแฅแขแฃแแแฃแ แ แแฅแแแแ แแแแแ, แกแแแแ แแ แแแแแแกแขแแแแ แแแ แแฅแแแแก Splunk-แแก แแแกแขแแแแชแแแก แแ แแ แแแแแแขแแแ แจแแงแแแแแก แแแแแซแก, แแฃ แแแกแขแแแแชแแ แแ แแก แจแแแ. แแแแขแแ, แแแกแ แแแแขแแแแแ แแก แจแแแแแ แแแแแขแแแแจแ แชแฃแแ แแ แแคแแ แแ.
แแ แแแแ แ แแ แแ แแก แแแแแขแแแ แแแ. แแแแฎ, แชแแแแแแแแแแก แแแแแกแแงแแแแแแแ, แแฅแแแ แฃแแแ แแแแแขแแแ แแแ แแแ.
แฉแแแแก แจแแงแแแแแแ.conf แฉแแแ แแแแแขแแแ แแฃแ แแแแแแก, แ แแแแแแแช แแแแแแ แแแแแแแแแแ Splunk-แจแ. แแ แแ แแก แแฃแชแแแแแแแ แแ แคแแแแแก แแแแแขแแแ แกแฃแ แแแแ, แแฃ, แแแแแแแแแ, แแแแคแแแฃแ แแชแแแแก แแแ แชแแแแแ แแแ แแแแแขแแก แกแแจแฃแแแแแแ. แแ แแแแแ แแ แแก แแ แแก, แ แแ Forwarder แฎแแแแแก แแแแคแแแฃแ แแชแแแก แแแแแแแก แแแฌแงแแแแกแแก, แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แแแก แแแกแญแแ แแแแ ./splunk แแแแแขแแแ แแแ.
แ แแแแ แ แแแแแ แแก แกแขแแขแแกแขแแแแก แกแแ แแแขแแแแ แแกแแแ? Github-แแ แแ แแก แซแแแแ แแแแแฌแงแแแขแ , แกแแ แแแขแแแ แแฅแแแแ แแฅแแ แแฆแแแฃแแ แแ แจแแแชแแแแ Docker-แแก (ce-17.*) แแ Splunk-แแก (7.*) แแแแแแแแ แ แแแ แกแแแแแแ แแฃแจแแแแแกแแแแก.
แแแฆแแแฃแแ แแแแแชแแแแแแ แจแแแแซแแแแ แจแแฅแแแแ แจแแแแแแ
แแแคแแแ: (แ แแแแแแแแ แกแฃแ แแแ)
แขแแ แแแแแก แกแแฌแงแแกแ แแแแ แแแชแแแฃแแแ แกแขแแขแแแก แแแแแก แแแแแแแแฃแ แแแฃแแแ. แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแ แแก 2 แจแแ แฉแแฃแแ แแแแ: 1 - แแแแแฅแกแแก แจแแ แฉแแแ (แแแฆแแแก แแแฎแแแแแ แแแซแแแแ), แฐแแกแขแแก/แแแแขแแแแแ แแก แจแแ แฉแแแ. แแฅแแแ แกแแแแ แแฃแแแ แแแแญแแ แแแแแ แแแแแฅแกแแก แแแฆแแแก แแแแแฎแแแแ, แแฅแแแแก แแแแ แแแแแงแแแแแฃแแ แกแแฎแแแแแแแแ แแแแแแแแแแ แ.
แแแกแแกแ แฃแแก, แแแแแ แแฅแแแแ แงแฃแ แแแฆแแแ แแแแแแแฎแแแแ แคแฃแแฅแชแแแแ แแแฌแงแแแ () ะฒ
แจแแกแแกแแแแแ แฌแแ แขแแแ.แจ
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
}แฉแแแก แจแแแแฎแแแแแจแ, แแแแแแฃแแ แแแ แแแแกแแแแก แแ แแแแแแฃแแ แแแแแแแแฃแแแฃแ แ แแ แแแฃแแแกแแแแก, แแฅแแแแ แแก แแแแแแแชแแ แแแแขแแแแแ แจแ แแฃ แแแกแแแแซแแ แแแแฅแแแแจแ, แฉแแแ แแแงแแแแแ แชแแแแ แแแแแฅแกแก. แแ แแแแ, แซแแแแแก แกแแฉแฅแแ แ แแ แแแแแ แแแแแแ, แ แแแแกแแช แแ แกแแแแแก แแแแแชแแแแแแก แแแแจแแแแแแแแแ แแแแ แแแแแ. แแแ แขแแแ แฌแแกแ แแแแแแงแแแแแ แแแแแฅแกแแแแก แแแกแแกแแฎแแแแแแแ: _. แแแแขแแ, แแแแกแแแแแก, แ แแ แแแแขแแแแแ แ แแงแแก แฃแแแแแ แกแแแฃแ แ, แแแแแแแก แแแจแแแแแแแ แฉแแแ แแชแแแแ sed- แแแ แแแแก แกแแฎแแแแก แแแแฃแ แ แแแ แแแ. แแแ แแแแก แกแแฎแแแแก แชแแแแแ แแแแแแชแแแ แแแ แแแแก แชแแแแแแแก. แกแแกแแชแแแแ แแฆแแ แก.
แแกแแแ แแฆแกแแแแจแแแแแ, แ แแ แ แแแแ แแแแแแแ Splunk-แแ แแ แแแฅแแแแแแก แแแแแ แแก แแแ แแแแขแ แแก แแ แกแแแแแ. แแแกแแแแซแแแก แกแแฎแแแ. แแก แแแแแช แฏแแฃแขแแ แแแฃแแแแแแแก แแฃแ แแแแแแก แแแแแกแ แแแแขแแแแแ แแก ID-แแ แแแกแแแแซแแ แแแแจแ. แ แแแแ แช แแแแแกแแแแแ, แจแแแแซแแแแ แแแแแแแขแแแแ / etc / hostname แแแกแแแแซแแแ แแแแฅแแแแแแ แแ แแแจแแแแแกแแก แแแแแแแแ แแแแแฅแกแแก แกแแฎแแแแแแก แแกแแแแกแ แฉแแแแชแแแแแ.
แแแแแแแแ 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แกแฃแ
แแแแฎ, แแแแแ แแแแแกแแแแแ แแ แแ แแก แแแแแแฃแ แ แแ, แ แ แแฅแแ แฃแแแ, แแ แแ แแก แฃแแแแแ แกแแแฃแ แ แงแแแแแกแแแแก, แ แแแแแ แแแแ แแ "แแงแแ แ แแแแ". แแแแ แแ แแแกแแ แแแงแ แแแแแแ, แงแแแแแก แจแแฃแซแแแ แจแแฅแแแแก แกแแแฃแแแ แ แแแแฏแ แแ แแแแแแแแกแแก แแแ แแแแแก แแแ แแ แฎแแแแแแแ แฅแแ แฎแแแแจแ, แแฃ, แ แแแแ แช แฎแแแแ, แแแแญแแ แแแแแ Splunk Forwarder แแแแแ แจแ.
แแแฃแแแแ:
แฌแงแแ แ: www.habr.com
