17 Commits

Author SHA1 Message Date
55cc07022a Merge branch 'main' into stable 2024-12-19 11:58:13 +01:00
1d982b26d2 Version 2024.12.19.1 2024-12-19 11:20:55 +01:00
81b295f4a3 Gracefully fail if diskload.ini is not available. 2024-12-19 09:48:42 +01:00
c49e905391 Merge branch 'main' into stable 2020-11-25 11:51:44 +01:00
71e652c94f Version 2020.11.25.1. 2020-11-25 06:51:18 +01:00
3259126b5f Updated zabbix_agent from 5.0.3 to 5.2.1. 2020-11-25 06:49:45 +01:00
6f4dc0fead You can now put a custom config file snippet at /boot/config/plugins/zabbix_agent/zabbix_agentd.custom.conf. 2020-11-25 06:29:57 +01:00
b4c2718f5b Version 2020.10.31.1 2020-10-31 12:01:20 +01:00
bd89975596 Fixed the removal of old packages during plugin update. 2020-10-31 11:58:27 +01:00
3de70efa44 Added an endpoint for UPS stats. 2020-10-31 11:57:54 +01:00
864d4385c3 The plugin will now be auto-updated from stable branch instead of main. 2020-10-31 11:57:21 +01:00
5f64422efd Added reminder to fill the changelog to build.sh 2020-10-31 11:56:05 +01:00
26f3a29a61 Updates zabbix_agentd from version 5.0.2 to 5.0.3. 2020-09-07 06:21:55 +02:00
04fc38f69a Merge branch 'main' of https://git.schle.nz/fabian/unraid-zabbix_agent into main 2020-09-05 14:46:34 +02:00
046fc6daa6 Version 2020.09.05.1 2020-09-05 14:44:34 +02:00
a1f6fa71a8 Updated zabbix_template.xml 2020-09-05 14:42:34 +02:00
bc40534bce Added field 'running' to qemu.disk. 2020-09-05 14:42:20 +02:00
9 changed files with 102 additions and 10 deletions

View File

@ -37,3 +37,5 @@ echo
read md5 _ < <(md5sum "$FILE") read md5 _ < <(md5sum "$FILE")
echo "MD5 of the resulting file for the plugin file: $md5" echo "MD5 of the resulting file for the plugin file: $md5"
echo "Run this tool again to validate the MD5 value from the plugin file." echo "Run this tool again to validate the MD5 value from the plugin file."
echo
echo "Please remember to fill the changelog in zabbix_agent.plg."

View File

