scline / llama-sd Goto Github PK
View Code? Open in Web Editor NEWLLAMA Service Discovery
LLAMA Service Discovery
Need to split the scraper process out to a 1:1 probe ratio so aggressive timers do not time out and miss data.
We kill HUP the collector when a configuration change is seen. It appears LLAMA Collector process does not evaluate the configuration value for Interval. As a temporary fix we should perform a full kill -9
.
This can lower bandwidth usage greatly depending on the environment and data collection speeds required.
Auto-restart the scraper container in the event number targets don't equal the number of running scraper processes (i.e. one crashed). Make sure API is available before the restart is done.
This does not appear to work with InfluxDB 2.0 so 1.8 needs to be utilized as a backend.
2021-10-23 16:37:50,808 DEBUG waitress-1: Config request from 'xx.xx.xx.xx:8100'
2021-10-23 16:37:50,809 ERROR waitress-1: Exception on /api/v1/config/scline [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.9/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/app/./app.py", line 207, in api_config
database_tmp[group][remote_id]["tags"]["src_name"] = database_tmp[group][requesting_probe_id]["tags"]["probe_name"]
KeyError: 'xx.xx.xx.xx:8100'
Probe ports are hard-coded to 8100 for now due to groups needing all the same ports.
So users don't need to mess with NAT Pinholes, have the llama-server automatically replace the requesting node's destination IP to 127.0.0.1
When writing to the the dictionary variable the secondary cleanup thread errors if updated at the same time.
Exception in thread CleanThread:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/app/./app.py", line 128, in clean_stale_probes
for probe in database:
RuntimeError: dictionary changed size during iteration
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.