Ad Widget

Collapse

Zabbix мониторнг API и БД

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • boxerwba
    Junior Member
    • Nov 2019
    • 2

    #1

    Zabbix мониторнг API и БД

    я ещё никогда не пользовался Zabbix, я только разобрался как его установить на убунту 18.04

    У меня есть проект: .net core 2.2(API), reactJS(UI) и postgreSQL(БД) Посоветуйте, как настроить правильно zabbix-agent для API, что б проверять, выдает ли login page 200 код

    Также отправлять запрос к БД для проверки соединения с БД.

    Если login page выдает 4** или 5** и если нет конекта к бд, оповещать админа Zabbix на почту

    Посоветуйте, куда мне двигаться или может есть готовые или похожие решения этой проблемы

    Спасибо за внимание, хорошего дня.
  • AvaTTaR
    Member
    • Dec 2018
    • 96

    #2
    Вам нужен не агент, а web-проверки - вот тут( https://www.zabbix.com/documentation...web_monitoring ) всё описано с примерами, создадите по примеру мониторинг страницы, потом триггер реагирующий на то что Last response code !=200 и потом в действиях действие при срабатывании этого триггера.
    Начните с этого как с каркаса, если будут возникать вопросы - пишите.
    Потом я бы всё равно рекомендовал сделать корректно проверку авторизации(то есть полноценно проверять функционал, а не просто 200ый), триггеры переделать с учётом Failed step of scenario

    По БД 2 варианта - либо проверять через net.tcp.service[service,<ip>,<port>] , либо что корректнее - внешней проверкой через shell-скрипт с авторизацией на базе, что позволяет проверить реальную доступность БД, авторизацию(и поверьте опыту это самые частые проблемы - БД работает, кто на ней держит сессию всё ок, а вот новые сессии не создаются) и ответ от неё : вот пример проверки доступности БД oracle:

    Code:
    #!/bin/bash
    #test connection BD Oracle
    export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib:/usr/lib
    export TNS_ADMIN=/usr/lib/oracle/12.2/client64/network/admin
    export ORACLE_HOME=/usr/lib/oracle/12.2/client64
    export NLS_LANG=RUSSIAN_RUSSIA.AL32UTF8
    if echo 'select * from dual;' |  /usr/lib/oracle/12.2/client64/bin/sqlplus $1 | grep -wq 'X' >> /dev/null;
    then echo 1
    else echo 0
    fi

    Comment

    Working...