Zabbix получение данных с Windows машин через WMI без агента

ZBXWMI v0.3

Данный Python скрипт является оберткой для программы WMIC, которая позволяет получать данные через WMI из ОС Linux. WMIC можно скачать с http://dev.zenoss.org/svn/tags/wmi-1.3.16/

Скрипт был доработан из скрипта, взятого с https://87.110.183.172/forum/showthread.php?t=44480

Отличия:

  • добавлена возможность авторизации через файл
  • получение списка полей в одном запросе для одного объекта для удобства работы с LLD

Код вызова:


Usage:
  zbxwmi [-a action] [-z <server>] -h <host> -k <key> -i <items> -c <class> [-f <filter>] [-D <domain>] [-U <username>] [-P<password] [-d] [-o <logfile>] [-w <wmic>] [-s <zabbix_sender>] [-x <authfile>]
  zbxwmi -a get -h <host> -i <item> -c <class> [-f <filter>] [-D <domain>] [-U <username>] [-P<password] [-d] [-o <logfile>] [-w <wmic>] [-x <authfile>]
  zbxwmi --help
  zbxwmi --version

Options:
  -a, --action <action>                       The action to take. Possible values : get, bulk, discover, both
                                              [default: both]
  -h, --host <host>                           The host to query
  -z, --zabbix-server <server>                The Zabbix server or proxy
                                              [default: localhost]
  -v, --version                               Display version and exit
  -k <key>, --key <key>                       The key to use as an index for Zabbix LLD discovery
  -i <items>, --items <items>                 The list of items to query for
  -c <class>, --class <class>                 The class to use in the query
  -f <filter>, --filter <filter>              An optional filter to the query
  -D <domain>, --domain <domain>              The domain to use for authentication
  -U <username>, --username <username>        The username to use for authentication
  -P <password>, --password <password>        The password to use for authentication
  -x <path>                                   Path to file with authentication data
  -d, --debug                                 Debug mode, be more verbose
  -o <logfile>, --output <logfile>            The log file to use
  -w <wmic>, --wmic <wmic>                    The path to the wmic binary
                                              [default: /usr/bin/wmic]
  -s <zabbix_sender>, --zabbix-sender <zabbix_sender>      The path to the zabbix_sender binary
                                                           [default: /usr/bin/zabbix_sender]


Подготовка к работе

  1. Разместите скрипт в /usr/lib/zabbix/externalscripts и сделайте исполняемым.
  2. Установите в систему WMIC.
  3. Создайте файл в котором вы опишете авторизационные данные для подключения.
    Формат файла: в каждой строке указано одно поле в виде: ключ=значение
    Пример:
    username=zabbixstats
    password=supersecretpassword
    domain=mydomain
  4. Создайте макрос {$WMI_AUTHFILE} в котором укажите полный путь до авторизационного файла
  5. Создайте макрос {$WMI_PATH} в котором укажите полный путь до программы WMIC

С т.з. безопасности предпочтительнее обращаться к WMI указывая авторизационный файл, таким образом логин и пароль не будут отображены в списке процессов.

Прмеры использования:

Получение информации о занятом пространстве на разделах диска:

  1. Создайте шаблон
  2. В разделе discovery (обнаружение) создайте новое обнаружение, в ключе введите команду:
    zbxwmi["-h",{HOST.HOST},"-w","{$WMI_PATH}","-x","{$WMI_AUTHFILE}","-k","Name","-i","Size,FreeSpace","-c","Win32_LogicalDisk","-f","MediaType=12"]
  3. В прототипах элементов создайте элементы с ключами: FreeSpace[{#WMI.NAME}], Size[{#WMI.NAME}]
  4. В прототипах графиков создайте график с этими прототипами

Пример графика:

Получение статистики загруженности процессоров:

zbxwmi["-h",{HOST.HOST},"-w","{$WMI_PATH}","-x","{$WMI_AUTHFILE}","-k","Name","-i","PercentProcessorTime","-c","Win32_PerfFormattedData_PerfOS_Processor","-f","Name<>'_Total'"]

Получение статистики загруженности дисковой подсистемы:

zbxwmi["-h",{HOST.HOST},"-w","{$WMI_PATH}","-x","{$WMI_AUTHFILE}","-k","Name","-i","DiskWritesPersec,DiskWriteBytesPersec,DiskReadsPersec,DiskReadBytesPersec,CurrentDiskQueueLength","-c","Win32_PerfRawData_PerfDisk_LogicalDisk","-f","Name='_Total'"]

Получение статистики загруженности памяти:

zbxwmi["-h",{HOST.HOST},"-w","{$WMI_PATH}","-x","{$WMI_AUTHFILE}","-i","AvailableBytes,CommitLimit,CommittedBytes","-c","Win32_PerfRawData_PerfOS_Memory"]

Прикрепленные файлы

zbxwmi.txt 249
Size: 6327 bytes
SHA1: ee7b634eb3f38f9116435469fc39ec334bfec82c


Метки: разработка

Просмотров: 594
Автор: Admin
Опубликовано: 02.04.2016