From 987e9116d6b52adcbf4c66393cca17965c74456e Mon Sep 17 00:00:00 2001 From: dotneft Date: Thu, 11 Aug 2016 03:55:45 -0700 Subject: [PATCH] Updated documentation. Added modified snmptrapfmt package to snmptraps image --- agent/alpine/run_zabbix_component.sh | 14 ++++++++++++-- agent/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- java-gateway/alpine/run_zabbix_component.sh | 14 ++++++++++++-- java-gateway/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- proxy-mysql/alpine/README.md | 2 +- proxy-mysql/alpine/run_zabbix_component.sh | 14 ++++++++++++-- proxy-mysql/ubuntu/README.md | 2 +- proxy-mysql/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- proxy-sqlite3/alpine/run_zabbix_component.sh | 14 ++++++++++++-- proxy-sqlite3/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- server-mysql/alpine/README.md | 2 +- server-mysql/alpine/run_zabbix_component.sh | 14 ++++++++++++-- server-mysql/ubuntu/README.md | 2 +- server-mysql/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- server-pgsql/alpine/README.md | 2 +- server-pgsql/alpine/run_zabbix_component.sh | 14 ++++++++++++-- server-pgsql/ubuntu/README.md | 2 +- server-pgsql/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- snmptraps/ubuntu/Dockerfile | 5 ++++- .../ubuntu/snmptrapfmt_1.14+nmu1ubuntu2.tar.gz | Bin 0 -> 44436 bytes .../snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb | Bin 0 -> 17650 bytes web-apache-mysql/alpine/run_zabbix_component.sh | 14 ++++++++++++-- web-apache-mysql/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- web-nginx-mysql/alpine/run_zabbix_component.sh | 14 ++++++++++++-- web-nginx-mysql/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- web-nginx-pgsql/alpine/run_zabbix_component.sh | 14 ++++++++++++-- web-nginx-pgsql/ubuntu/run_zabbix_component.sh | 14 ++++++++++++-- 27 files changed, 226 insertions(+), 43 deletions(-) create mode 100644 snmptraps/ubuntu/snmptrapfmt_1.14+nmu1ubuntu2.tar.gz create mode 100644 snmptraps/ubuntu/snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb diff --git a/agent/alpine/run_zabbix_component.sh b/agent/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/agent/alpine/run_zabbix_component.sh +++ b/agent/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/agent/ubuntu/run_zabbix_component.sh b/agent/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/agent/ubuntu/run_zabbix_component.sh +++ b/agent/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/java-gateway/alpine/run_zabbix_component.sh b/java-gateway/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/java-gateway/alpine/run_zabbix_component.sh +++ b/java-gateway/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/java-gateway/ubuntu/run_zabbix_component.sh b/java-gateway/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/java-gateway/ubuntu/run_zabbix_component.sh +++ b/java-gateway/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/proxy-mysql/alpine/README.md b/proxy-mysql/alpine/README.md index 2d7837042..25cd1383d 100644 --- a/proxy-mysql/alpine/README.md +++ b/proxy-mysql/alpine/README.md @@ -98,7 +98,7 @@ This variable is port of MySQL server. By default, value is '3306'. ### `MYSQL_USER`, `MYSQL_PASSWORD` -These variables are used by Zabbix web interface to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. +These variables are used by Zabbix proxy to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. ### `MYSQL_DATABASE` diff --git a/proxy-mysql/alpine/run_zabbix_component.sh b/proxy-mysql/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/proxy-mysql/alpine/run_zabbix_component.sh +++ b/proxy-mysql/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/proxy-mysql/ubuntu/README.md b/proxy-mysql/ubuntu/README.md index 2d7837042..25cd1383d 100644 --- a/proxy-mysql/ubuntu/README.md +++ b/proxy-mysql/ubuntu/README.md @@ -98,7 +98,7 @@ This variable is port of MySQL server. By default, value is '3306'. ### `MYSQL_USER`, `MYSQL_PASSWORD` -These variables are used by Zabbix web interface to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. +These variables are used by Zabbix proxy to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. ### `MYSQL_DATABASE` diff --git a/proxy-mysql/ubuntu/run_zabbix_component.sh b/proxy-mysql/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/proxy-mysql/ubuntu/run_zabbix_component.sh +++ b/proxy-mysql/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/proxy-sqlite3/alpine/run_zabbix_component.sh b/proxy-sqlite3/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/proxy-sqlite3/alpine/run_zabbix_component.sh +++ b/proxy-sqlite3/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/proxy-sqlite3/ubuntu/run_zabbix_component.sh b/proxy-sqlite3/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/proxy-sqlite3/ubuntu/run_zabbix_component.sh +++ b/proxy-sqlite3/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/server-mysql/alpine/README.md b/server-mysql/alpine/README.md index faf079282..d6130b6e6 100644 --- a/server-mysql/alpine/README.md +++ b/server-mysql/alpine/README.md @@ -68,7 +68,7 @@ This variable is port of MySQL server. By default, value is '3306'. ### `MYSQL_USER`, `MYSQL_PASSWORD` -These variables are used by Zabbix web interface to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. +These variables are used by Zabbix server to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. ### `MYSQL_DATABASE` diff --git a/server-mysql/alpine/run_zabbix_component.sh b/server-mysql/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/server-mysql/alpine/run_zabbix_component.sh +++ b/server-mysql/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/server-mysql/ubuntu/README.md b/server-mysql/ubuntu/README.md index faf079282..d6130b6e6 100644 --- a/server-mysql/ubuntu/README.md +++ b/server-mysql/ubuntu/README.md @@ -68,7 +68,7 @@ This variable is port of MySQL server. By default, value is '3306'. ### `MYSQL_USER`, `MYSQL_PASSWORD` -These variables are used by Zabbix web interface to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. +These variables are used by Zabbix server to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. ### `MYSQL_DATABASE` diff --git a/server-mysql/ubuntu/run_zabbix_component.sh b/server-mysql/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/server-mysql/ubuntu/run_zabbix_component.sh +++ b/server-mysql/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/server-pgsql/alpine/README.md b/server-pgsql/alpine/README.md index 0fc4362fd..2a6d20be7 100644 --- a/server-pgsql/alpine/README.md +++ b/server-pgsql/alpine/README.md @@ -67,7 +67,7 @@ This variable is port of PostgreSQL server. By default, value is '5432'. ### `POSTGRES_USER`, `POSTGRES_PASSWORD` -These variables are used by Zabbix web interface to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. +These variables are used by Zabbix server to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. ### `POSTGRES_DB` diff --git a/server-pgsql/alpine/run_zabbix_component.sh b/server-pgsql/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/server-pgsql/alpine/run_zabbix_component.sh +++ b/server-pgsql/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/server-pgsql/ubuntu/README.md b/server-pgsql/ubuntu/README.md index 0fc4362fd..2a6d20be7 100644 --- a/server-pgsql/ubuntu/README.md +++ b/server-pgsql/ubuntu/README.md @@ -67,7 +67,7 @@ This variable is port of PostgreSQL server. By default, value is '5432'. ### `POSTGRES_USER`, `POSTGRES_PASSWORD` -These variables are used by Zabbix web interface to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. +These variables are used by Zabbix server to connect to Zabbix database. By default, values are `zabbix`, `zabbix`. ### `POSTGRES_DB` diff --git a/server-pgsql/ubuntu/run_zabbix_component.sh b/server-pgsql/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/server-pgsql/ubuntu/run_zabbix_component.sh +++ b/server-pgsql/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/snmptraps/ubuntu/Dockerfile b/snmptraps/ubuntu/Dockerfile index a96c83eac..cc6ce3588 100644 --- a/snmptraps/ubuntu/Dockerfile +++ b/snmptraps/ubuntu/Dockerfile @@ -7,6 +7,8 @@ ARG APT_FLAGS_DEV="${APT_FLAGS_COMMON} --no-install-recommends" ARG DB_TYPE=mysql ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 DEBIAN_FRONTEND=noninteractive TERM=xterm +ADD snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb /tmp/ + RUN locale-gen $LC_ALL && \ echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && \ DISTRIB_CODENAME=$(/bin/bash -c 'source /etc/lsb-release && echo $DISTRIB_CODENAME') && \ @@ -21,8 +23,8 @@ RUN locale-gen $LC_ALL && \ apt-get ${APT_FLAGS_PERSISTANT} install \ supervisor \ snmpd \ - snmptrapfmt \ snmp-mibs-downloader && \ + dpkg -i /tmp/snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb && \ mkdir -p /var/lib/zabbix && \ mkdir -p /var/lib/zabbix/snmptraps && \ mkdir -p /var/lib/zabbix/mibs && \ @@ -34,6 +36,7 @@ RUN locale-gen $LC_ALL && \ -e '/^LOGFMT=/s/=.*/=\"$x ZBXTRAP $R $G $S $e $*\"/' \ -e "/^LOGFILE=/s/=.*/=\"\/var\/lib\/zabbix\/snmptraps\/snmptraps.log\"/" \ "/etc/snmp/snmptrapfmt.conf" && \ + rm -rf /tmp/snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb && \ apt-get ${APT_FLAGS_COMMON} autoremove && \ apt-get ${APT_FLAGS_COMMON} clean && \ rm -rf /var/lib/apt/lists/* diff --git a/snmptraps/ubuntu/snmptrapfmt_1.14+nmu1ubuntu2.tar.gz b/snmptraps/ubuntu/snmptrapfmt_1.14+nmu1ubuntu2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a32e1053fa46a062d4b0127074f7d25cbd501430 GIT binary patch literal 44436 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 literal 0 HcmV?d00001 diff --git a/snmptraps/ubuntu/snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb b/snmptraps/ubuntu/snmptrapfmt_1.14+nmu1ubuntu2_amd64.deb new file mode 100644 index 0000000000000000000000000000000000000000..c360deec264ce8fd362cda5bda329712ca42ddda GIT binary patch literal 17650 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 literal 0 HcmV?d00001 diff --git a/web-apache-mysql/alpine/run_zabbix_component.sh b/web-apache-mysql/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/web-apache-mysql/alpine/run_zabbix_component.sh +++ b/web-apache-mysql/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/web-apache-mysql/ubuntu/run_zabbix_component.sh b/web-apache-mysql/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/web-apache-mysql/ubuntu/run_zabbix_component.sh +++ b/web-apache-mysql/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/web-nginx-mysql/alpine/run_zabbix_component.sh b/web-nginx-mysql/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/web-nginx-mysql/alpine/run_zabbix_component.sh +++ b/web-nginx-mysql/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/web-nginx-mysql/ubuntu/run_zabbix_component.sh b/web-nginx-mysql/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/web-nginx-mysql/ubuntu/run_zabbix_component.sh +++ b/web-nginx-mysql/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/web-nginx-pgsql/alpine/run_zabbix_component.sh b/web-nginx-pgsql/alpine/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/web-nginx-pgsql/alpine/run_zabbix_component.sh +++ b/web-nginx-pgsql/alpine/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway" diff --git a/web-nginx-pgsql/ubuntu/run_zabbix_component.sh b/web-nginx-pgsql/ubuntu/run_zabbix_component.sh index 993b1a6e9..b51cfd088 100755 --- a/web-nginx-pgsql/ubuntu/run_zabbix_component.sh +++ b/web-nginx-pgsql/ubuntu/run_zabbix_component.sh @@ -2,6 +2,7 @@ set +e +# Script trace mode if [ "${DEBUG_MODE}" == "true" ]; then set -o xtrace fi @@ -24,13 +25,15 @@ ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-"zabbix-server"} # Default Zabbix server port number ZBX_SERVER_PORT=${ZBX_SERVER_PORT:-"10051"} +# Default timezone for web interface TZ=${TZ:-"Europe/Riga"} # Default directories +# User 'zabbix' home directory ZABBIX_USER_HOME_DIR="/var/lib/zabbix" +# Configuration files directory ZABBIX_ETC_DIR="/etc/zabbix" -ZBX_SOURCES_PATH="/usr/src" -ZBX_SOURCES_DIR_NAME="zbx_sources" +# Web interface www-root directory ZBX_FRONTEND_PATH="/usr/share/zabbix" prepare_system() { @@ -108,6 +111,7 @@ update_config_multiple_var() { done } +# Check prerequisites for MySQL database check_variables_mysql() { local type=$1 @@ -147,6 +151,7 @@ check_variables_mysql() { fi } +# Check prerequisites for PostgreSQL database check_variables_postgresql() { local type=$1 @@ -657,6 +662,7 @@ prepare_zbx_web_config() { ln -s "$ZBX_WEB_CONFIG" "/usr/share/zabbix/conf/zabbix.conf.php" + # Different places of PHP configuration file if [ -f "/etc/php5/conf.d/99-zabbix.ini" ]; then PHP_CONFIG_FILE="/etc/php5/conf.d/99-zabbix.ini" elif [ -f "/etc/php5/fpm/conf.d/99-zabbix.ini" ]; then @@ -787,6 +793,7 @@ prepare_agent() { echo "** Preparing Zabbix agent" prepare_zbx_agent_config } + prepare_server() { local db_type=$1 @@ -800,6 +807,7 @@ prepare_server() { update_zbx_config "server" "$db_type" } + prepare_proxy() { local db_type=$1 @@ -815,6 +823,7 @@ prepare_proxy() { update_zbx_config "proxy" $db_type } + prepare_web() { local web_server=$1 local db_type=$2 @@ -826,6 +835,7 @@ prepare_web() { prepare_web_server_$web_server prepare_zbx_web_config $db_type } + prepare_java_gateway() { echo "** Preparing Zabbix Java Gateway"