mirror of
https://github.com/zabbix/zabbix-docker.git
synced 2025-06-19 17:38:43 +02:00
Added Zabbix Proxy MySQL based on RHEL image
This commit is contained in:
parent
e84083c9d4
commit
5c39f9c611
@ -52,7 +52,7 @@ update_config_var() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " ${masklist[@]} " =~ " $var_name " ]] && [ ! -z "$var_value" ]; then
|
if [[ " ${masklist[@]} " =~ " $var_name " ]] && [ ! -z "$var_value" ]; then
|
||||||
echo -n "** Updating '$config_path' parameter \"$var_name\": '****'. Enable DEBUG_MODE to view value..."
|
echo -n "** Updating '$config_path' parameter \"$var_name\": '****'. Enable DEBUG_MODE to view value ..."
|
||||||
else
|
else
|
||||||
echo -n "** Updating '$config_path' parameter \"$var_name\": '$var_value'..."
|
echo -n "** Updating '$config_path' parameter \"$var_name\": '$var_value'..."
|
||||||
fi
|
fi
|
||||||
|
@ -74,12 +74,18 @@ update_config_var() {
|
|||||||
local var_value=$3
|
local var_value=$3
|
||||||
local is_multiple=$4
|
local is_multiple=$4
|
||||||
|
|
||||||
|
local masklist=("DBPassword TLSPSKIdentity")
|
||||||
|
|
||||||
if [ ! -f "$config_path" ]; then
|
if [ ! -f "$config_path" ]; then
|
||||||
echo "**** Configuration file '$config_path' does not exist"
|
echo "**** Configuration file '$config_path' does not exist"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n "** Updating '$config_path' parameter \"$var_name\": '$var_value'... "
|
if [[ " ${masklist[@]} " =~ " $var_name " ]] && [ ! -z "$var_value" ]; then
|
||||||
|
echo -n "** Updating '$config_path' parameter \"$var_name\": '****'. Enable DEBUG_MODE to view value ..."
|
||||||
|
else
|
||||||
|
echo -n "** Updating '$config_path' parameter \"$var_name\": '$var_value'..."
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove configuration parameter definition in case of unset parameter value
|
# Remove configuration parameter definition in case of unset parameter value
|
||||||
if [ -z "$var_value" ]; then
|
if [ -z "$var_value" ]; then
|
||||||
@ -100,8 +106,9 @@ update_config_var() {
|
|||||||
var_value=$ZABBIX_USER_HOME_DIR/enc/$var_value
|
var_value=$ZABBIX_USER_HOME_DIR/enc/$var_value
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Escaping characters in parameter value
|
# Escaping characters in parameter value and name
|
||||||
var_value=$(escape_spec_char "$var_value")
|
var_value=$(escape_spec_char "$var_value")
|
||||||
|
var_name=$(escape_spec_char "$var_name")
|
||||||
|
|
||||||
if [ "$(grep -E "^$var_name=" $config_path)" ] && [ "$is_multiple" != "true" ]; then
|
if [ "$(grep -E "^$var_name=" $config_path)" ] && [ "$is_multiple" != "true" ]; then
|
||||||
sed -i -e "/^$var_name=/s/=.*/=$var_value/" "$config_path"
|
sed -i -e "/^$var_name=/s/=.*/=$var_value/" "$config_path"
|
||||||
@ -187,8 +194,12 @@ check_db_connect_mysql() {
|
|||||||
|
|
||||||
WAIT_TIMEOUT=5
|
WAIT_TIMEOUT=5
|
||||||
|
|
||||||
|
if [ -n "${ZBX_DBTLSCONNECT}" ]; then
|
||||||
|
ssl_opts="--ssl --ssl-ca=${ZBX_DBTLSCAFILE} --ssl-key=${ZBX_DBTLSKEYFILE} --ssl-cert=${ZBX_DBTLSCERTFILE}"
|
||||||
|
fi
|
||||||
|
|
||||||
while [ ! "$(mysqladmin ping -h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT} -u ${DB_SERVER_ROOT_USER} \
|
while [ ! "$(mysqladmin ping -h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT} -u ${DB_SERVER_ROOT_USER} \
|
||||||
--password="${DB_SERVER_ROOT_PASS}" --silent --connect_timeout=10)" ]; do
|
--password="${DB_SERVER_ROOT_PASS}" --silent --connect_timeout=10 $ssl_opts)" ]; do
|
||||||
echo "**** MySQL server is not available. Waiting $WAIT_TIMEOUT seconds..."
|
echo "**** MySQL server is not available. Waiting $WAIT_TIMEOUT seconds..."
|
||||||
sleep $WAIT_TIMEOUT
|
sleep $WAIT_TIMEOUT
|
||||||
done
|
done
|
||||||
@ -198,8 +209,12 @@ mysql_query() {
|
|||||||
query=$1
|
query=$1
|
||||||
local result=""
|
local result=""
|
||||||
|
|
||||||
|
if [ -n "${ZBX_DBTLSCONNECT}" ]; then
|
||||||
|
ssl_opts="--ssl --ssl-ca=${ZBX_DBTLSCAFILE} --ssl-key=${ZBX_DBTLSKEYFILE} --ssl-cert=${ZBX_DBTLSCERTFILE}"
|
||||||
|
fi
|
||||||
|
|
||||||
result=$(mysql --silent --skip-column-names -h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT} \
|
result=$(mysql --silent --skip-column-names -h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT} \
|
||||||
-u ${DB_SERVER_ROOT_USER} --password="${DB_SERVER_ROOT_PASS}" -e "$query")
|
-u ${DB_SERVER_ROOT_USER} --password="${DB_SERVER_ROOT_PASS}" -e "$query" $ssl_opts)
|
||||||
|
|
||||||
echo $result
|
echo $result
|
||||||
}
|
}
|
||||||
@ -244,9 +259,13 @@ create_db_schema_mysql() {
|
|||||||
if [ -z "${ZBX_DB_VERSION}" ]; then
|
if [ -z "${ZBX_DB_VERSION}" ]; then
|
||||||
echo "** Creating '${DB_SERVER_DBNAME}' schema in MySQL"
|
echo "** Creating '${DB_SERVER_DBNAME}' schema in MySQL"
|
||||||
|
|
||||||
|
if [ -n "${ZBX_DBTLSCONNECT}" ]; then
|
||||||
|
ssl_opts="--ssl --ssl-ca=${ZBX_DBTLSCAFILE} --ssl-key=${ZBX_DBTLSKEYFILE} --ssl-cert=${ZBX_DBTLSCERTFILE}"
|
||||||
|
fi
|
||||||
|
|
||||||
zcat /usr/share/doc/zabbix-proxy-mysql/create.sql.gz | mysql --silent --skip-column-names \
|
zcat /usr/share/doc/zabbix-proxy-mysql/create.sql.gz | mysql --silent --skip-column-names \
|
||||||
-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT} \
|
-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT} \
|
||||||
-u ${DB_SERVER_ROOT_USER} --password="${DB_SERVER_ROOT_PASS}" \
|
-u ${DB_SERVER_ROOT_USER} --password="${DB_SERVER_ROOT_PASS}" $ssl_opts \
|
||||||
${DB_SERVER_DBNAME} 1>/dev/null
|
${DB_SERVER_DBNAME} 1>/dev/null
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -277,6 +296,15 @@ update_zbx_config() {
|
|||||||
|
|
||||||
update_config_var $ZBX_CONFIG "DebugLevel" "${ZBX_DEBUGLEVEL}"
|
update_config_var $ZBX_CONFIG "DebugLevel" "${ZBX_DEBUGLEVEL}"
|
||||||
|
|
||||||
|
if [ -n "${ZBX_DBTLSCONNECT}" ]; then
|
||||||
|
update_config_var $ZBX_CONFIG "DBTLSConnect" "${ZBX_DBTLSCONNECT}"
|
||||||
|
update_config_var $ZBX_CONFIG "DBTLSCAFile" "${ZBX_DBTLSCAFILE}"
|
||||||
|
update_config_var $ZBX_CONFIG "DBTLSCertFile" "${ZBX_DBTLSCERTFILE}"
|
||||||
|
update_config_var $ZBX_CONFIG "DBTLSKeyFile" "${ZBX_DBTLSKEYFILE}"
|
||||||
|
update_config_var $ZBX_CONFIG "DBTLSCipher" "${ZBX_DBTLSCIPHER}"
|
||||||
|
update_config_var $ZBX_CONFIG "DBTLSCipher13" "${ZBX_DBTLSCIPHER13}"
|
||||||
|
fi
|
||||||
|
|
||||||
update_config_var $ZBX_CONFIG "EnableRemoteCommands" "${ZBX_ENABLEREMOTECOMMANDS}"
|
update_config_var $ZBX_CONFIG "EnableRemoteCommands" "${ZBX_ENABLEREMOTECOMMANDS}"
|
||||||
update_config_var $ZBX_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}"
|
update_config_var $ZBX_CONFIG "LogRemoteCommands" "${ZBX_LOGREMOTECOMMANDS}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user