Docker 모니터링을 위한 Zabbix Agent

7792 단어 zabbix3.0도커zabbix

이전에는 회사 시스템을 Docker화할 때 Zabbix Agent를 위해 "monitoringartist/dockbix-agent-xxl-limited"를 사용했습니다.

참고자료 : h tps : // 테아 m-6. 하테나 bぉg. jp/엔트리/2017/08/11/220510

한 달 정도 테스트 기간이 끝나 운영을 처음 얼마 지나지 않아 갑자기 이하의 에러가로 움직이지 않게 되어 버렸습니다.
Freeware licence - Usage of this binary is restricted to official monitoringartist Docker images only.

제공하고 있는 사이트에 그 이유가 쓰고 있었습니다.

참고자료 : htps : // 기주 b. 코 m / 모토 린가 r st / ck와 x-Agen t-xl

한 달 정도는 왜 움직였는지 생각했습니다만, 우선은 대응이 우선이므로 여러가지 검색해 보았습니다만 대부분이 같은 제품을 사용하는 예인가 Docker에 Zabbix 서버를 넣어 이용하는 내용이었습니다.

검색을 해도 「monitoringartist/dockbix-agent-xxl-limited」를 이용해 감시하는 내용뿐이었습니다. 좀 더 열심히 검색하면 OS가 다릅니다만, 기본적으로는 Linux(CentOs)이므로 시험해 이하의 URL의 내용을 참고로 실행했습니다.

참고자료 : htps : // 이 m / _BS mi_ / / ms / 5 13 ~ b6305에서 8f98 ~ cd

오~ 잘 해요! !
.....

오류



하지만, 이 내용에서는 아래의 Docker 로그처럼 시작되지 않습니다.
cannot load module "zabbix_module_docker.so": /usr/lib/modules-load.d/zabbix_module_docker.so: invalid ELF header

참고원 에서 이용 중
모듈이 이미 사라졌으므로 모듈은 다음과 같이 Debian8을 다운로드했습니다. (주의 : 다운로드 링크에 따라 한 번 리디렉션되므로 HTML을 열고 원래 URL을 사용하여 다운로드)

참고원 대로 구현한 로그를 분석하면 참고원으로 CoreOs용 ZabbixAgent( 여기 )가 너무 오래된 것이 원인인 것 같았습니다.

대책



먼저 docker-zabbix-coreos/etc/zabbix/ (*1)을 클론해 둔다.

그 후, 이하의 URL(Agent가 3.0을 상정)으로부터 해당하는 것 「zabbix-agent_3.0.18-1%2Bjessie_amd64.deb」를 다운로드해 「files/zabbix-agent_2.2.7+dfsg-1.1_amd64.deb 대신 사용한다.

Zabbix Official Repository

Dockerfile의 "zabbix-agent_2.2.7+dfsg-1.1_amd64.deb"파일명을 다운로드한 파일명 "zabbix-agent_3.0.18-1+jessie_amd64.deb"로 변경한다.

이제 괜찮습니다. "monitoringartist/dockbix-agent-xxl-limited"와 같을 수 있었습니다.
FROM debian:jessie
MAINTAINER kugyon.i <[email protected]>

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && \
    apt-get -y install locales && \
    dpkg-reconfigure locales && \
    locale-gen C.UTF-8 && \
    /usr/sbin/update-locale LANG=C.UTF-8 && \
    echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && \
    locale-gen
ENV LC_ALL C.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
ENV TERM xterm

RUN apt-get -y install \
        ucf \
        procps \
        iproute \
        supervisor
COPY etc/supervisor/ /etc/supervisor/

RUN apt-get -y install --no-install-recommends \
        curl \
        jq \
        libcurl3-gnutls \
        libldap-2.4-2 \
        netcat-openbsd \
        pciutils \
        sudo

COPY files/zabbix-agent_3.0.18-1+jessie_amd64.deb /root/
RUN dpkg -i /root/zabbix-agent_3.0.18-1+jessie_amd64.deb
COPY etc/zabbix/ /etc/zabbix/

RUN mkdir -p /var/lib/zabbix && \
    chmod 700 /var/lib/zabbix && \
    chown zabbix:zabbix /var/lib/zabbix && \
    usermod -d /var/lib/zabbix zabbix && \
    usermod -a -G adm zabbix

COPY etc/sudoers.d/zabbix etc/sudoers.d/zabbix
RUN chmod 400 /etc/sudoers.d/zabbix

RUN apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN curl -k -o /usr/lib/modules-load.d/zabbix_module_docker.so -O https://raw.githubusercontent.com/monitoringartist/zabbix-docker-monitoring/gh-pages/debian8/3.0/zabbix_module_docker.so
RUN echo 'LoadModulePath=/usr/lib/modules-load.d/' > /etc/zabbix/zabbix_agentd.conf.d/docker-module.conf
RUN echo 'LoadModulePath=/usr/lib/modules-load.d/' >> /etc/zabbix/zabbix_agentd.conf.d/docker-module.conf
RUN echo 'LoadModule=zabbix_module_docker.so' >> /etc/zabbix/zabbix_agentd.conf.d/docker-module.conf
RUN echo 'AllowRoot=1' >> /etc/zabbix/zabbix_agentd.conf.d/docker-module.conf

COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh

EXPOSE 10050
ENTRYPOINT ["/entrypoint.sh"]

좋은 웹페이지 즐겨찾기