14 Commits

9 changed files with 92 additions and 8 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]")

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,35 @@
<!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 "2020.11.25.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 "461b54aefdcad0e23d9da9c0047cb6c7">
]> ]>
<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;
### &version;
- 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.
### 2010.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 +55,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>