<p></p>
<blockquote>
<p><em>This is a Bisq Network project. Please familiarize yourself with the <a href="https://bisq.wiki/Project_management" rel="nofollow">project management process</a>.</em></p>
</blockquote>
<h2>Description</h2>
<p>A light weight and stable monitor for seed nodes to detect if a seed node is not in the expected state. Instead of requesting the data itself which is pretty heavy we request to send an inventory list of the number of p2p data objects as well as other relevant data. We include also some performance and load relevant data.<br>
If a seed node is not in the expected state it sends an alert/notification to the operator.</p>
<h2>Rationale</h2>
<p>We have 2 monitor projects [<a href="https://monitor.bisq.network/" rel="nofollow">1</a>], [<a href="http://104.248.88.175/" rel="nofollow">2</a>] (as well a ping monitor used by <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/wiz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wiz">@wiz</a>) for monitoring seed nodes. But both do not provide the quality that it can be used for notifications as they produce too many false positives. Also those monitor projects request all the data causing heavy load for the seed nodes and the monitor itself, which is probably a main reason why they are not as stable as they should be.</p>
<h2>Criteria for delivery</h2>
<p>It is alreay implemented in a basic form. See below the open tasks we want to add.<br>
Current URL: <a href="http://46.101.179.224/" rel="nofollow">http://46.101.179.224/</a><br>
Source: <a href="https://github.com/chimp1984/bisq/tree/add-InventoryMonitor-module">https://github.com/chimp1984/bisq/tree/add-InventoryMonitor-module</a></p>
<h2>Measures of success</h2>
<p>That notifications if issues with a seed node can be sent to operators without a high rate of false positives. It cannot be excluded that some alerts might be un-critical due the nature of the data and uncertainties with blockchain related data. See below at the data type and priority descriptions.</p>
<h2>Risks</h2>
<p>I don't see any risk here.</p>
<h2>Tasks</h2>
<ul>
<li>Rethink the file name strategy for json files. Json files are written with the timestamp in ms as file name. A better approach for dealing with historical data would be to use a global persisted counter and use that as file name.</li>
<li>Add checks for data deviations (get average data of all seeds per request and compare individual how far it is away from average. maybe use past requests as well for certain data?). Apply level of warning/alert</li>
<li>Add notification via keybase for alerts. First use a new custom channel to not spam ops while developing. Once false positive rate is low enough point to ops</li>
<li>Add web app reading the json data and displaying recent request results</li>
<li>Add a sub view (on top) with compressed warnings/alerts info. Should be empty most of the time (e.g. "all seeds are ok").</li>
<li>Add support for displaying historical data. Show the warnings/alerts info summary seems to be the most important.</li>
<li>Add button to zoom into a request cycle to see details data</li>
<li>Remove http server from java app once not needed anymore</li>
</ul>
<h2>Estimates</h2>
<p>I will delay all my comp. requests until Bisq is more profitable, so from my side there is no budget needed.<br>
<a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/jmacxx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmacxx">@jmacxx</a> Could you add a very rough estimation for your efforts?</p>
<h2>Notes</h2>
<p>[1] <a href="https://monitor.bisq.network/" rel="nofollow">https://monitor.bisq.network/</a><br>
[2] <a href="http://104.248.88.175/" rel="nofollow">http://104.248.88.175/</a></p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/projects/issues/45">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNVXSDLKA2TEX5N7JMLSLJOMVANCNFSM4SUZJWNQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNU7CSOESSPACN6VWVDSLJOMVA5CNFSM4SUZJWN2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4KZFYQTA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/projects/issues/45",
"url": "https://github.com/bisq-network/projects/issues/45",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>