Move apps-related templates to applications dir and add yggdrasil template and helpers.
This commit is contained in:
15 files changed
+193
No files matched your search
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,27 @@
|
|||||||
|
# Yggdrasil monitoring things
|
||||||
|
|
||||||
|
This directory contains everything you need to monitor status of your Yggdrasil
|
||||||
|
node.
|
||||||
|
|
||||||
|
## Helper scripts
|
||||||
|
|
||||||
|
There are two helper scripts that should be placed somewhere. Don't forget about
|
||||||
|
`+x`!
|
||||||
|
|
||||||
|
* yggdrasil_peers.sh - returns number of connected peers.
|
||||||
|
* yggdrasil_traffic.sh - returns traffic calculation. Accepts `incoming` or `outgoing`
|
||||||
|
as first parameter.
|
||||||
|
|
||||||
|
Both scripts use `yggdrasilctl` binary and parse it's output.
|
||||||
|
|
||||||
|
## Configure nxagent
|
||||||
|
|
||||||
|
Add this to `/etc/nxagentd.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
ExternalParameterShellExec=Yggdrasil.GetBytesReceived():/usr/local/bin/yggdrasil_traffic.sh incoming
|
||||||
|
ExternalParameterShellExec=Yggdrasil.GetBytesSent():usr/local/bin/yggdrasil_traffic.sh outgoing
|
||||||
|
ExternalParameterShellExec=Yggdrasil.GetConnectedPeersCount():/usr/local/bin/yggdrasil_peers.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Don't forget to restart NetXMS agent!**
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<configuration>
|
||||||
|
<formatVersion>4</formatVersion>
|
||||||
|
<server>
|
||||||
|
<version>3.6.300</version>
|
||||||
|
<buildTag>3.6-300-g287f599693</buildTag>
|
||||||
|
<operatingSystem>Linux 4.19.0-13-amd64</operatingSystem>
|
||||||
|
</server>
|
||||||
|
<description></description>
|
||||||
|
<events>
|
||||||
|
</events>
|
||||||
|
<templates>
|
||||||
|
<template id="542">
|
||||||
|
<guid>cde6ca5a-ea94-4c50-a67b-432f4af86def</guid>
|
||||||
|
<name>Yggdrasil</name>
|
||||||
|
<flags>0</flags>
|
||||||
|
<comments></comments>
|
||||||
|
<path>
|
||||||
|
<element id="1">Applications</element>
|
||||||
|
</path>
|
||||||
|
<dataCollection>
|
||||||
|
<dci id="5401">
|
||||||
|
<guid>4dcbdcd8-6a16-4f28-a6cc-1e6eee90365e</guid>
|
||||||
|
<name>Yggdrasil.GetBytesReceived()</name>
|
||||||
|
<description>Yggdrasil: bytes received</description>
|
||||||
|
<dataType>8</dataType>
|
||||||
|
<samples>0</samples>
|
||||||
|
<origin>1</origin>
|
||||||
|
<scheduleType>0</scheduleType>
|
||||||
|
<interval></interval>
|
||||||
|
<retentionType>0</retentionType>
|
||||||
|
<retention></retention>
|
||||||
|
<instance></instance>
|
||||||
|
<systemTag></systemTag>
|
||||||
|
<delta>2</delta>
|
||||||
|
<flags>0</flags>
|
||||||
|
<snmpRawValueType>0</snmpRawValueType>
|
||||||
|
<snmpPort>0</snmpPort>
|
||||||
|
<snmpVersion>127</snmpVersion>
|
||||||
|
<instanceDiscoveryMethod>0</instanceDiscoveryMethod>
|
||||||
|
<instanceRetentionTime>-1</instanceRetentionTime>
|
||||||
|
<comments></comments>
|
||||||
|
<isDisabled>false</isDisabled>
|
||||||
|
<transformation></transformation>
|
||||||
|
<perfTabSettings><config>
 <enabled>false</enabled>
 <autoScale>true</autoScale>
 <logScaleEnabled>false</logScaleEnabled>
 <stacked>false</stacked>
 <showLegendAlways>false</showLegendAlways>
 <extendedLegend>true</extendedLegend>
 <minYScaleValue>0.0</minYScaleValue>
 <maxYScaleValue>100.0</maxYScaleValue>
 <timeRange>1</timeRange>
 <timeUnits>1</timeUnits>
 <type>0</type>
 <color>49152</color>
 <title></title>
 <name></name>
 <showThresholds>false</showThresholds>
 <groupName></groupName>
 <order>100</order>
 <parentDciId>0</parentDciId>
 <modifyYBase>false</modifyYBase>
 <invertedValues>false</invertedValues>
</config></perfTabSettings>
|
||||||
|
<instanceDiscoveryData></instanceDiscoveryData>
|
||||||
|
<instanceFilter></instanceFilter>
|
||||||
|
</dci>
|
||||||
|
<dci id="5402">
|
||||||
|
<guid>9f2c0fb1-5d9b-440f-956e-c393b7bed211</guid>
|
||||||
|
<name>Yggdrasil.GetBytesSent()</name>
|
||||||
|
<description>Yggdrasil: bytes sent</description>
|
||||||
|
<dataType>8</dataType>
|
||||||
|
<samples>0</samples>
|
||||||
|
<origin>1</origin>
|
||||||
|
<scheduleType>0</scheduleType>
|
||||||
|
<interval></interval>
|
||||||
|
<retentionType>0</retentionType>
|
||||||
|
<retention></retention>
|
||||||
|
<instance></instance>
|
||||||
|
<systemTag></systemTag>
|
||||||
|
<delta>2</delta>
|
||||||
|
<flags>0</flags>
|
||||||
|
<snmpRawValueType>0</snmpRawValueType>
|
||||||
|
<snmpPort>0</snmpPort>
|
||||||
|
<snmpVersion>127</snmpVersion>
|
||||||
|
<instanceDiscoveryMethod>0</instanceDiscoveryMethod>
|
||||||
|
<instanceRetentionTime>-1</instanceRetentionTime>
|
||||||
|
<comments></comments>
|
||||||
|
<isDisabled>false</isDisabled>
|
||||||
|
<transformation></transformation>
|
||||||
|
<perfTabSettings><config>
 <enabled>false</enabled>
 <autoScale>true</autoScale>
 <logScaleEnabled>false</logScaleEnabled>
 <stacked>false</stacked>
 <showLegendAlways>false</showLegendAlways>
 <extendedLegend>true</extendedLegend>
 <minYScaleValue>0.0</minYScaleValue>
 <maxYScaleValue>100.0</maxYScaleValue>
 <timeRange>1</timeRange>
 <timeUnits>1</timeUnits>
 <type>0</type>
 <color>49152</color>
 <title></title>
 <name></name>
 <showThresholds>false</showThresholds>
 <groupName></groupName>
 <order>100</order>
 <parentDciId>0</parentDciId>
 <modifyYBase>false</modifyYBase>
 <invertedValues>false</invertedValues>
</config></perfTabSettings>
|
||||||
|
<instanceDiscoveryData></instanceDiscoveryData>
|
||||||
|
<instanceFilter></instanceFilter>
|
||||||
|
</dci>
|
||||||
|
<dci id="5403">
|
||||||
|
<guid>dc1efc30-1a8b-4bc0-98c5-a02d0ee44311</guid>
|
||||||
|
<name>Yggdrasil.GetConnectedPeersCount()</name>
|
||||||
|
<description>Yggdrasil: connected peers</description>
|
||||||
|
<dataType>8</dataType>
|
||||||
|
<samples>0</samples>
|
||||||
|
<origin>1</origin>
|
||||||
|
<scheduleType>0</scheduleType>
|
||||||
|
<interval></interval>
|
||||||
|
<retentionType>0</retentionType>
|
||||||
|
<retention></retention>
|
||||||
|
<instance></instance>
|
||||||
|
<systemTag></systemTag>
|
||||||
|
<delta>0</delta>
|
||||||
|
<flags>0</flags>
|
||||||
|
<snmpRawValueType>0</snmpRawValueType>
|
||||||
|
<snmpPort>0</snmpPort>
|
||||||
|
<snmpVersion>127</snmpVersion>
|
||||||
|
<instanceDiscoveryMethod>0</instanceDiscoveryMethod>
|
||||||
|
<instanceRetentionTime>-1</instanceRetentionTime>
|
||||||
|
<comments></comments>
|
||||||
|
<isDisabled>false</isDisabled>
|
||||||
|
<transformation></transformation>
|
||||||
|
<perfTabSettings><config>
 <enabled>false</enabled>
 <autoScale>true</autoScale>
 <logScaleEnabled>false</logScaleEnabled>
 <stacked>false</stacked>
 <showLegendAlways>false</showLegendAlways>
 <extendedLegend>true</extendedLegend>
 <minYScaleValue>0.0</minYScaleValue>
 <maxYScaleValue>100.0</maxYScaleValue>
 <timeRange>1</timeRange>
 <timeUnits>1</timeUnits>
 <type>0</type>
 <color>49152</color>
 <title></title>
 <name></name>
 <showThresholds>false</showThresholds>
 <groupName></groupName>
 <order>100</order>
 <parentDciId>0</parentDciId>
 <modifyYBase>false</modifyYBase>
 <invertedValues>false</invertedValues>
</config></perfTabSettings>
|
||||||
|
<instanceDiscoveryData></instanceDiscoveryData>
|
||||||
|
<instanceFilter></instanceFilter>
|
||||||
|
</dci>
|
||||||
|
</dataCollection>
|
||||||
|
<agentPolicies>
|
||||||
|
</agentPolicies>
|
||||||
|
<filter autoBind="0" autoUnbind="0"></filter>
|
||||||
|
</template>
|
||||||
|
</templates>
|
||||||
|
<traps>
|
||||||
|
</traps>
|
||||||
|
<rules>
|
||||||
|
</rules>
|
||||||
|
<scripts>
|
||||||
|
</scripts>
|
||||||
|
<objectTools>
|
||||||
|
</objectTools>
|
||||||
|
<dciSummaryTables>
|
||||||
|
</dciSummaryTables>
|
||||||
|
<actions>
|
||||||
|
</actions>
|
||||||
|
<webServiceDefinitions>
|
||||||
|
</webServiceDefinitions>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
YGGDRASIL=$(which yggdrasilctl)
|
||||||
|
|
||||||
|
if [ "${YGGDRASIL}" == "" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $[ $(${YGGDRASIL} getpeers | wc -l) - 1 ]
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
YGGDRASIL=$(which yggdrasilctl)
|
||||||
|
if [ "${YGGDRASIL}" == "" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
incoming=0
|
||||||
|
outgoing=0
|
||||||
|
|
||||||
|
KNOWN=$(${YGGDRASIL} getpeers | tail -n +2)
|
||||||
|
|
||||||
|
export IFS=$'\n'
|
||||||
|
for line in ${KNOWN[@]}; do
|
||||||
|
if [ "$1" == "incoming" ]; then
|
||||||
|
incoming=$[ ${incoming}+$(echo ${line} | awk {' print $2 '}) ]
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" == "outgoing" ]; then
|
||||||
|
outgoing=$[ ${outgoing}+$(echo ${line} | awk {' print $3 '}) ]
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
incoming)
|
||||||
|
echo $incoming
|
||||||
|
;;
|
||||||
|
outgoing)
|
||||||
|
echo $outgoing
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "First parameter should be 'incoming' or 'outgoing'!"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Reference in new issue
Block a user