ncc.zabbix_fbsd_templates
2024-10-13
Child:42f11a826ab9
0:0f46afe818e3 Browse Files
.. init
src/aw.fbsd-mon-helper/bin/lounch.sh src/aw.fbsd-mon-helper/config.dist.sh src/aw.fbsd-mon-helper/lib/common.sh src/aw.fbsd-mon-helper/lib/fbsd_up.sh src/aw.fbsd-mon-helper/lib/log.sh src/aw.fbsd-mon-helper/lib/pkg.sh tools/make_dist.sh zbx_export_templates.yaml
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/aw.fbsd-mon-helper/bin/lounch.sh Sun Oct 13 18:44:51 2024 +0300 1.3 @@ -0,0 +1,44 @@ 1.4 +#!/bin/sh 1.5 +export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" 1.6 +BIN_ROOT="$(dirname "$(readlink -f "$0")")" 1.7 +APP_ROOT="$(dirname "$BIN_ROOT")" 1.8 +STATE_ROOT="$APP_ROOT/var" 1.9 + 1.10 +cat /dev/null > "$STATE_ROOT/status" 1.11 + 1.12 +. "$APP_ROOT/lib/log.sh" 1.13 + 1.14 + 1.15 +if ! [ -f "$APP_ROOT/config.sh" ] ; then 1.16 + echo "UNCONFIGURED!!!!" >&2 1.17 + exit 1 1.18 +fi 1.19 + 1.20 +TMP_ROOT="$(mktemp -dq aw-fbsd-monitoring-XXXXXXXXXXXX)" 1.21 +_err_status=$? 1.22 +if [ ${_err_status} -ne 0 ] ; then 1.23 + log_err -s "Cannot make TMP_ROOT, error status ${_err_status}" 1.24 + exit 1 1.25 +fi 1.26 + 1.27 + 1.28 +my_exit () { 1.29 + if [ -d "$TMP_ROOT" ] ; then 1.30 + rm -frv "$TMP_ROOT" 2>&1 | log 1.31 + fi 1.32 +} 1.33 + 1.34 +trap my_exit 0 1.35 + 1.36 +. "$APP_ROOT/config.sh" 1.37 +. "$APP_ROOT/lib/common.sh" 1.38 +. "$APP_ROOT/lib/fbsd_up.sh" 1.39 +. "$APP_ROOT/lib/pkg.sh" 1.40 + 1.41 +log "Start process, but sleep some..." 1.42 +sleep_some 1.43 + 1.44 +{ 1.45 + fbsd_up_do 1.46 + pkg_do 1.47 +} 2>&1 | log_err -s 2>&1 | to_status
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/src/aw.fbsd-mon-helper/config.dist.sh Sun Oct 13 18:44:51 2024 +0300 2.3 @@ -0,0 +1,1 @@ 2.4 +ADMIN_MAIL="root" 2.5 \ No newline at end of file
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/src/aw.fbsd-mon-helper/lib/common.sh Sun Oct 13 18:44:51 2024 +0300 3.3 @@ -0,0 +1,7 @@ 3.4 +get_rand_sec () { 3.5 + awk 'BEGIN{srand();print int((rand() * 100) % 60)}' 3.6 +} 3.7 + 3.8 +sleep_some () { 3.9 + sleep "$(get_rand_sec)" 3.10 +} 3.11 \ No newline at end of file
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/src/aw.fbsd-mon-helper/lib/fbsd_up.sh Sun Oct 13 18:44:51 2024 +0300 4.3 @@ -0,0 +1,64 @@ 4.4 +#!/bin/sh 4.5 +# Работа с обновлениями FreeBSD 4.6 + 4.7 +v_fbsd_up_binary="/usr/sbin/freebsd-update" 4.8 +v_fbsd_up_out="$STATE_ROOT/fbsd_update" 4.9 +v_fbsd_up_status="$STATE_ROOT/fbsd_update.status" 4.10 +v_fbsd_up_current_ver="$STATE_ROOT/fbsd_update.versions" 4.11 + 4.12 + 4.13 +fbsd_up_init () { 4.14 + $v_fbsd_up_binary fetch > "$v_fbsd_up_out" 4.15 +} 4.16 + 4.17 + 4.18 +fbsd_up_status () { 4.19 + echo "$1" > "$v_fbsd_up_status" 4.20 +} 4.21 + 4.22 + 4.23 +fbsd_up_versions () { 4.24 + printf "userland=%s\nkernel=%s\nkcurrent=%s\n" \ 4.25 + "$(/bin/freebsd-version -u)" \ 4.26 + "$(/bin/freebsd-version -k)" \ 4.27 + "$(/bin/freebsd-version -r)" \ 4.28 + > "${v_fbsd_up_current_ver}" 4.29 +} 4.30 + 4.31 + 4.32 +fbsd_up_do () { 4.33 + log_start "fbsd_up_do" 4.34 + 4.35 + fbsd_up_init 4.36 + fbsd_up_versions 4.37 + { 4.38 + $v_fbsd_up_binary updatesready 4.39 + local _ret="$?" 4.40 + 4.41 + case "$_ret" in 4.42 + 0 ) 4.43 + if [ "$(cat "$v_fbsd_up_status")" != "NEED UPDATE" ]; then 4.44 + mail -s "$(hostname -f): FREEBSD UPDATE NEEDED" "$ADMIN_MAIL" < "$v_fbsd_up_out" 4.45 + fi 4.46 + 4.47 + fbsd_up_status "NEED UPDATE" 4.48 + ;; 4.49 + 4.50 + 1 ) 4.51 + fbsd_up_status "RUN ERROR" 4.52 + ;; 4.53 + 4.54 + 2 ) 4.55 + fbsd_up_status "OK" 4.56 + ;; 4.57 + 4.58 + * ) 4.59 + fbsd_up_status "RUN ERROR" 4.60 + log_err "fbsd_up: updatesready return unknown code ${_ret}" 4.61 + ;; 4.62 + 4.63 + esac 4.64 + } 2>&1 | log 4.65 + 4.66 + log_end 4.67 +}
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/src/aw.fbsd-mon-helper/lib/log.sh Sun Oct 13 18:44:51 2024 +0300 5.3 @@ -0,0 +1,38 @@ 5.4 +log_get_timer () { 5.5 + date '+%s' 5.6 +} 5.7 + 5.8 +v_log_timer="$(log_get_timer)" 5.9 +v_log_section="None" 5.10 + 5.11 +log () { 5.12 + logger -t "aw-fbsd-monitoring" "$@" 5.13 +} 5.14 + 5.15 +to_status () { 5.16 + cat | awk -v n="$1" '{print n, " : ", $0}' >> "$STATE_ROOT/status" 5.17 +} 5.18 + 5.19 +log_err () { 5.20 + log -p user.err -s "$@" 2<&1 | to_status 5.21 +} 5.22 + 5.23 + 5.24 + 5.25 +write_status () { 5.26 + local module="$1" 5.27 + shift 5.28 + echo "$0" | to_status "$module" 5.29 +} 5.30 + 5.31 +log_start () { 5.32 + log "$1: start" 5.33 + v_log_timer="$(log_get_timer)" 5.34 + v_log_section="$1" 5.35 +} 5.36 + 5.37 +log_end () { 5.38 + local t 5.39 + t="$(( $(log_get_timer) - $v_log_timer ))" 5.40 + log "${v_log_section}: end in $t seconds" 5.41 +} 5.42 \ No newline at end of file
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/src/aw.fbsd-mon-helper/lib/pkg.sh Sun Oct 13 18:44:51 2024 +0300 6.3 @@ -0,0 +1,95 @@ 6.4 +#!/bin/sh 6.5 +# Различная статистика по пакетам 6.6 + 6.7 +v_pkg_detail_status="$STATE_ROOT/pkg_detail" 6.8 +v_pkg_update_status="$STATE_ROOT/pkg_update" 6.9 + 6.10 +pkg_init () { 6.11 + if ! [ -d "$v_pkg_detail_status" ]; then 6.12 + mkdir -p "$v_pkg_detail_status" 6.13 + else 6.14 + # Удаляем старые директории, в которые давно не не пишутся данные по пакетам 6.15 + log "Clean old detail pakages" 6.16 + find "$v_pkg_detail_status" -type f -ctime +1 -print0 | xargs -0n 1 rm -frv 2>&1 | log 6.17 + fi 6.18 + log "Update pakages" 6.19 + pkg update 2>&1 | log 6.20 + # Обновление базы аудита происходит на получении общих данных по пакетам 6.21 +} 6.22 + 6.23 +pkg_make_detail () { 6.24 + local vl_pkg_origin 6.25 + local vl_pkg_repo 6.26 + local vl_pkg_name 6.27 + local vl_pkg_ver 6.28 + local vl_status_file 6.29 + local vl_pkg_status 6.30 + 6.31 + service -e | awk '$1 ~ "^/usr/local" {print $1}' | while read svc_file; do 6.32 + if ! [ -f "$svc_file" ] ; then 6.33 + continue 6.34 + fi 6.35 + 6.36 + vl_pkg_origin="$(pkg which -o "$svc_file" | awk '$0 ~ "was installed by package" {print $6}')" 6.37 + if [ -z "$vl_pkg_origin" ] ; then 6.38 + log "$svc_file have no matched pkg" 6.39 + continue 6.40 + fi 6.41 + 6.42 + vl_pkg_name="$(basename "$vl_pkg_origin")" 6.43 + vl_pkg_repo="$(pkg query '%R' "$vl_pkg_origin")" 6.44 + vl_pkg_ver="$(pkg query '%v' "$vl_pkg_origin")" 6.45 + vl_pkg_status="$(pkg version -qUO "$vl_pkg_origin" | awk '{print $2}')" 6.46 + 6.47 + case "$vl_pkg_status" in 6.48 + = ) 6.49 + vl_pkg_status=OK 6.50 + ;; 6.51 + 6.52 + "<" ) 6.53 + vl_pkg_status="NEED UPDATE" 6.54 + ;; 6.55 + 6.56 + ">" ) 6.57 + vl_pkg_status="REPO VERSION LOWER" 6.58 + ;; 6.59 + 6.60 + "?" ) 6.61 + vl_pkg_status="NO PACKAGE IN REPO" 6.62 + ;; 6.63 + 6.64 + "!" ) 6.65 + vl_pkg_status="ERROR" 6.66 + log_err -s "${vl_pkg_origin}: pkg can not compare version of package" 6.67 + ;; 6.68 + 6.69 + * ) 6.70 + log_err -s "${vl_pkg_origin}: unknown status ${vl_pkg_status}" 6.71 + vl_pkg_status="ERROR" 6.72 + ;; 6.73 + 6.74 + esac 6.75 + 6.76 + vl_status_file="${v_pkg_detail_status}/${vl_pkg_name}" 6.77 + pkg query 'installed=%t\nmainteiner=%m\nsize=%sb\nlocked=%k' "$vl_pkg_origin" \ 6.78 + > "${vl_status_file}" 6.79 + 6.80 + printf 'ver=%s\nrepo=%s\nstatus=%s\n' "${vl_pkg_ver}" "${vl_pkg_repo}" "${vl_pkg_status}" >> "$vl_status_file" 6.81 + pkg audit "${vl_pkg_name}-${vl_pkg_ver}" \ 6.82 + | awk '!($0 ~ "[0-9]* problem\\(s\\) in [0-9]* installed package\\(s\\) found") {print $0}' \ 6.83 + > "${vl_status_file}.audit" 6.84 + 6.85 + done 6.86 +} 6.87 + 6.88 +pkg_do () { 6.89 + log_start "pkg_do" 6.90 + 6.91 + pkg_init 6.92 + pkg version -qUL = | awk '$2 != ">" {print $1}' > "$v_pkg_update_status" 6.93 + pkg audit -qF > "${v_pkg_update_status}.audit" 6.94 + 6.95 + pkg_make_detail 6.96 + 6.97 + log_end 6.98 +} 6.99 \ No newline at end of file
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/tools/make_dist.sh Sun Oct 13 18:44:51 2024 +0300 7.3 @@ -0,0 +1,15 @@ 7.4 +#!/bin/sh 7.5 +src_root="$(dirname "$(dirname "$(readlink -f "$0")")")" 7.6 +dist_root="$(readlink -f "$src_root/../dist")" 7.7 + 7.8 +ts="$(date "+%Y%m%d-%H%M%S")" 7.9 + 7.10 +echo "###" 7.11 +tar -cvzf "$dist_root/aw.fbsd-mon-helper_$ts.tgz" \ 7.12 + --owner=root --group=root \ 7.13 + -C "$src_root/src" \ 7.14 + aw.fbsd-mon-helper 7.15 + 7.16 +echo "===" 7.17 +echo "$dist_root/aw.fbsd-mon-helper_$ts.tgz" 7.18 +stat "$dist_root/aw.fbsd-mon-helper_$ts.tgz"
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/zbx_export_templates.yaml Sun Oct 13 18:44:51 2024 +0300 8.3 @@ -0,0 +1,432 @@ 8.4 +zabbix_export: 8.5 + version: '7.0' 8.6 + template_groups: 8.7 + - uuid: 22941f4e01294888a9bed3aae15f6ef9 8.8 + name: Templates/AWNET 8.9 + templates: 8.10 + - uuid: 188bbd004fd94b4d8bbaee4333ca8077 8.11 + template: 'AWNET FreeBSD Template' 8.12 + name: 'AWNET FreeBSD Template' 8.13 + description: 'Версия: v0.r202410.1' 8.14 + groups: 8.15 + - name: Templates/AWNET 8.16 + items: 8.17 + - uuid: 29891c0f0d2f4297bdfa049c49a3b50f 8.18 + name: 'Версия ОС: Ядро системы' 8.19 + type: DEPENDENT 8.20 + key: aw.fbsd.version.kernel 8.21 + delay: '0' 8.22 + history: 90d 8.23 + value_type: TEXT 8.24 + trends: '0' 8.25 + preprocessing: 8.26 + - type: JSONPATH 8.27 + parameters: 8.28 + - $.kernel 8.29 + master_item: 8.30 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]' 8.31 + tags: 8.32 + - tag: Module 8.33 + value: 'FreeBSD OS Version' 8.34 + - uuid: d7fe2bdc7af04a0cb981cca668835bc7 8.35 + name: 'Версия ОС: Ядро системы, находящееся в работе' 8.36 + type: DEPENDENT 8.37 + key: aw.fbsd.version.kernel.running 8.38 + delay: '0' 8.39 + history: 90d 8.40 + value_type: TEXT 8.41 + trends: '0' 8.42 + preprocessing: 8.43 + - type: JSONPATH 8.44 + parameters: 8.45 + - $.kcurrent 8.46 + master_item: 8.47 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]' 8.48 + tags: 8.49 + - tag: Module 8.50 + value: 'FreeBSD OS Version' 8.51 + - uuid: 6e4bcce1f68b46009f79c9d563448810 8.52 + name: 'Версия ОС: Системное окружение' 8.53 + type: DEPENDENT 8.54 + key: aw.fbsd.version.userland 8.55 + delay: '0' 8.56 + history: 90d 8.57 + value_type: TEXT 8.58 + trends: '0' 8.59 + preprocessing: 8.60 + - type: JSONPATH 8.61 + parameters: 8.62 + - $.userland 8.63 + master_item: 8.64 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]' 8.65 + tags: 8.66 + - tag: Module 8.67 + value: 'FreeBSD OS Version' 8.68 + - uuid: 21140a98f99b4eadb62a632adc76fcf0 8.69 + name: 'Ошибки в системном журнале' 8.70 + type: ZABBIX_ACTIVE 8.71 + key: 'logrt["/var/log/warning_msg\.log$","@FreeBSD syslog file warning filter",utf8]' 8.72 + history: 90d 8.73 + value_type: LOG 8.74 + trends: '0' 8.75 + tags: 8.76 + - tag: Module 8.77 + value: 'Системный журнал' 8.78 + triggers: 8.79 + - uuid: a9049f62969a465ca9e7dcaa5de8a988 8.80 + expression: 'nodata(/AWNET FreeBSD Template/logrt["/var/log/warning_msg\.log$","@FreeBSD syslog file warning filter",utf8],2m)=0' 8.81 + name: 'Ошибки в системном журнале' 8.82 + opdata: '{ITEM.VALUE}' 8.83 + priority: WARNING 8.84 + - uuid: 17d8486f93914945b4ccbda2eda4d7ab 8.85 + name: 'Обновление ОС: Статус' 8.86 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"]' 8.87 + delay: 5m 8.88 + value_type: TEXT 8.89 + trends: '0' 8.90 + preprocessing: 8.91 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.92 + parameters: 8.93 + - 12h 8.94 + tags: 8.95 + - tag: Module 8.96 + value: 'FreeBSD Update' 8.97 + triggers: 8.98 + - uuid: a2f05289705041989108fc1a7984c8bc 8.99 + expression: 'last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"])<>"ОК"' 8.100 + name: 'Статус обновления ОС не оптимален' 8.101 + opdata: '{ITEM.VALUE}' 8.102 + priority: WARNING 8.103 + dependencies: 8.104 + - name: 'Требуется обновление ОС' 8.105 + expression: 'last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"])="NEED UPDATE"' 8.106 + - uuid: f37d4bcb3db74a0e82db4e766d70667e 8.107 + expression: 'last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.status"])="NEED UPDATE"' 8.108 + name: 'Требуется обновление ОС' 8.109 + priority: HIGH 8.110 + - uuid: 57dff18486ff4135b68f628aeb23b34e 8.111 + name: '_ Сырые данные по версии ОС' 8.112 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/fbsd_update.versions"]' 8.113 + delay: 5m 8.114 + history: '0' 8.115 + value_type: TEXT 8.116 + trends: '0' 8.117 + preprocessing: 8.118 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.119 + parameters: 8.120 + - 12h 8.121 + - type: JAVASCRIPT 8.122 + parameters: 8.123 + - | 8.124 + var buf = value.split('\n'); 8.125 + var res = {} 8.126 + 8.127 + for (var i in buf) { 8.128 + var _ln_buf = buf[i].trim().split('='); 8.129 + res[_ln_buf[0]] = _ln_buf[1] 8.130 + } 8.131 + 8.132 + return JSON.stringify(res) 8.133 + tags: 8.134 + - tag: Module 8.135 + value: 'FreeBSD OS Version' 8.136 + - uuid: 56b0005c135049268acef9e9f9e9e34e 8.137 + name: 'Дополнительное ПО: Статус контроля актуальности версий установленного ПО' 8.138 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update"]' 8.139 + delay: 5m 8.140 + value_type: TEXT 8.141 + trends: '0' 8.142 + preprocessing: 8.143 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.144 + parameters: 8.145 + - 12h 8.146 + tags: 8.147 + - tag: Module 8.148 + value: 'FreeBSD Packages' 8.149 + triggers: 8.150 + - uuid: a3ee871d2a924b4799ca03b64fa4a6da 8.151 + expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update"]))<>0' 8.152 + name: 'Существуют пакеты, требующие обновления' 8.153 + opdata: '{ITEM.VALUE}' 8.154 + priority: WARNING 8.155 + - uuid: 28db291bbe504d1eaaa32b89426bb487 8.156 + name: 'Дополнительное ПО: Статус аудита наличия известных уязвимостей в установленном дополнительном ПО' 8.157 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update.audit"]' 8.158 + delay: 5m 8.159 + value_type: TEXT 8.160 + trends: '0' 8.161 + preprocessing: 8.162 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.163 + parameters: 8.164 + - 12h 8.165 + tags: 8.166 + - tag: Module 8.167 + value: 'FreeBSD Packages' 8.168 + triggers: 8.169 + - uuid: 0003ac7f34434551aa79985d6262123f 8.170 + expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/pkg_update.audit"]))<>0' 8.171 + name: 'В системе установлены пакеты с известными уязвимостями' 8.172 + opdata: '{ITEM.VALUE}' 8.173 + priority: HIGH 8.174 + - uuid: ef2114c7186b4b3694ddebac39b6c8ad 8.175 + name: 'Мониторинг FreeBSD: Статус посредника' 8.176 + key: 'vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/status"]' 8.177 + delay: 5m 8.178 + history: 21d 8.179 + value_type: TEXT 8.180 + trends: '0' 8.181 + preprocessing: 8.182 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.183 + parameters: 8.184 + - 12h 8.185 + tags: 8.186 + - tag: Module 8.187 + value: 'FreeBSD Monitoring Helper' 8.188 + triggers: 8.189 + - uuid: f15f1943b2854a61be6a3b48b6d69262 8.190 + expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{$AW.FBSD.HELPER_PATH}/var/status"]))<>0' 8.191 + name: 'Во время сбора данных посредником произошли ошибки' 8.192 + opdata: '{ITEM.VALUE}' 8.193 + priority: AVERAGE 8.194 + discovery_rules: 8.195 + - uuid: 27e0563f78b146d1bd00263ea2b98e9a 8.196 + name: 'Контроль состояния активированных сервисов' 8.197 + key: 'vfs.dir.get["{$AW.FBSD.HELPER_PATH}/var/pkg_detail",,"\.audit$",file,,1]' 8.198 + delay: 5m 8.199 + item_prototypes: 8.200 + - uuid: 3415bbb02573448d81e27ea945a1f5fb 8.201 + name: 'Дополнительное ПО / {#NAME}: Дата установки пакета' 8.202 + type: DEPENDENT 8.203 + key: 'aw.fbsd.pkg.services.installed[{#NAME}]' 8.204 + delay: '0' 8.205 + units: unixtime 8.206 + preprocessing: 8.207 + - type: JSONPATH 8.208 + parameters: 8.209 + - $.installed 8.210 + master_item: 8.211 + key: 'vfs.file.contents[{#FILEPATH}]' 8.212 + tags: 8.213 + - tag: Module 8.214 + value: 'FreeBSD Packages' 8.215 + - tag: Package 8.216 + value: '{#NAME}' 8.217 + - uuid: e4b1e5283e2a4b17ac00a3b535fd912c 8.218 + name: 'Дополнительное ПО / {#NAME}: Статус блокировки пакета' 8.219 + type: DEPENDENT 8.220 + key: 'aw.fbsd.pkg.services.locked[{#NAME}]' 8.221 + delay: '0' 8.222 + valuemap: 8.223 + name: 'Статус блокировки пакета' 8.224 + preprocessing: 8.225 + - type: JSONPATH 8.226 + parameters: 8.227 + - $.locked 8.228 + master_item: 8.229 + key: 'vfs.file.contents[{#FILEPATH}]' 8.230 + tags: 8.231 + - tag: Module 8.232 + value: 'FreeBSD Packages' 8.233 + - tag: Package 8.234 + value: '{#NAME}' 8.235 + trigger_prototypes: 8.236 + - uuid: dc8fa7bc388449fa811d49314af28ed5 8.237 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.locked[{#NAME}])=1' 8.238 + name: 'Пакет {#NAME} заблокирован для обновления' 8.239 + priority: WARNING 8.240 + - uuid: d0535081d1ac4c14a4aa519571b02991 8.241 + name: 'Дополнительное ПО / {#NAME}: Ответственный разработчик' 8.242 + type: DEPENDENT 8.243 + key: 'aw.fbsd.pkg.services.mainteiner[{#NAME}]' 8.244 + delay: '0' 8.245 + value_type: TEXT 8.246 + trends: '0' 8.247 + preprocessing: 8.248 + - type: JSONPATH 8.249 + parameters: 8.250 + - $.mainteiner 8.251 + master_item: 8.252 + key: 'vfs.file.contents[{#FILEPATH}]' 8.253 + tags: 8.254 + - tag: Module 8.255 + value: 'FreeBSD Packages' 8.256 + - tag: Package 8.257 + value: '{#NAME}' 8.258 + trigger_prototypes: 8.259 + - uuid: 6484dc9e837b4ecfb793f8296985991a 8.260 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.mainteiner[{#NAME}],#2)<>last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.mainteiner[{#NAME}],#1)' 8.261 + name: 'У пакета {#NAME} сменился ответственный' 8.262 + priority: INFO 8.263 + - uuid: 69470e867f1d4433b7e6d7219602ca52 8.264 + name: 'Дополнительное ПО / {#NAME}: Репозиторий пакета' 8.265 + type: DEPENDENT 8.266 + key: 'aw.fbsd.pkg.services.repo[{#NAME}]' 8.267 + delay: '0' 8.268 + value_type: TEXT 8.269 + trends: '0' 8.270 + preprocessing: 8.271 + - type: JSONPATH 8.272 + parameters: 8.273 + - $.repo 8.274 + master_item: 8.275 + key: 'vfs.file.contents[{#FILEPATH}]' 8.276 + tags: 8.277 + - tag: Module 8.278 + value: 'FreeBSD Packages' 8.279 + - tag: Package 8.280 + value: '{#NAME}' 8.281 + trigger_prototypes: 8.282 + - uuid: 5b068e0fd4ca473babf00612fa1821a6 8.283 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.repo[{#NAME}],#2)<>last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.repo[{#NAME}],#1)' 8.284 + name: 'Изменился репозиторий пакета {#NAME}' 8.285 + priority: INFO 8.286 + - uuid: 5bb725ee69884993ba5283aae3aefa7a 8.287 + name: 'Дополнительное ПО / {#NAME}: Размер пакета' 8.288 + type: DEPENDENT 8.289 + key: 'aw.fbsd.pkg.services.size[{#NAME}]' 8.290 + delay: '0' 8.291 + units: B 8.292 + preprocessing: 8.293 + - type: JSONPATH 8.294 + parameters: 8.295 + - $.size 8.296 + master_item: 8.297 + key: 'vfs.file.contents[{#FILEPATH}]' 8.298 + tags: 8.299 + - tag: Module 8.300 + value: 'FreeBSD Packages' 8.301 + - tag: Package 8.302 + value: '{#NAME}' 8.303 + - uuid: 6bc473bc4067419294f129b3aa80edbf 8.304 + name: 'Дополнительное ПО / {#NAME}: Статус пакета' 8.305 + type: DEPENDENT 8.306 + key: 'aw.fbsd.pkg.services.status[{#NAME}]' 8.307 + delay: '0' 8.308 + value_type: TEXT 8.309 + trends: '0' 8.310 + preprocessing: 8.311 + - type: JSONPATH 8.312 + parameters: 8.313 + - $.status 8.314 + master_item: 8.315 + key: 'vfs.file.contents[{#FILEPATH}]' 8.316 + tags: 8.317 + - tag: Module 8.318 + value: 'FreeBSD Packages' 8.319 + - tag: Package 8.320 + value: '{#NAME}' 8.321 + trigger_prototypes: 8.322 + - uuid: 8e54df4ea92e4a10bde8bada7d56ab5b 8.323 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="NEED UPDATE"' 8.324 + name: 'Пакет {#NAME} требует обновления' 8.325 + priority: AVERAGE 8.326 + - uuid: 88294d630f9d46078aaaca2b5e119e94 8.327 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="ERROR"' 8.328 + name: 'Статус пакета {#NAME} не может быть получен' 8.329 + priority: WARNING 8.330 + - uuid: aa02a5e035554053bbe0bb70bc4e37d5 8.331 + 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"' 8.332 + name: 'Статус пакета {#NAME} не оптимален' 8.333 + priority: WARNING 8.334 + dependencies: 8.335 + - name: 'Пакет {#NAME} требует обновления' 8.336 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="NEED UPDATE"' 8.337 + - name: 'Статус пакета {#NAME} не может быть получен' 8.338 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.pkg.services.status[{#NAME}])="ERROR"' 8.339 + - uuid: 2baa4f2b386944f9943c7367b5dce632 8.340 + name: 'Дополнительное ПО / {#NAME}: Версия пакета' 8.341 + type: DEPENDENT 8.342 + key: 'aw.fbsd.pkg.services.ver[{#NAME}]' 8.343 + delay: '0' 8.344 + value_type: TEXT 8.345 + trends: '0' 8.346 + preprocessing: 8.347 + - type: JSONPATH 8.348 + parameters: 8.349 + - $.ver 8.350 + master_item: 8.351 + key: 'vfs.file.contents[{#FILEPATH}]' 8.352 + tags: 8.353 + - tag: Module 8.354 + value: 'FreeBSD Packages' 8.355 + - tag: Package 8.356 + value: '{#NAME}' 8.357 + - uuid: 48c7bf3ee0be46bfa5a97d6e1cfe4472 8.358 + name: 'Дополнительное ПО / {#NAME}: Статус аудита на наличие уязвимостей' 8.359 + key: 'vfs.file.contents["{#FILEPATH}.audit"]' 8.360 + delay: 5m 8.361 + value_type: TEXT 8.362 + trends: '0' 8.363 + preprocessing: 8.364 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.365 + parameters: 8.366 + - 12h 8.367 + tags: 8.368 + - tag: Module 8.369 + value: 'FreeBSD Packages' 8.370 + - tag: Package 8.371 + value: '{#NAME}' 8.372 + trigger_prototypes: 8.373 + - uuid: 67a535b0206d4d25b18f1e1d2df05eae 8.374 + expression: 'length(last(/AWNET FreeBSD Template/vfs.file.contents["{#FILEPATH}.audit"]))<>0' 8.375 + name: 'Пакет {#NAME} имеет известные уязвимости' 8.376 + priority: HIGH 8.377 + - uuid: 2d63f4f435ec4168bc1a6ce0eb4deddb 8.378 + name: '_ Дополнительное ПО / {#NAME}: Сырые данные' 8.379 + key: 'vfs.file.contents[{#FILEPATH}]' 8.380 + delay: 5m 8.381 + history: '0' 8.382 + value_type: TEXT 8.383 + trends: '0' 8.384 + preprocessing: 8.385 + - type: DISCARD_UNCHANGED_HEARTBEAT 8.386 + parameters: 8.387 + - 12h 8.388 + - type: JAVASCRIPT 8.389 + parameters: 8.390 + - | 8.391 + var buf = value.split('\n'); 8.392 + var res = {} 8.393 + 8.394 + for (var i in buf) { 8.395 + var _ln_buf = buf[i].trim().split('='); 8.396 + res[_ln_buf[0]] = _ln_buf[1] 8.397 + } 8.398 + return JSON.stringify(res) 8.399 + tags: 8.400 + - tag: Module 8.401 + value: 'FreeBSD Packages' 8.402 + - tag: Package 8.403 + value: '{#NAME}' 8.404 + trigger_prototypes: 8.405 + - uuid: 2d3d49dab3c1482a92ad8c5ebfcf9ab7 8.406 + 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)' 8.407 + recovery_mode: RECOVERY_EXPRESSION 8.408 + 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)' 8.409 + name: 'Пакет {#NAME} обновлён' 8.410 + priority: INFO 8.411 + lld_macro_paths: 8.412 + - lld_macro: '{#FILEPATH}' 8.413 + path: $.pathname 8.414 + - lld_macro: '{#NAME}' 8.415 + path: $.basename 8.416 + macros: 8.417 + - macro: '{$AW.FBSD.HELPER_PATH}' 8.418 + value: /opt/aw.fbsd-mon-helper 8.419 + description: 'Путь к каталогу посредника мониторинга' 8.420 + - macro: '{$AW.FBSD.IGNORE_PKGS}' 8.421 + description: 'Регулярка игнорируемых пакетов при выдаче информации о пакетах, требующих обновления' 8.422 + valuemaps: 8.423 + - uuid: c9a1a4e83e2745b6b8f90c3be826323a 8.424 + name: 'Статус блокировки пакета' 8.425 + mappings: 8.426 + - value: '0' 8.427 + newvalue: '✅️ ОК' 8.428 + - value: '1' 8.429 + newvalue: '⚠️ Пакет заблокирован для обновления' 8.430 + triggers: 8.431 + - uuid: f061b328bf4b490499b947601149d048 8.432 + expression: 'last(/AWNET FreeBSD Template/aw.fbsd.version.kernel) <> last(/AWNET FreeBSD Template/aw.fbsd.version.kernel.running)' 8.433 + name: 'Ядро системы, находящееся в работе, не соответствует установленному.' 8.434 + opdata: 'Установлено: "{ITEM.LASTVALUE1}": в работе: "{ITEM.LASTVALUE2}"' 8.435 + priority: WARNING