zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 22941f4e01294888a9bed3aae15f6ef9
      name: Templates/AWNET
  templates:
    - uuid: 188bbd004fd94b4d8bbaee4333ca8077
      template: 'AWNET FreeBSD Template'
      name: 'AWNET FreeBSD Template'
      description: 'Версия: v0.r202410.3'
      groups:
        - name: Templates/AWNET
      items:
        - uuid: 29891c0f0d2f4297bdfa049c49a3b50f
          name: 'Версия ОС: Ядро системы'
          type: DEPENDENT
          key: aw.fbsd.version.kernel
          delay: '0'
          history: 90d
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.kernel
          master_item:
            key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]'
          tags:
            - tag: Module
              value: 'FreeBSD OS Version'
        - uuid: d7fe2bdc7af04a0cb981cca668835bc7
          name: 'Версия ОС: Ядро системы, находящееся в работе'
          type: DEPENDENT
          key: aw.fbsd.version.kernel.running
          delay: '0'
          history: 90d
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.kcurrent
          master_item:
            key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]'
          tags:
            - tag: Module
              value: 'FreeBSD OS Version'
        - uuid: 6e4bcce1f68b46009f79c9d563448810
          name: 'Версия ОС: Системное окружение'
          type: DEPENDENT
          key: aw.fbsd.version.userland
          delay: '0'
          history: 90d
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.userland
          master_item:
            key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]'
          tags:
            - tag: Module
              value: 'FreeBSD OS Version'
        - uuid: 21140a98f99b4eadb62a632adc76fcf0
          name: 'Ошибки в системном журнале'
          type: ZABBIX_ACTIVE
          key: 'logrt["/var/log/warning_msg\.log$","@FreeBSD syslog file warning filter",utf8]'
          history: 90d
          value_type: LOG
          trends: '0'
          tags:
            - tag: Module
              value: 'Системный журнал'
          triggers:
            - uuid: a9049f62969a465ca9e7dcaa5de8a988
              expression: 'nodata(/AWNET FreeBSD Template/logrt["/var/log/warning_msg\.log$","@FreeBSD syslog file warning filter",utf8],2m)=0'
              name: 'Ошибки в системном журнале'
              opdata: '{ITEM.VALUE}'
              priority: WARNING
        - uuid: 17d8486f93914945b4ccbda2eda4d7ab
          name: 'Обновление ОС: Статус'
          key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"]'
          delay: 5m
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: Module
              value: 'FreeBSD Update'
          triggers:
            - uuid: a2f05289705041989108fc1a7984c8bc
              expression: 'last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"])<>"OK"'
              name: 'Статус обновления ОС не оптимален'
              opdata: '{ITEM.VALUE}'
              priority: WARNING
              dependencies:
                - name: 'Требуется обновление ОС'
                  expression: 'last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"])="NEED UPDATE"'
            - uuid: f37d4bcb3db74a0e82db4e766d70667e
              expression: 'last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"])="NEED UPDATE"'
              name: 'Требуется обновление ОС'
              priority: HIGH
        - uuid: 57dff18486ff4135b68f628aeb23b34e
          name: '_ Сырые данные по версии ОС'
          key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]'
          delay: 5m
          history: '0'
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
            - type: JAVASCRIPT
              parameters:
                - |
                  var buf = value.split('\n');
                  var res = {}
                  
                  for (var i in buf) {
                      var _ln_buf = buf[i].trim().split('=');
                      res[_ln_buf[0]] = _ln_buf[1]
                  }
                  
                  return JSON.stringify(res)
          tags:
            - tag: Module
              value: 'FreeBSD OS Version'
        - uuid: 56b0005c135049268acef9e9f9e9e34e
          name: 'Дополнительное ПО: Статус контроля актуальности версий установленного ПО'
          key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update"]'
          delay: 5m
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: Module
              value: 'FreeBSD Packages'
          triggers:
            - uuid: a3ee871d2a924b4799ca03b64fa4a6da
              expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update"]))<>0'
              name: 'Существуют пакеты, требующие обновления'
              opdata: '{ITEM.VALUE}'
              priority: WARNING
        - uuid: 28db291bbe504d1eaaa32b89426bb487
          name: 'Дополнительное ПО: Статус аудита наличия известных уязвимостей в установленном дополнительном ПО'
          key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update.audit"]'
          delay: 5m
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: Module
              value: 'FreeBSD Packages'
          triggers:
            - uuid: 0003ac7f34434551aa79985d6262123f
              expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update.audit"]))<>0'
              name: 'В системе установлены пакеты с известными уязвимостями'
              opdata: '{ITEM.VALUE}'
              priority: HIGH
        - uuid: ef2114c7186b4b3694ddebac39b6c8ad
          name: 'Мониторинг FreeBSD: Статус посредника'
          key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/status"]'
          delay: 5m
          history: 21d
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: Module
              value: 'FreeBSD Monitoring Helper'
          triggers:
            - uuid: f15f1943b2854a61be6a3b48b6d69262
              expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/status"]))<>0'
              name: 'Во время сбора данных посредником произошли ошибки'
              opdata: '{ITEM.VALUE}'
              priority: AVERAGE
        - uuid: e3968cfbd4244ada8e7ab7c8a1758e44
          name: 'Версия набора скриптов'
          key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/version"]'
          value_type: TEXT
          trends: '0'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 24h
      discovery_rules:
        - uuid: 27e0563f78b146d1bd00263ea2b98e9a
          name: 'Контроль состояния активированных сервисов'
          key: 'vfs.dir.get["{$AW.FBSD.HELPER_PATH}/var/pkg_detail",,"\.audit$",file,,1]'
          delay: 5m
          item_prototypes:
            - uuid: 3415bbb02573448d81e27ea945a1f5fb
              name: 'Дополнительное ПО / {#NAME}: Дата установки пакета'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.installed[{#NAME}]'
              delay: '0'
              units: unixtime
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.installed
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
            - uuid: e4b1e5283e2a4b17ac00a3b535fd912c
              name: 'Дополнительное ПО / {#NAME}: Статус блокировки пакета'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.locked[{#NAME}]'
              delay: '0'
              valuemap:
                name: 'Статус блокировки пакета'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.locked
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: dc8fa7bc388449fa811d49314af28ed5
                  expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.locked[{#NAME}])=1'
                  name: 'Пакет {#NAME} заблокирован для обновления'
                  priority: WARNING
            - uuid: d0535081d1ac4c14a4aa519571b02991
              name: 'Дополнительное ПО / {#NAME}: Ответственный разработчик'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.mainteiner[{#NAME}]'
              delay: '0'
              value_type: TEXT
              trends: '0'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.mainteiner
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 6484dc9e837b4ecfb793f8296985991a
                  expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.mainteiner[{#NAME}],#2)<>last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.mainteiner[{#NAME}],#1)'
                  name: 'У пакета {#NAME} сменился ответственный'
                  priority: INFO
            - uuid: 69470e867f1d4433b7e6d7219602ca52
              name: 'Дополнительное ПО / {#NAME}: Репозиторий пакета'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.repo[{#NAME}]'
              delay: '0'
              value_type: TEXT
              trends: '0'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.repo
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 5b068e0fd4ca473babf00612fa1821a6
                  expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.repo[{#NAME}],#2)<>last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.repo[{#NAME}],#1)'
                  name: 'Изменился репозиторий пакета {#NAME}'
                  priority: INFO
            - uuid: 5bb725ee69884993ba5283aae3aefa7a
              name: 'Дополнительное ПО / {#NAME}: Размер пакета'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.size[{#NAME}]'
              delay: '0'
              units: B
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.size
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
            - uuid: 6bc473bc4067419294f129b3aa80edbf
              name: 'Дополнительное ПО / {#NAME}: Статус пакета'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.status[{#NAME}]'
              delay: '0'
              value_type: TEXT
              trends: '0'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.status
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 8e54df4ea92e4a10bde8bada7d56ab5b
                  expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="NEED UPDATE"'
                  name: 'Пакет {#NAME} требует обновления'
                  priority: AVERAGE
                - uuid: 88294d630f9d46078aaaca2b5e119e94
                  expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="ERROR"'
                  name: 'Статус пакета {#NAME} не может быть получен'
                  priority: WARNING
                - uuid: aa02a5e035554053bbe0bb70bc4e37d5
                  expression: '(last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])<>"OK") and last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])<>"REPO VERSION LOWER"'
                  name: 'Статус пакета {#NAME} не оптимален'
                  priority: WARNING
                  dependencies:
                    - name: 'Пакет {#NAME} требует обновления'
                      expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="NEED UPDATE"'
                    - name: 'Статус пакета {#NAME} не может быть получен'
                      expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="ERROR"'
            - uuid: 2baa4f2b386944f9943c7367b5dce632
              name: 'Дополнительное ПО / {#NAME}: Версия пакета'
              type: DEPENDENT
              key: 'aw.fbsd.pkg.services.ver[{#NAME}]'
              delay: '0'
              value_type: TEXT
              trends: '0'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.ver
              master_item:
                key: 'vfs.file.contents[{#FILEPATH}]'
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
            - uuid: 48c7bf3ee0be46bfa5a97d6e1cfe4472
              name: 'Дополнительное ПО / {#NAME}: Статус аудита на наличие уязвимостей'
              key: 'vfs.file.contents["{#FILEPATH}.audit"]'
              delay: 5m
              value_type: TEXT
              trends: '0'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 12h
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
              trigger_prototypes:
                - uuid: 67a535b0206d4d25b18f1e1d2df05eae
                  expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{#FILEPATH}.audit"]))<>0'
                  name: 'Пакет {#NAME} имеет известные уязвимости'
                  priority: HIGH
            - uuid: 2d63f4f435ec4168bc1a6ce0eb4deddb
              name: '_ Дополнительное ПО / {#NAME}: Сырые данные'
              key: 'vfs.file.contents[{#FILEPATH}]'
              delay: 5m
              history: '0'
              value_type: TEXT
              trends: '0'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 12h
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var buf = value.split('\n');
                      var res = {}
                      
                      for (var i in buf) {
                          var _ln_buf = buf[i].trim().split('=');
                          res[_ln_buf[0]] = _ln_buf[1]
                      }
                      return JSON.stringify(res)
              tags:
                - tag: Module
                  value: 'FreeBSD Packages'
                - tag: Package
                  value: '{#NAME}'
          trigger_prototypes:
            - uuid: 2d3d49dab3c1482a92ad8c5ebfcf9ab7
              expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.installed[{#NAME}],#2)<>last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.installed[{#NAME}],#1) or last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.ver[{#NAME}],#2)<>last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.ver[{#NAME}],#1)'
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.installed[{#NAME}],#2)=last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.installed[{#NAME}],#1) and last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.ver[{#NAME}],#2)=last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.ver[{#NAME}],#1)'
              name: 'Пакет {#NAME} обновлён'
              priority: INFO
          lld_macro_paths:
            - lld_macro: '{#FILEPATH}'
              path: $.pathname
            - lld_macro: '{#NAME}'
              path: $.basename
      macros:
        - macro: '{$AW.FBSD.HELPER_PATH}'
          value: /opt/aw.fbsd-mon-helper
          description: 'Путь к каталогу посредника мониторинга'
        - macro: '{$AW.FBSD.IGNORE_PKGS}'
          description: 'Регулярка игнорируемых пакетов при выдаче информации о пакетах, требующих обновления'
      valuemaps:
        - uuid: c9a1a4e83e2745b6b8f90c3be826323a
          name: 'Статус блокировки пакета'
          mappings:
            - value: '0'
              newvalue: '✅️ ОК'
            - value: '1'
              newvalue: '⚠️ Пакет заблокирован для обновления'
  triggers:
    - uuid: f061b328bf4b490499b947601149d048
      expression: 'last(/AWNET FreeBSD Template/aw.fbsd.version.kernel) <> last(/AWNET FreeBSD Template/aw.fbsd.version.kernel.running)'
      name: 'Ядро системы, находящееся в работе, не соответствует установленному.'
      opdata: 'Установлено:  "{ITEM.LASTVALUE1}": в работе: "{ITEM.LASTVALUE2}"'
      priority: WARNING
