Добавить в корзинуПозвонить
Найти в Дзене

Инвентаризации установленного ПО на ПК сотрудников с помощью Zabbix

Zabbix может собирать информацию о программном обеспечении через агенты (Zabbix Agent) или скрипты. Настройте UserParameter в конфигурации агента (zabbix_agentd.conf), чтобы собирать список установленных программ. Пример для Windows (PowerScript): Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
ConvertTo-Json
2. Добавьте параметр в zabbix_agentd.conf: UserParameter=software.list,powershell -ExecutionPolicy Bypass -File "C:\zabbix\scripts\get_installed_software.ps1"
3. Перезапустите Zabbix Agent. Для Linux можно использовать dpkg (Debian/Ubuntu) или rpm (RHEL/CentOS): UserParameter=software.list,dpkg -l | awk '{print $2 " " $3}' | grep -v "Name Version" Или через rpm: UserParameter=software.list,rpm -qa --queryformat "%{NAME} %{VERSION}\n" Zabbix не умеет напрямую экспортировать данные в Excel, но можно: import requests import pandas as pd url = "http://zabbix-server/api_j
Оглавление

1. Сбор данных об установленном ПО

Zabbix может собирать информацию о программном обеспечении через агенты (Zabbix Agent) или скрипты.

Способ 1: Использование Zabbix Agent (Windows)

Настройте UserParameter в конфигурации агента (zabbix_agentd.conf), чтобы собирать список установленных программ.

Пример для Windows (PowerScript):

  1. Создайте скрипт (например, get_installed_software.ps1):
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
ConvertTo-Json

2. Добавьте параметр в zabbix_agentd.conf:

UserParameter=software.list,powershell -ExecutionPolicy Bypass -File "C:\zabbix\scripts\get_installed_software.ps1"


3. Перезапустите Zabbix Agent.

Способ 2: Использование Zabbix Agent (Linux)

Для Linux можно использовать dpkg (Debian/Ubuntu) или rpm (RHEL/CentOS):

UserParameter=software.list,dpkg -l | awk '{print $2 " " $3}' | grep -v "Name Version"

Или через rpm:

UserParameter=software.list,rpm -qa --queryformat "%{NAME} %{VERSION}\n"

2. Настройка сбора данных в Zabbix

  1. Создайте новый элемент данных (Item) в Zabbix:
    Тип:
    Zabbix Agent
    Ключ: software.list
    Тип информации: Текст
    Интервал обновления: 1d (например)
  2. Создайте шаблон (если нужно применять к множеству хостов).

3. Обработка данных и создание отчета

Zabbix не умеет напрямую экспортировать данные в Excel, но можно:

Способ 1: Использование Zabbix API + Python/Excel

  1. Получить данные через API Zabbix (Python):
import requests
import pandas as pd
url = "http://zabbix-server/api_jsonrpc.php"
headers = {"Content-Type": "application/json-rpc"}
auth_token = "ваш_api_ключ"
# Запрос данных (пример для history.get)
payload = {
"jsonrpc": "2.0",
"method": "item.get",
"params": {
"output": ["lastvalue"],
"itemids": ["12345"] # ID вашего Item
},
"auth": auth_token,
"id": 1
}
response = requests.post(url, headers=headers, json=payload).json()
data = response["result"]
# Преобразование в DataFrame и сохранение в Excel
df = pd.DataFrame(data)
df.to_excel("software_report.xlsx", index=False)

Способ 2: Ручной экспорт через Zabbix Frontend

  1. Перейдите в Monitoring → Latest Data
  2. Отфильтруйте по нужному Item
  3. Экспортируйте в CSV (кнопка Export) и откройте в Excel.

Способ 3: Использование Zabbix Report Tool

Существуют сторонние инструменты (например, Zabbix Report Tool), которые могут автоматизировать выгрузку отчетов.

4. Автоматизация отчета (опционально)

  • Настроить скрипт (Python/PowerShell), который будет:
    Забирать данные из Zabbix API.
    Форматировать их в таблицу.
    Сохранять в Excel (
    openpyxl, pandas).
    Отправлять по почте (если нужно).

Пример PowerShell для экспорта в Excel:

$data = Invoke-RestMethod -Uri "http://zabbix/api_jsonrpc.php" -Method Post -Body $payload
$data | Export-Csv -Path "C:\reports\software.csv" -NoTypeInformation

Итог

  1. Собирайте данные через Zabbix Agent (скрипты или встроенные возможности).
  2. Настройте Items в Zabbix для мониторинга ПО.
  3. Экспортируйте данные в Excel через API, CSV или сторонние инструменты.
  4. Автоматизируйте отчет (если нужно).