javiplx / ameba-c3 Goto Github PK
View Code? Open in Web Editor NEWAmeba Command and Control Center
License: GNU General Public License v2.0
Ameba Command and Control Center
License: GNU General Public License v2.0
Error messages captured from server do carry an extra endline character, so empty lines are displayed between error lines
Implement a stats-collector callback, able to append the node to the specified metric configuration files, and call RRDcreate.
The python client lacks the --request option created for the shell client
Add other registration parameters such as metrics and services to the configuration
Allow authentication bundled in repository url. That is map http://server/path/valid_UUID into authorization for http://server/path (similar to nokia-binaries url for maemo SDK)
implement registration profiles, to get simpler registering command lines.
Profile should be updatable, so if non existing, only warning will be returned.
Traceback (most recent call last):
File "/usr/bin/aupd", line 464, in <module>
if not command[ subcmd ]( config , options , args ) :
File "/usr/bin/aupd", line 337, in pull
ret = amebaC3_client.client.pull ( _url , _uuid , _cmds.split(',') , outdated_retcode )
File "/usr/lib/python2.5/site-packages/amebaC3_client/client.py", line 125, in pull
sessid , delay = login( url , uuid )
File "/usr/lib/python2.5/site-packages/amebaC3_client/client.py", line 64, in login
res = urllib2.urlopen( req )
File "/usr/lib/python2.5/urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "/usr/lib/python2.5/urllib2.py", line 381, in open
response = self._open(req, data)
File "/usr/lib/python2.5/urllib2.py", line 399, in _open
'_open', req)
File "/usr/lib/python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
File "/usr/lib/python2.5/urllib2.py", line 1107, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.5/urllib2.py", line 1082, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error (110, 'Connection timed out')>
Extend the nagios callback to register node services (www, mysql, etc).
The distribution string on the client spec is 'el5', without leading dot
The option --store is not implemented, although utility is probably reduced.
Although exception handling allows nonworking callbacks to be installed, it is desirable to have some mechanism to select which callbacks must be run, instead of trying to execute all the available ones.
The loginout function on client library should sleep if a delay is given along session id
Error conditions are not properly handled.
If a server error happens processing the request, the session below is produced
root@MeshWeb30:/tmp# ./ameba-updater.sh -r -m avgload,netstat,test,meminfo-24 register http://r26936.ovh.net/amebaC3
wget: server returned error: HTTP/1.1 500 Internal Server Error
sed: /tmp/aupd.response.4086: No such file or directory
grep: /tmp/aupd.response.4086: No such file or directory
root@MeshWeb30:/tmp#
Both metrics and services could be modified upon a repeated registration.
This covers modification in the server side stored parameters as well as on the parameters list stored on client configuration
If the toplevel directory for the fs-backend is not created, an exception is raised.
Probably a similar thing occurs with the bdb backend.
At least for the C client, giving DISTRO=(null) gets properly registered. Probably even an empty distro name can be registered.
The files for the users created during initialization have owner and permission that disallow them to be edited or managed from the web interface.
Implement the ability to read an existing configuration to replace the command line parameters on registering.
The loginout function should sleep if a wait time is given along the session id
Default permissions for rrdUtils directories is given to root only. The callback does not handle exception related to this, nor performs proper checks upon loading.
Seems that when the local aupd.conf exists and is partially populated, it is not update after successful registering. The bug was observed when starting with the file below
[global]
url = http://r26936.ovh.net/amebaC3
[pull]
check-only = True
#check_cmds = apt-get update , ! apt-get -s -y upgrade | grep -q '^Inst\ '
#check_cmds = apt-get update , ! apt-get -s -y upgrade | grep -q \'\^Inst \'
check_cmds = apt-get update , ! apt-get -s -y upgrade | grep -qw ^Inst
#check_cmds = apt-get update , ! apt-get -s -y upgrade | grep -qw Inst
update_cmds = apt-get -y upgrade
Before releasing 1.5 client, the issues below should get closed:
1
3
6
15
19
It could be useful to have a command able to recreate nagios configurations from database contents. That means that only the database must be backed up.
Implement package update in the shell script client
When forcing a pull from the command line, the random wait time is honoured
Besides the opkg/deb package, a standard RPM is desirable.
A transient network related issue seems to show that under some circumstances the shell client in openwrt platforms does replicate multiple times.
The problem will be probably difficult to replicate, but two possible solutions are include a timeout for wget or a more elaborated locking mechanism.
If nagios is started whitout external command checking, and the feature is later enabled, nagios refuses to start because the named pipe already exists.
Either we avoid writing to nagios.cmd if not existing, or we create it as a named pipe when needed
Por fin he vuelto a pillar el error que habia visto por ahi:
root@ccientifico:~# aupd --force-upgrade --random-wait 1 pull
None <- apt-get --yes upgrade
100 <- apt-get --yes upgrade
Calling loginout with True
ERROR : failed at apt-get --yes upgrade
root@ccientifico:~# echo $?
1
El origen del error no esta claro, pero la actualizacion de paquetes no se realiza.
La actualizacion posterior realizada a mano transcurre sin problemas, y aunque muestra algun warning, devuelve 0 como codigo de retorno.
The nagios callback is not configurable, as everything is included in the code.
To make easy the inclusion of new services, an external storage method must be implemented (filesystem as first choice).
Default templates and the variables to locate nagios resources are also open to be shifted out of the source code, although the requirement is less high.
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.