Ad Widget

Collapse

Скрипт вешает Zabbix агента

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • xeonkeeper
    Junior Member
    • Sep 2012
    • 27

    #1

    Скрипт вешает Zabbix агента

    при выполнении PS скрипта через юзер параметры агент перестает передавать данные на сервер, причем все это происходит рандомно... И рисуются рваные графики.

    Вот этот скрипт,
    Code:
    param (
    $DB=""
    )
    
    sleep (Get-Random -Minimum 1 -Maximum 300)
    
    #ErrorActionPreference = "SilentlyContinue"
    
    add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
    
    
    (Get-MailboxDatabase -status -Identity $DB).availablenewmailboxspace.ToBytes()
    
    
    Write-Host -nonewline
    Code:
    UserParameter=CheckDatabaseWhiteSize[*],powershell.exe -File "c:\program files\zabbix\CheckDatabaseWhiteSize.ps1" -DB $1
    Выполняется по 15 базам
    В чем может быть проблема?
    Last edited by xeonkeeper; 18-05-2015, 14:31.
  • JoohnyO
    Junior Member
    • Jul 2014
    • 25

    #2
    Я конечно не спец в PowerShell, но строка
    sleep (Get-Random -Minimum 1 -Maximum 300)
    означает, что мы берем рандомное число от 1 до 300, притом, что у Zabbix максимальный таймаут 30.

    Comment

    • xeonkeeper
      Junior Member
      • Sep 2012
      • 27

      #3
      Originally posted by JoohnyO
      Я конечно не спец в PowerShell, но строка означает, что мы берем рандомное число от 1 до 300, притом, что у Zabbix максимальный таймаут 30.
      Это сделано, чтобы скрипты выполнялись рандомно и не вешали сервер. Да, в этом может бы косяк, но и без этой строчки ничего не меняется...

      Comment

      • xeonkeeper
        Junior Member
        • Sep 2012
        • 27

        #4
        В общем, временно решил проблему запуская скрипты шедулером сервера, складывая значения в текстовые файлы и забирая оттуда заббиксом.

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #5
          Originally posted by xeonkeeper
          В общем, временно решил проблему запуская скрипты шедулером сервера, складывая значения в текстовые файлы и забирая оттуда заббиксом.
          след. шаг: использовать zabbix_sender для "моментальной" доставки данных в заббикс

          Comment

          • Current_User
            Junior Member
            • Jun 2015
            • 5

            #6
            zabbix agent не могу передать данные через скрипт

            Здравствуйте решил поставить на мониторинг температуру процессора и видеокарты в заббикс

            для cpu
            Code:
            Код Perl 6
            #!perl
            use strict ;
            use warnings ;
            my $commands = 'C:\perl\OpenHardwareMonitorReport.exe';
            my @resultat = `$commands`;
            foreach (@resultat) {
            if (m{(\d+) +(\d+) +(\d+).+/intelcpu/0/temperature/0}s) {
            print "$1";
             }
            }
            для gpu
            Код Perl 6
            Code:
            #!perl
            use strict ;
            use warnings ;
            my $commands = 'C:\perl\OpenHardwareMonitorReport.exe';
            my @resultat = `$commands`;
            foreach (@resultat) {
            chomp($_);
            if (m{(\d+) +(\d+) +(\d+).+/nvidiagpu/0/temperature/0}s) {
            print "$1";
             }
            }
            Проверяю что скрипт отработал нормально
            C:\Windows\system32>C:\perl\cpu.pl
            49
            C:\Windows\system32>C:\perl\gpu.pl
            31

            пытаюсь получить значения на заббиксе
            root@debian:~# zabbix_get -s 10.10.10.6 -p 10050 -k Tempirature.CPU1
            43
            root@debian:~# zabbix_get -s 10.10.10.6 -p 10050 -k Tempirature.GPU1
            Пустая строка

            Зы прилагаю программу из которой получаю значения в вложений help.zip

            Зыы в заббиксе такая ошибка Received value [] is not suitable for value type [Numeric (unsigned)] and data type [Decimal] тип для данных настроил целое с точкой, либо целое а если просто сделать так print 1; то данные получаю нормально

            root@debian:~# zabbix_get -s 10.10.10.6 -p 10050 -k Tempirature.GPU1
            1

            пока временно решил проблему складывая значения в текстовый файл и забирая их оттуда но возможно что нибудь подскажите )

            что можно проверит

            Comment

            Working...