mirror of
https://github.com/limosek/zaf.git
synced 2024-11-21 18:09:06 +01:00
Repaired userparms creation and including libraries
This commit is contained in:
parent
84f7e55078
commit
ddbdff55d9
@ -281,7 +281,7 @@ zaf_install_all() {
|
||||
for i in lib/zaf.lib.sh lib/os.lib.sh lib/ctrl.lib.sh lib/cache.lib.sh lib/zbxapi.lib.sh README.md; do
|
||||
zaf_install $i ${ZAF_LIB_DIR}/ || zaf_err "Error installing $i"
|
||||
done
|
||||
for i in lib/zaflock lib/preload.sh; do
|
||||
for i in lib/zaflock lib/zafcache lib/preload.sh; do
|
||||
zaf_install_bin $i ${ZAF_LIB_DIR}/ || zaf_err "Error installing $i"
|
||||
done
|
||||
zaf_install_dir ${ZAF_BIN_DIR}
|
||||
@ -295,8 +295,10 @@ zaf_install_all() {
|
||||
|
||||
zaf_postconfigure() {
|
||||
if zaf_is_root; then
|
||||
${INSTALL_PREFIX}/${ZAF_BIN_DIR}/zaf cache-clean
|
||||
[ "${ZAF_GIT}" = 1 ] && ${INSTALL_PREFIX}/${ZAF_BIN_DIR}/zaf update
|
||||
${INSTALL_PREFIX}/${ZAF_BIN_DIR}/zaf reinstall zaf || zaf_err "Error installing zaf plugin."
|
||||
${INSTALL_PREFIX}/${ZAF_BIN_DIR}/zaf agent-config || zaf_err "Error configuring agent."
|
||||
if zaf_is_root && ! zaf_test_item zaf.framework_version; then
|
||||
echo "Something is wrong with zabbix agent config."
|
||||
echo "Ensure that zabbix_agentd reads ${ZAF_AGENT_CONFIG}"
|
||||
|
@ -8,7 +8,7 @@ zaf_ctrl_get_items() {
|
||||
# Get item body from stdin
|
||||
# $1 itemname
|
||||
zaf_ctrl_get_item_block() {
|
||||
grep -v '^#' | awk '/^Item '$1'/ { i=0;
|
||||
grep -vE '^#[a-zA-Z ]' | awk '/^Item '$1'/ { i=0;
|
||||
while (i==0) {
|
||||
getline;
|
||||
if (/^\/Item/) exit;
|
||||
@ -22,7 +22,7 @@ zaf_ctrl_get_item_block() {
|
||||
# Get global plugin block body from stdin
|
||||
# $1 itemname
|
||||
zaf_ctrl_get_global_block() {
|
||||
grep -v '^#' | awk '{ i=0; print $0;
|
||||
grep -vE '^#[a-zA-Z ]' | awk '{ i=0; print $0;
|
||||
while (i==0) {
|
||||
getline;
|
||||
if (/^Item /) exit;
|
||||
@ -33,7 +33,7 @@ zaf_ctrl_get_global_block() {
|
||||
# Get item multiline option
|
||||
# $1 optionname
|
||||
zaf_block_get_moption() {
|
||||
awk '/^'$1'::$/ { i=0; print $0;
|
||||
awk '/^'$1'::$/ { i=0;
|
||||
while (i==0) {
|
||||
getline;
|
||||
if (/^::$/) {i=1; continue;};
|
||||
@ -181,6 +181,7 @@ zaf_ctrl_install() {
|
||||
# Generates zabbix cfg from control file
|
||||
# $1 control
|
||||
# $2 pluginname
|
||||
# $3 if nonempty, only return cfg, do not generate scripts
|
||||
zaf_ctrl_generate_cfg() {
|
||||
local items
|
||||
local cmd
|
||||
@ -211,20 +212,25 @@ zaf_ctrl_generate_cfg() {
|
||||
fi
|
||||
cache=$(zaf_ctrl_get_item_option $1 $i "Cache")
|
||||
if [ -n "$cache" ]; then
|
||||
cache="_cache '$cache' "
|
||||
cache="${ZAF_LIB_DIR}/zafcache '$cache' "
|
||||
fi
|
||||
cmd=$(zaf_ctrl_get_item_option $1 $i "Cmd")
|
||||
if [ -z "$cache" ] && [ -z "$lock" ]; then
|
||||
preload="${ZAF_LIB_DIR}/preload.sh "
|
||||
else
|
||||
preload=""
|
||||
fi
|
||||
if [ -n "$cmd" ]; then
|
||||
$(which echo) "UserParameter=$ikey,${ZAF_LIB_DIR}/preload.sh $cache $lock$cmd";
|
||||
printf "%s" "UserParameter=$ikey,${preload}${cache}${lock}${cmd}"; echo
|
||||
continue
|
||||
fi
|
||||
cmd=$(zaf_ctrl_get_item_option $1 $i "Script")
|
||||
if [ -n "$cmd" ]; then
|
||||
zaf_ctrl_get_item_option $1 $i "Script" | \
|
||||
zaf_far '{INCLUDES}' '. /etc/zaf.conf; . ${ZAF_LIB_DIR}/zaf.lib.sh; . ${ZAF_LIB_DIR}/ctrl.lib.sh; . ${ZAF_LIB_DIR}/zbxapi.lib.sh; . ${ZAF_LIB_DIR}/cache.lib.sh; ' \
|
||||
zaf_far '{INCLUDES}' ". $ZAF_LIB_DIR/preload.sh; " \
|
||||
>${ZAF_TMP_DIR}/${iscript}.sh;
|
||||
zaf_install_bin ${ZAF_TMP_DIR}/${iscript}.sh ${ZAF_PLUGINS_DIR}/$2/
|
||||
$(which echo) "UserParameter=$ikey,$cache $lock${ZAF_PLUGINS_DIR}/$2/${iscript}.sh $args";
|
||||
[ -z "$3" ] && zaf_install_bin ${ZAF_TMP_DIR}/${iscript}.sh ${ZAF_PLUGINS_DIR}/$2/
|
||||
printf "%s" "UserParameter=$ikey,${preload}${cache}${lock}${ZAF_PLUGINS_DIR}/$2/${iscript}.sh $args"; echo
|
||||
continue;
|
||||
fi
|
||||
zaf_err "Item $i declared in control file but has no Cmd, Function or Script!"
|
||||
|
@ -19,19 +19,10 @@ trap "rm -rif ${ZAF_TMP_DIR}" EXIT
|
||||
|
||||
export ZAF_LIB_DIR
|
||||
export ZAF_TMP_DIR
|
||||
export ZAF_CACHE_DIR
|
||||
export ZAF_PLUGINS_DIR
|
||||
|
||||
if [ "$1" = "_cache" ] || [ "$1" = "_nocache" ] ; then
|
||||
[ "$1" = "_nocache" ] && export ZAF_NOCACHE=1
|
||||
shift
|
||||
seconds=$1
|
||||
shift
|
||||
parms=$(echo $*|tr -d ' ')
|
||||
if ! zaf_fromcache $parms; then
|
||||
([ "$(basename $0)" = "preload.sh" ] && [ -n "$*" ] && $@ ) | zaf_tocache_stdin $parms $seconds
|
||||
fi
|
||||
else
|
||||
[ "$(basename $0)" = "preload.sh" ] && [ -n "$*" ] && $@
|
||||
fi
|
||||
[ "$(basename $0)" = "preload.sh" ] && [ -n "$*" ] && $@
|
||||
|
||||
|
||||
|
||||
|
@ -412,7 +412,8 @@ zaf_list_items() {
|
||||
|
||||
zaf_get_item() {
|
||||
if which zabbix_get >/dev/null; then
|
||||
zabbix_get -s localhost -k "$1" || zaf_wrn "Cannot reach agent on localhost. Please localhost to Server list."
|
||||
zaf_dbg zabbix_get -s localhost -k "'$1'"
|
||||
(zabbix_get -s localhost -k "$1" | tr '\n' ' '; echo) || zaf_wrn "Cannot reach agent on localhost. Please localhost to Server list."
|
||||
return 11
|
||||
else
|
||||
zaf_wrn "Please install zabbix_get binary to check items over network."
|
||||
@ -421,7 +422,12 @@ zaf_get_item() {
|
||||
}
|
||||
|
||||
zaf_test_item() {
|
||||
$ZAF_AGENT_BIN -t "$1"
|
||||
if $ZAF_AGENT_BIN -t "$1" | grep ZBX_NOTSUPPORTED; then
|
||||
return 1
|
||||
else
|
||||
$ZAF_AGENT_BIN -t "$1" | tr '\n' ' '
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
zaf_precache_item() {
|
||||
|
17
lib/zafcache
Normal file
17
lib/zafcache
Normal file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $(dirname $0)/preload.sh
|
||||
|
||||
help() {
|
||||
zaf_err "$0 seconds cmd..."
|
||||
}
|
||||
|
||||
seconds=$1
|
||||
shift
|
||||
[ -z "$*" ] && help
|
||||
|
||||
parms=$(echo $*|tr -d ' ')
|
||||
if ! zaf_fromcache "$parms"; then
|
||||
$@ | zaf_tocache_stdin "$parms" "$seconds"
|
||||
fi
|
||||
|
@ -1,12 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/zaf.conf
|
||||
|
||||
. ${ZAF_LIB_DIR}/zaf.lib.sh
|
||||
. $(dirname $0)/preload.sh
|
||||
|
||||
help() {
|
||||
echo "$0 key cmd"
|
||||
exit 2
|
||||
zaf_err "$0 key cmd"
|
||||
}
|
||||
|
||||
lkey="$1"
|
||||
|
2
zaf
2
zaf
@ -77,7 +77,7 @@ userparms)
|
||||
for plugin in $(zaf_list_plugins); do
|
||||
plugindir=$ZAF_PLUGINS_DIR/$plugin
|
||||
control=$plugindir/control.zaf
|
||||
zaf_ctrl_generate_cfg "${control}" "${plugin}" \
|
||||
zaf_ctrl_generate_cfg "${control}" "${plugin}" "noscripts" \
|
||||
| zaf_far '{PLUGINDIR}' "${plugindir}"
|
||||
done
|
||||
;;
|
||||
|
Loading…
Reference in New Issue
Block a user