@ -19,6 +19,8 @@ AllowKey=vfs.fs.*[*]
AllowKey=vm.memory.size[*] AllowKey=vm.memory.size[*]
AllowKey=unraid.* AllowKey=unraid.*
AllowKey=unraid.*[*] AllowKey=unraid.*[*]
AllowKey=custom.*
AllowKey=custom.*[*]
DenyKey=* DenyKey=*
@ -28,3 +30,6 @@ UserParameter=unraid.disks.totals,/usr/local/emhttp/plugins/zabbix_agent/scripts
UserParameter=unraid.qemu.discovery,/usr/local/emhttp/plugins/zabbix_agent/scripts/qemu.discovery.sh UserParameter=unraid.qemu.discovery,/usr/local/emhttp/plugins/zabbix_agent/scripts/qemu.discovery.sh
UserParameter=unraid.qemu[*],/usr/local/emhttp/plugins/zabbix_agent/scripts/qemu.sh "$1" UserParameter=unraid.qemu[*],/usr/local/emhttp/plugins/zabbix_agent/scripts/qemu.sh "$1"
UserParameter=unraid.temperatures,/usr/local/emhttp/plugins/zabbix_agent/scripts/temperatures.sh UserParameter=unraid.temperatures,/usr/local/emhttp/plugins/zabbix_agent/scripts/temperatures.sh
UserParameter=unraid.ups,/usr/local/emhttp/plugins/zabbix_agent/scripts/ups.sh
Include=/boot/config/plugins/zabbix_agent/*.custom.conf

View File

@ -9,7 +9,7 @@ while read line; do
if [ $found = 1 ]; then if [ $found = 1 ]; then
[ $fsFree -ge 0 ] && [ $fsSize -ge 0 ] && fsUsed=$(( $fsSize - $fsFree )) [ $fsFree -ge 0 ] && [ $fsSize -ge 0 ] && fsUsed=$(( $fsSize - $fsFree ))
echo -n '{"device":"'$device'", "name":"'$name'", "status":"'$status'", "temp":'$temp', "size":'$size', "num_reads":'$num_reads', ' echo -n '{"device":"'$device'", "name":"'$name'", "status":"'$status'", "temp":'$temp', "size":'$size', "num_reads":'$num_reads', '
echo -n '"num_writes":'$num_writes', "num_errors":'$num_errors', "type":"'$type'", "fs_size":'$fsSize', "fs_free":'$fsFree', "fs_used":'$fsUsed', ' echo -n '"num_writes":'$num_writes', "num_errors":'$num_errors', "type":"'$type'", "fs_size":'$fsSize', "fs_free":'$fsFree', "fs_used":'$fsUsed', "running":'$running', '
break break
else else
device='' device=''
@ -24,6 +24,7 @@ while read line; do
fsSize=-1 fsSize=-1
fsFree=-1 fsFree=-1
fsUsed=-1 fsUsed=-1
running=-1
fi fi
else else
while IFS="=" read key value; do while IFS="=" read key value; do
@ -41,6 +42,12 @@ while read line; do
[ $key = "type" ] && type="$value" [ $key = "type" ] && type="$value"
[ $key = "fsSize" ] && fsSize=$(( $value * 1024 )) [ $key = "fsSize" ] && fsSize=$(( $value * 1024 ))
[ $key = "fsFree" ] && fsFree=$(( $value * 1024 )) [ $key = "fsFree" ] && fsFree=$(( $value * 1024 ))
if [ $key = "color" ]; then
case "$value" in
green-on) running=1;;
green-blink) running=0;;
esac
fi
done <<< "$line" done <<< "$line"
fi fi
done < <(cat /var/local/emhttp/disks.ini ; echo "[empty]") done < <(cat /var/local/emhttp/disks.ini ; echo "[empty]")
@ -50,5 +57,9 @@ if [ $found = 0 ]; then
exit 1 exit 1
fi fi
read bytes_read bytes_written _ < <(grep $device"=" /var/local/emhttp/diskload.ini | cut -d"=" -f2) if [ -e /var/local/emhttp/diskload.ini ]; then
echo '"bytes_reading":'$bytes_read', "bytes_writing":'$bytes_written'}' read bytes_read bytes_written _ < <(grep $device"=" /var/local/emhttp/diskload.ini | cut -d"=" -f2)
echo '"bytes_reading":'$bytes_read', "bytes_writing":'$bytes_written'}'
else
echo '"diskload_missing":1}'
fi

View File

@ -0,0 +1,15 @@
#!/bin/bash
echo -n '{"connected":true'
apcaccess | while read key _ value unit _; do
#echo $key - $value - $unit
case "$key" in
"STATUS") echo -n ", \"status\":\"$value\"" ;;
"LOADPCT") echo -n ", \"loadpct\":$value" ;;
"BCHARGE") echo -n ", \"bcharge\":$value" ;;
"TIMELEFT") echo -n ", \"timeleft\":$value" ;;
"BATTV") echo -n ", \"battv\":$value" ;;
"LINEV") echo -n ", \"linev\":$value" ;;
esac
done
echo "}"

Binary file not shown.

Binary file not shown.

View File

@ -4,18 +4,39 @@
<!ENTITY name "zabbix_agent"> <!ENTITY name "zabbix_agent">
<!ENTITY author "fabianonline"> <!ENTITY author "fabianonline">
<!ENTITY plgauthor "fabianonline"> <!ENTITY plgauthor "fabianonline">
<!ENTITY baseURL "https://git.schle.nz/fabian/unraid-zabbix_agent/raw/branch/main"> <!ENTITY baseURL "https://git.schle.nz/fabian/unraid-zabbix_agent/raw/branch/stable">
<!ENTITY pluginURL "&baseURL;/zabbix_agent.plg"> <!ENTITY pluginURL "&baseURL;/zabbix_agent.plg">
<!ENTITY version "2020.08.22.1"> <!ENTITY version "2024.12.19.1">
<!ENTITY packageName "zabbix_agent-&version;-x86_64-1.txz"> <!ENTITY packageName "zabbix_agent-&version;-x86_64-1.txz">
<!ENTITY packageURL "&baseURL;/&packageName;"> <!ENTITY packageURL "&baseURL;/&packageName;">
<!ENTITY packageMD5 "1aae2b12fb6827c934d1e70c9c7ab15a"> <!ENTITY packageMD5 "6e3a4e4b7712ec531a6da1ff946cf0a2">
]> ]>
<PLUGIN name="&name;" author="&author;" version="&version;" pluginURL="&pluginURL;" packageMD5="&packageMD5;"> <PLUGIN name="&name;" author="&author;" version="&version;" pluginURL="&pluginURL;" packageMD5="&packageMD5;">
<CHANGES> <CHANGES>
##&name; ## &name;
### 2024.12.19.1
- Sometimes, diskload.ini is not available (at least in Unraid 6.12.6). In that case we now skip omitting disk load data
in order to still omit valid JSON.
### 2020.11.25.1
- You can now add a custom zabbix agent configuration file at /boot/config/plugins/zabbix_agent/zabbix_agentd.custom.conf.
It won't be overwritten by a future update of this plugin. Please note that the list of usable keys is heavily restricted
in zabbix_agentd.conf. To have your custom UserParameters accessible, you can either:
- Name them custom.$whatever.
- Add the key to the whitelist via AllowKey.
- Updated zabbix_agentd from 5.0.3 to 5.2.1.
### 2020.10.31.1
- Updated zabbix_agentd from 5.0.2 to 5.0.3
- Download updated plugins from stable instead of main.
- Fixed removal of old plugin packages during updates.
- Added new zabbix endpoint unraid.ups
### 2020.09.05.1
- Added a new field 'running' to qemu.disk
### 2020.08.11 ### 2020.08.11
- Added system temperature metrics. Note: These will only work if you have the Dynamix System Temperature plugin installed. - Added system temperature metrics. Note: These will only work if you have the Dynamix System Temperature plugin installed.
@ -38,7 +59,7 @@ if [ -e /boot/config/plugins/zabbix_agent/&packageName; ]; then
echo "Package already exists." echo "Package already exists."
else else
echo "Current &packageName; not found; removing old packages (if existing)." echo "Current &packageName; not found; removing old packages (if existing)."
rm /boot/config/plugins/zabbix_agent/*.package.tgz rm /boot/config/plugins/zabbix_agent/*.txz
echo "Downloading current package..." echo "Downloading current package..."
fi fi
</INLINE></FILE> </INLINE></FILE>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<zabbix_export> <zabbix_export>
<version>5.0</version> <version>5.0</version>
<date>2020-08-28T19:01:50Z</date> <date>2020-09-05T12:40:25Z</date>
<groups> <groups>
<group> <group>
<name>Templates</name> <name>Templates</name>
@ -592,6 +592,29 @@
<key>unraid.disk[{#ID}]</key> <key>unraid.disk[{#ID}]</key>
</master_item> </master_item>
</item_prototype> </item_prototype>
<item_prototype>
<name>Disk {#ID} running</name>
<type>DEPENDENT</type>
<key>unraid.disk[{#ID},running]</key>
<delay>0</delay>
<applications>
<application>
<name>Disks</name>
</application>
</applications>
<valuemap>
<name>Yes/No</name>
</valuemap>
<preprocessing>
<step>
<type>JSONPATH</type>
<params>$.running</params>
</step>
</preprocessing>
<master_item>
<key>unraid.disk[{#ID}]</key>
</master_item>
</item_prototype>
<item_prototype> <item_prototype>
<name>Disk {#ID} size</name> <name>Disk {#ID} size</name>
<type>DEPENDENT</type> <type>DEPENDENT</type>
@ -903,4 +926,19 @@ return j.cpu_time / j.cpus * 100;</params>
</discovery_rules> </discovery_rules>
</template> </template>
</templates> </templates>
<value_maps>
<value_map>
<name>Yes/No</name>
<mappings>
<mapping>
<value>0</value>
<newvalue>No</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Yes</newvalue>
</mapping>
</mappings>
</value_map>
</value_maps>
</zabbix_export> </zabbix_export>