Мониторинг параметров MySQL в Zabbix

Главная Форумы ОС, сети, софт, настройка, hack *nix системы Мониторинг параметров MySQL в Zabbix

  • Эта тема пуста.
Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #1041
    Аноним
    Неактивированный

    Создадим директорию для скриптов:
    sudo mkdir /etc/zabbix/scripts/
    sudo chown root:zabbix -R /etc/zabbix/scripts/
    sudo chmod 750 /etc/zabbix/scripts/

    Сам скрипт для мониторинга параметров MySQL:

    #!/bin/bash
    ##### OPTIONS VERIFICATION #####
    if | -z "$2"; then
    exit 1
    fi
    ##### PARAMETERS #####
    RESERVED="$1"
    METRIC="$2"
    USER="${3:-user}"
    PASS="${4:-pass}"
    #
    MYSQLADMIN="/usr/bin/mysqladmin"
    MYSQL="/usr/bin/mysql"
    CACHE_TTL="55"
    CACHE_FILE="/tmp/zabbix.mysql-stats.cache"
    EXEC_TIMEOUT="1"
    NOW_TIME=`date '+%s'`
    ##### RUN #####
    if [ "${METRIC}" = "alive" ]; then
    ${MYSQLADMIN} -u${USER} -p${PASS} ping | grep alive | wc -l | head -n1
    exit 0
    fi
    if [ "${METRIC}" = "version" ]; then
    ${MYSQL} -V | sed -e 's/^.*(ver.*)$/1/gI' | head -n1
    exit 0
    fi
    #
    if [ -s "${CACHE_FILE}" ]; then
    CACHE_TIME=`stat -c"%Y" "${CACHE_FILE}"`
    else
    CACHE_TIME=0
    fi
    DELTA_TIME=$((${NOW_TIME} - ${CACHE_TIME}))
    #
    if [ ${DELTA_TIME} -lt ${EXEC_TIMEOUT} ]; then
    sleep $((${EXEC_TIMEOUT} - ${DELTA_TIME}))
    elif [ ${DELTA_TIME} -gt ${CACHE_TTL} ]; then
    echo "" >> "${CACHE_FILE}" # !!!
    DATACACHE=`${MYSQLADMIN} -u${USER} -p${PASS} extended-status 2>&1`
    echo "${DATACACHE}" > "${CACHE_FILE}" # !!!
    chmod 640 "${CACHE_FILE}"
    fi
    #
    cat "${CACHE_FILE}" | grep -iw "$METRIC" | cut -d'|' -f3 | head -n1
    #
    exit 0

    Установим скрипту владельца и права:
    sudo chown root:zabbix /etc/zabbix/scripts/mysql-stats.sh
    sudo chmod 550 /etc/zabbix/scripts/mysql-stats.sh

    Проверка работы скрипта:
    sudo -u zabbix /etc/zabbix/scripts/mysql-stats.sh none questions ИМЯ ПАРОЛЬ

    Просмотр списка возможных параметров по которым можно просматривать статистику:
    mysqladmin -uroot -p extended-status

    Добавляем указанную ниже строку в конфигурационный файл zabbix-агента /etc/zabbix/zabbix_agentd.conf:

    UserParameter=mysql-stats[*],/etc/zabbix/scripts/mysql-stats.sh "none" "$1" [USER] [PASSWORD]

    Перезапуск zabbix агента чтобы изменения вступили в силу:

    /etc/init.d/zabbix-agent restart

    Проверка:
    sudo zabbix_get -k ‘mysql-stats[questions]’ -s 127.0.0.1

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.