c32's blog
每天学习一点点,每天进步一点点.
-
Zabbix 7.0安装报错EVDNS_BASE_INITIALIZE_NAMESERVERS解决方法
2024-06-07 15:29:57 | 分类: Linux | 标签: 无 阅读(1064) 评论(0) # Base Image
FROM centos:7
# Author
MAINTAINER c32 amd5@qq.com
# setting time
ENV TZ=Asia/Shanghai
ENV DBUser=zabbix
ENV DBName=zabbix
ENV DBPass=zabbix
ENV DBPort=3306
ENV DBHost=8.8.8.8
# System commod
ADD https://c32.19aq.com/Soft/zabbix-7.0.0.tar.gz ./zabbix-7.0.0.tar.gz
ADD https://c32.19aq.com/Soft/fping-4.2.tar.gz ./fping-4.2.tar.gz
ADD https://c32.19aq.com/Soft/libevent-2.1.12-stable.tar.gz ./libevent-2.1.12-stable.tar.gz
ADD https://c32.19aq.com/Soft/net-snmp-5.9.4.tar.gz ./net-snmp-5.9.4.tar.gz
RUN yum install -y \
wget \
gcc \
make \
file \
libcurl \
libtool \
libtool-bin \
libtool-doc \
libxml2 \
libxml2-devel \
libcurl-devel \
libmcrypt \
mysql-devel \
net-tools \
traceroute \
sudo \
nmap \
vim \
perl-ExtUtils-Embed.noarch
RUN yum remove -y \
net-snmp \
net-snmp-libs \
libevent
# update net-snmp-5.9.4
RUN tar zxvf net-snmp-5.9.4.tar.gz \
&& cd net-snmp-5.9.4 \
&& ./configure --prefix=/usr/bin/snmp --enable-embedded-perl --enable-shared --with-perl-modules \
&& make \
&& make install \
&& export PATH=$PATH:/usr/bin/snmp/bin \
&& export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/bin/snmp/lib \
&& export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/bin/snmp/lib/pkgconfig \
&& export NETSNMPMASTERCONF=/usr/bin/snmp/etc/snmp/snmp.conf \
&& source ~/.bashrc
# update libevent-2.1.12
RUN tar zxvf libevent-2.1.12-stable.tar.gz \
&& cd libevent-2.1.12-stable \
&& ./configure --prefix=/usr/local/libevent \
&& make \
&& make install \
&& export PATH=$PATH:/usr/local/libevent/bin \
&& export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libevent/lib \
&& export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/libevent/lib/pkgconfig \
&& export CFLAGS="-I/usr/local/libevent/include" \
&& echo "/usr/local/libevent/lib" | tee -a /etc/ld.so.conf \
&& ldconfig \
&& source ~/.bashrc
# fping
RUN ls -l && tar -xvf fping-4.2.tar.gz \
&& cd fping-4.2 \
&& ./configure --prefix=/usr/local --enable-ipv4 --enable-ipv6 \
&& make \
&& make install \
&& chmod u+s /usr/local/sbin/fping
# zabbix
RUN ls -l && tar zxvf zabbix-7.0.0.tar.gz \
&& cd zabbix-7.0.0 \
&& export CFLAGS="-I/usr/local/libevent/include" \
&& source ~/.bashrc \
&& ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-ipv6 --with-mysql --with-libcurl --with-libxml2 --with-net-snmp=/usr/bin/snmp/bin/ --with-libevent=/usr/local/libevent \
&& make \
&& make install
RUN sed -i "s/DBName=zabbix/DBName=$DBUser/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/DBUser=zabbix/DBUser=$DBUser/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# DBPassword=/DBPassword=$DBPass/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# DBPort=/DBPort=$DBPort/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# DBHost=localhost/DBHost=$DBHost/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# HousekeepingFrequency=1/HousekeepingFrequency=1/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# MaxHousekeeperDelete=5000/MaxHousekeeperDelete=1000000/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# StartPollers=5/StartPollers=50/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# StartPingers=1/StartPingers=100/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# StartHTTPPollers=1/StartHTTPPollers=500/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# HistoryCacheSize=16M/HistoryCacheSize=2G/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# HistoryIndexCacheSize=4M/HistoryIndexCacheSize=4M/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# CacheSize=8M/CacheSize=1G/g" /usr/local/zabbix/etc/zabbix_server.conf \
&& sed -i "s/# ValueCacheSize=8M/ValueCacheSize=1G/g" /usr/local/zabbix/etc/zabbix_server.conf
RUN echo 'zabbix ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& useradd zabbix -s /sbin/nologin
RUN sed -i 's|# FpingLocation=/usr/sbin/fping|FpingLocation=/usr/local/sbin/fping|g' /usr/local/zabbix/etc/zabbix_server.conf \
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ >> /etc/timezone
RUN echo /usr/local/zabbix/sbin/zabbix_server >> run.sh \
&& echo /usr/local/zabbix/sbin/zabbix_agentd >> run.sh \
&& chmod +x run.sh
CMD /bin/bash -c /run.sh && /bin/bash -c "tail -f /tmp/zabbix_server.log"
#docker build -t c32_zabbix:v1 .
#docker run -d --name zabbix -p 6666:10051 -p 6667:10050 c32_zabbix:v1
#docker run -d --name zabbix -p 6666:10051 -p 6667:10050 --privileged=true c32_zabbix:v1
#/tmp/zabbix_server.log
#/usr/local/zabbix/etc/zabbix_server.conf