Docker監視用のZabbix Agent
以前、会社のシステムをDocker化する際にZabbix Agentのために「monitoringartist/dockbix-agent-xxl-limited」を利用していました。
参考元:https://team-6.hatenablog.jp/entry/2017/08/11/220510
一ヶ月くらいテスト期間が終わり運営を初めて間も無く急に以下のエラーがで動かなくなってしましました。
Freeware licence - Usage of this binary is restricted to official monitoringartist Docker images only.
提供しているサイトにその理由が書いておりました。
参考元:https://github.com/monitoringartist/dockbix-agent-xxl
一ヶ月くらいはなんで動いたのかと思いましたが、先ずは対応が優先なので色々検索して見ましたがほとんどが同じ製品を使う例かDockerにZabbixサーバーを入れて利用する内容でした。
検索をしても「monitoringartist/dockbix-agent-xxl-limited」を利用して監視する内容ばかりでした。もうちょっと頑張って検索したらOSが違いますが、基本的にはLinux(CentOs)なので試して以下のURLの内容を参考で実行しました。
参考元:https://qiita.com/_BSmile_/items/5fe13bb6305de8f98ccd
お〜上手くいっている!!
.....
エラー
だが、こちらの内容では以下の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」の代わりに利用する。
Dockerfileの「zabbix-agent_2.2.7+dfsg-1.1_amd64.deb」ファイル名をダウンロードしたファイル名「zabbix-agent_3.0.18-1+jessie_amd64.deb」に変更する。
これでOKでした。「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"]
Author And Source
この問題について(Docker監視用のZabbix Agent), 我々は、より多くの情報をここで見つけました https://qiita.com/FattyRabbit/items/bc4002e38b72de6a27ed著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .