Giter Site home page Giter Site logo

ameba-c3's People

Contributors

javiplx avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

bluemutedwisdom

ameba-c3's Issues

Extra newline on error messages

Error messages captured from server do carry an extra endline character, so empty lines are displayed between error lines

Metric collection callback

Implement a stats-collector callback, able to append the node to the specified metric configuration files, and call RRDcreate.

Implement profiles

implement registration profiles, to get simpler registering command lines.
Profile should be updatable, so if non existing, only warning will be returned.

timeout exception not captured

 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')>

Nagios services

Extend the nagios callback to register node services (www, mysql, etc).

Allow deactivation of callbacks

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.

shell client does not handle errors

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# 

Allow registration update

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

Uncaught error

If the toplevel directory for the fs-backend is not created, an exception is raised.
Probably a similar thing occurs with the bdb backend.

Fix permision of default users

The files for the users created during initialization have owner and permission that disallow them to be edited or managed from the web interface.

Permission errors on metrics not handled

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.

Local configuration not updated upon registering

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 

Bug closing for 1.5

Before releasing 1.5 client, the issues below should get closed:
1
3
6
15
19

Nagios configs generator

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.

Create packages

Besides the opkg/deb package, a standard RPM is desirable.

Unhandled timeout en el cliente shell

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.

Avoid sending commands to nagios if external commands disabled

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

Error durante la actualizacion

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.

Nagios callbacks configurability

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.