从git源码安装zabbix-agent
2017-12-18 17:38
501 查看
从网上随便找了几个image,都是从svn下载的代码,根本跑不了,于是自己重新做了个,从git上拿的源码,只是build出来的image有点大,有时间再优化了
Dockerfile
bootstrap.sh
Dockerfile
FROM centos:centos7 MAINTAINER Ryan sun.ryan@acxiom.com ENV ZABBIX_VERSION=3.0.1 \ ZABBIX_SERVER=127.0.0.1 \ ZABBIX_SOURCE=zabbix-agent.${ZABBIX_VERSION}.tar.gz \ HOSTNAME=zabbix.agent \ HOST_METADATA=zabbix.agent \ CONFIG_FILE=/usr/local/etc/zabbix_agentd.conf RUN \ yum clean all && yum makecache && \ yum install --nogpgcheck -y automake gcc make iproute ADD ./${ZABBIX_SOURCE} /usr/local/src/ WORKDIR /usr/local/src RUN \ cd ./zabbix && \ ./bootstrap.sh && \ ./configure --enable-agent && \ make install RUN \ rpm -e --nodeps make gcc && \ yum remove -y automake && \ useradd -G wheel zabbix && \ rm -rf /usr/local/src/zabbix && \ yum clean all COPY ./bootstrap.sh / RUN \ chown -R zabbix:wheel /usr/local/etc/ USER zabbix EXPOSE 10050 ENTRYPOINT ["/bootstrap.sh"]
bootstrap.sh
#!/bin/sh set -eu export TERM=xterm # Bash Colors red=`tput setaf 1` green=`tput setaf 2` yellow=`tput setaf 3` white=`tput setaf 7` bold=`tput bold` reset=`tput sgr0` separator=$(echo && printf '=%.0s' {1..100} && echo) # Logging Finctions log() { if [[ "$@" ]]; then echo "${bold}${green}[LOG `date +'%T'`]${reset} $@"; else echo; fi } ### Update config file based on environment variables update_config() { log "Updating configuration file..." if [ ! -z "$ZABBIX_SERVER" ]; then log "Changing Zabbix Server IP to ${bold}${white}${ZABBIX_SERVER}${reset}" sed -i 's/^[# ]*Server=.*$/Server='$ZABBIX_SERVER'/g' ${TARGET_CONFIG_FILE} fi if [ ! -z "$HOSTNAME" ]; then log "Changing Zabbix Hostname to ${bold}${white}${HOSTNAME}${reset}." sed -i 's/^[# ]*Hostname=.*$/Hostname='$HOSTNAME'/g' ${TARGET_CONFIG_FILE} fi if [ ! -z "$HOST_METADATA" ]; then log "Changing Zabbix Host Metadata to ${bold}${white}${HOST_METADATA}${reset}." sed -i 's/^[# ]*HostMetadata=.*$/HostMetadata='$HOST_METADATA'/g' ${TARGET_CONFIG_FILE} fi log "Config updated" } print_config() { log "Current Zabbix Agent config:" printf '=%.0s' {1..100} && echo cat ${TARGET_CONFIG_FILE} echo "" printf '=%.0s' {1..100} && echo } start() { log "Starting Zabbix Agent using configuration file: ${TARGET_CONFIG_FILE}" print_config zabbix_agentd -f -c ${TARGET_CONFIG_FILE} } # Use the default config file if not set by an environment variable if [ -z "$CONFIG_FILE" ]; then SRC_CONFIG_FILE="/usr/local/etc/zabbix_agentd.conf" else SRC_CONFIG_FILE="$CONFIG_FILE" fi # This is the actual config file used, containing changes implied by environment variables TARGET_CONFIG_FILE=$(mktemp) log "Loading config: ${SRC_CONFIG_FILE}" cp "$SRC_CONFIG_FILE" "$TARGET_CONFIG_FILE" update_config start
相关文章推荐
- Zabbix Agent 源码编译安装
- saltstack源码安装zabbix_agent
- 源码安装zabbix_agent 3.2.3
- Ubuntu 10.04 源码安装zabbix agent 2.4.8
- 基于LNMP的Zabbbix之Zabbix Agent源码详细安装,但不给图
- Zabbix Agent 源码编译安装
- zabbix agent源码安装
- 2、zabbix 3.2.6 agent端(源码包)安装部署 (二)
- ansible源码安装管理机实战:为Linux服务器安装zabbix的agent监控
- centos系统 + git源码安装 + gitolite用户权限控制 安装与配置
- CentOS6.6 下源码安装 git
- Windows server 2008系统安装Zabbix agent客户端
- centos 6.6 x86 源码安装git-2.3.0
- Linux下git源码安装【转】
- ansible安装zabbix_agent客户端
- 在cengos中安装zabbix server/agent, 并创建一个简单demo
- git源码安装过程
- suse11sp3、suse12 安装 zabbix-agent
- Git在Linux中下载源码形式安装简单记录
- zabbix+微信+短信+邮件+客户端告警机制:安装包方式和源码安装