• Авторизация с токеном JWT?

    @Suxoi Автор вопроса
    Решение , нашел, точнее разобрался что не так делал с функцией проверки. Теперь все работает и все счастливы!

    как правильно и говорили хранить токен не нужно, его разбирает функция. главное вернуть правильное значение и потом оперировать данными callback

    var validate = (req, token, callback) => {
    let err;

    User.findOne({_id: token.id }, function(err, user) {
    if (err) throw err;

    if (!user) {
    return callback(err, false, user);
    }

    return callback(err, true, user);
    });
    };

    request.auth.credentials._id (Или любые значения которые впихнули в токен)
    Ответ написан
    Комментировать
  • Формирование динамического отчета с заданными графиками Zabbix?

    @Suxoi Автор вопроса
    if(in_array($hostGraphs[$graphkey]['name'],$valid_graph_names) OR(substr($hostGraphs[$graphkey]['name'],0,4) === "Disk") OR (substr($hostGraphs[$graphkey]['name'],0,3) === "IIS")){...}

    Сделал как правильно, вот какое условие должно быть, называется читайте и учите мануал
    Ответ написан
    Комментировать
  • Zabbix-Мониторинг ПК в AD+уведомление на почту?

    @Suxoi Автор вопроса
    После долгих поисков решения, перелопатил на эту тему много всяких доков и скриптов, для себя нашел такое решение
    Во-первых, решил что отчет должен формироваться в pdf, считаю правильной практику отчетов для текстовых данных это CSV, для графики PDF
    Во-вторых, все таки для Linux и Windows систем лучше использовать агента Zabbix, чем протокол SNMP(плюсы много мануалов и не нужно искать MIB)

    Разделил по этапам выполнение
    1. Создание msi пакетов для Windows систем, кто-то уже потрудился и сделал все за нас www.suiviperf.com/zabbix/index.php , качается ORCA - www.technipages.com/download-orca-msi-editor , и редактируются msi под свои нужды
    2. Идем в AD и через GPO или GPMC, закидываем Computer configuration - Software Settings - Software installation
    Ждем когда при загрузке ПК,будут ставится агенты Заббикса
    3. Настраиваем Zabbix
    Предварительно создаем группу хостов - у меня TEST
    Configuration - Discovery
    Name - Local
    IP range - 192.168.1.1-254 (Диапозон локалки,через запятую если их несколько)
    Checks - ICMP ping, Zabbix agent "system.uname"
    Device uniqueness criteria - ICMP ping
    Configuration - Actions
    Name - AddLocal
    CONDITIONS
    Discovery rule = Local
    Received value like Windows
    Uptime/Downtime >= 3600
    Discovery status = Up
    Service type = Zabbix agent
    OPERATIONS
    Add host
    Add to host groups: Test
    Link to templates: Template OS Windows
    Enable host

    Теперь наши хосты при обнаружении в сети больше часа и с ОС Windows,попадут в группу хостов TEST
    Удаляем хосты которые неактивны больше суток

    Name - REMOVELocal
    CONDITIONS
    Discovery rule = LOcal
    Uptime/Downtime >= 86400
    Service type = ICMP ping
    OPERATIONS
    Remove host

    Включаем настройки отладки пользователю с которым подключимся в скрипте, я использовал по умолчанию свою учетку с админискими правами, для группу Zabbix administrators - DEBUG MODE - Enabled

    4. Собственно сам скрипт
    https://cloud.mail.ru/public/4hGR/gBZNGVJp9
    Копируем его в каталог zabbix /usr/share/zabbix/zabbix-dynamic-pdf-report
    Создаем здесь же каталог report c полными правами chmod 777
    Редактируется файл config.inc.php
    Идем на страничку и проверяем работает ли скрипт 192.168.11/zabbix/zabbix-dynamic-pdf-report
    У меня формируется отчет по условиям CPU load, IIS WP3W Memory usage, Memory usage,Disk space usage
    Они прописаны в файле createpdf.functions.php

    5. Пишем обработчик и отправку отчета по почте, вешаем в crontab, отчет формируем для группы хостов TEST смотрим его id и добавляем в get запрос
    Файл getcurl.pl
    #!/usr/bin/perl
    my $strcurl = `curl "192.168.1.11/zabbix/zabbix-dynamic-pdf-report/crea..."`;

    Файл sendreport.pl
    #!/usr/bin/perl
    my $sen= system(' echo "" | mail -s "Zabbix Report day" -a "/usr/share/zabbix/zabbix-dynamic-pdf-report/report/test_PC_in_AD.pdf" test@test.com');

    Нашел пока две недоработки, пытаюсь исправить
    1. Динамические обнаруженные буквы дисков не подставляются, такая же история и с процессами, поэтом в массиве нужно указывать весь набор
    2. График по дискам, не круговой,а обычная диаграмма
    Ответ написан
    Комментировать