Revision 9ac8bfb5
Move duplicated models to a separate egg for reuse.
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@493 b22e2e97-25c9-44ff-b637-2e5ceca36478
setup.py | ||
---|---|---|
25 | 25 |
"repoze.what-quickstart >= 1.0", |
26 | 26 |
"psycopg2", |
27 | 27 |
"tw.jquery >= 0.9.5", |
28 |
"vigiboard",
|
|
28 |
"vigilo-models",
|
|
29 | 29 |
], |
30 | 30 |
setup_requires=["PasteScript >= 1.7"], |
31 | 31 |
paster_plugins=['PasteScript', 'Pylons', 'TurboGears2', 'tg.devtools'], |
vigiboard/config/middleware.py | ||
---|---|---|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
""" |
38 |
# Petit hack permettant d'importer la configuration de vigiboard |
|
39 |
try: |
|
40 |
# chargement de l'application |
|
41 |
|
|
42 |
myapp = __import__(app_conf['appname'] ,globals(), locals(), [],-1) |
|
43 |
base_config.package = myapp |
|
44 |
|
|
45 |
# chargement de la conf de l'application |
|
46 |
myconf = __import__( |
|
47 |
app_conf['appname'] + '.config.' + app_conf['appname'] ,globals(), locals(), [app_conf['appname'] + '_config'],-1) |
|
48 |
myconf = getattr(myconf,app_conf['appname'] + '_config') |
|
49 |
for conf in myconf: |
|
50 |
app_conf[conf] = myconf[conf] |
|
51 |
except: |
|
52 |
print "vigilo-core runing without application" |
|
53 | 38 |
|
54 | 39 |
for i in vigiboard_config: |
55 | 40 |
app_conf[i] = vigiboard_config[i] |
... | ... | |
65 | 50 |
) |
66 | 51 |
|
67 | 52 |
return app |
53 |
|
vigiboard/model/__init__.py | ||
---|---|---|
60 | 60 |
|
61 | 61 |
# Import your model modules here. |
62 | 62 |
from vigiboard.model.auth import User, Group, Permission |
63 |
from vigiboard.model.vigilo_bdd import Events, EventHistory, Graph, \
|
|
63 |
from vigilo.models.vigilo_bdd import Events, EventHistory, Graph, \
|
|
64 | 64 |
GraphGroups, GraphToGroups, Groups, GroupPermissions, HostGroups, Host, \ |
65 | 65 |
PerfDataSource, ServiceGroups, ServiceHautNiveau, Service, ServiceTopo |
vigiboard/model/vigilo_bdd/__init__.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""BdD Vigiboard""" |
|
4 |
|
|
5 |
from .eventhistory import EventHistory |
|
6 |
from .events import Events |
|
7 |
from .graphgroups import GraphGroups |
|
8 |
from .graph import Graph |
|
9 |
from .groups import Groups |
|
10 |
from .grouppermissions import GroupPermissions |
|
11 |
from .hostgroups import HostGroups |
|
12 |
from .host import Host |
|
13 |
from .perfdatasource import PerfDataSource |
|
14 |
from .servicegroups import ServiceGroups |
|
15 |
from .servicehautniveau import ServiceHautNiveau |
|
16 |
from .service import Service |
|
17 |
from .servicetopo import ServiceTopo |
|
18 |
from .graphtogroups import GraphToGroups |
|
19 |
from .version import Version |
|
20 |
from .state import State |
vigiboard/model/vigilo_bdd/eventhistory.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table EventHistory""" |
|
4 |
from __future__ import absolute_import |
|
5 |
from sqlalchemy.orm import mapper |
|
6 |
from sqlalchemy import ForeignKey, Table, Column |
|
7 |
from sqlalchemy.types import Integer, String, Text, DateTime |
|
8 |
|
|
9 |
from sqlalchemy.databases.mysql import MSEnum |
|
10 |
from datetime import datetime |
|
11 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
12 |
|
|
13 |
# Generation par SQLAutoCode |
|
14 |
|
|
15 |
event_history = Table( |
|
16 |
bdd_basename + 'event_history', metadata, |
|
17 |
Column(u'idhistory', Integer(), primary_key=True, nullable=False, |
|
18 |
autoincrement=True), |
|
19 |
Column(u'type_action', |
|
20 |
MSEnum('Nagios update state', 'Acknowlegement change state', |
|
21 |
'New occurence', 'User comment', 'Ticket change', 'Oncall', |
|
22 |
'Forced state'), |
|
23 |
primary_key=False, nullable=False), |
|
24 |
Column(u'idevent', Integer(), |
|
25 |
ForeignKey( |
|
26 |
bdd_basename +'events.idevent' |
|
27 |
), index=True, primary_key=False, nullable=False), |
|
28 |
Column(u'value', |
|
29 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
30 |
primary_key=False), |
|
31 |
Column(u'text', |
|
32 |
Text(length=None, convert_unicode=True, assert_unicode=None), |
|
33 |
primary_key=False), |
|
34 |
Column(u'timestamp', DateTime(timezone=False), default=datetime.now(), |
|
35 |
primary_key=False), |
|
36 |
Column(u'username', |
|
37 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
38 |
primary_key=False), |
|
39 |
mysql_engine='InnoDB', |
|
40 |
mysql_charset='utf8' |
|
41 |
) |
|
42 |
|
|
43 |
# Classe a mapper |
|
44 |
|
|
45 |
class EventHistory(object): |
|
46 |
""" |
|
47 |
Classe liée avec la table associée |
|
48 |
""" |
|
49 |
def __init__(self, type_action, idevent, value='', text='', username=''): |
|
50 |
|
|
51 |
""" |
|
52 |
Fonction d'initialisation, permet de faire un INSERT en une fonction |
|
53 |
|
|
54 |
@param type_action: Le type d'action effectué, peut être 'Nagios update state', |
|
55 |
'Acknowlegement change state', 'New occurence', 'User comment', 'Ticket change', |
|
56 |
'Oncall' ou 'Forced state' |
|
57 |
@param idevent: Identifiant de l'évènement |
|
58 |
@param value: Nouvelle sévérité |
|
59 |
@param text: Commentaire sur l'action effectuée |
|
60 |
@param username: Nom d'utilisateur de la personne effectuant l'action |
|
61 |
""" |
|
62 |
|
|
63 |
self.type_action = type_action |
|
64 |
self.idevent = idevent |
|
65 |
self.value = value |
|
66 |
self.text = text |
|
67 |
self.username = username |
|
68 |
|
|
69 |
mapper(EventHistory, event_history) |
vigiboard/model/vigilo_bdd/events.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table Events""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column, DefaultClause, ForeignKey |
|
8 |
from sqlalchemy.types import Integer, String, Text, DateTime |
|
9 |
|
|
10 |
from sqlalchemy.databases.mysql import MSEnum, MSBoolean |
|
11 |
|
|
12 |
from datetime import datetime |
|
13 |
|
|
14 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
15 |
|
|
16 |
# Generation par SQLAutoCode |
|
17 |
|
|
18 |
events = Table(bdd_basename + 'events', metadata, |
|
19 |
Column(u'idevent', Integer(), primary_key=True, nullable=False, |
|
20 |
autoincrement=True), |
|
21 |
Column(u'hostname', |
|
22 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
23 |
ForeignKey(bdd_basename +'host.name'), |
|
24 |
index=True, primary_key=False, nullable=False), |
|
25 |
Column(u'servicename', |
|
26 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
27 |
ForeignKey(bdd_basename + 'service.name'), |
|
28 |
index=True, primary_key=False), |
|
29 |
Column(u'severity', Integer(), primary_key=False, nullable=False), |
|
30 |
Column(u'status', MSEnum('None','Acknowledged','AAClosed'), |
|
31 |
primary_key=False, nullable=False, |
|
32 |
server_default=DefaultClause('None', for_update=False)), |
|
33 |
Column(u'active', MSBoolean(), primary_key=False, default='True'), |
|
34 |
Column(u'timestamp', DateTime(timezone=False), primary_key=False), |
|
35 |
Column(u'output', |
|
36 |
Text(length=None, convert_unicode=True, assert_unicode=None), |
|
37 |
primary_key=False, nullable=False), |
|
38 |
Column(u'timestamp_active', DateTime(timezone=False), primary_key=False), |
|
39 |
Column(u'trouble_ticket', |
|
40 |
String(length=20, convert_unicode=True, assert_unicode=None), |
|
41 |
primary_key=False), |
|
42 |
Column(u'occurence', Integer(), primary_key=False), |
|
43 |
Column(u'impact', Integer(), primary_key=False), |
|
44 |
Column(u'rawstate', MSEnum('WARNING','OK','CRITICAL','UNKNOWN')), |
|
45 |
mysql_engine='InnoDB', |
|
46 |
mysql_charset='utf8' |
|
47 |
) |
|
48 |
|
|
49 |
# Classe a mapper |
|
50 |
|
|
51 |
class Events(object): |
|
52 |
|
|
53 |
""" |
|
54 |
Classe liée avec la table associée |
|
55 |
""" |
|
56 |
|
|
57 |
def __init__(self, hostname, servicename, server_source = '', severity = 0, |
|
58 |
status = 'None', active = True, timestamp = datetime.now(), |
|
59 |
output = '', event_timestamp = datetime.now(), |
|
60 |
last_check = datetime.now(), recover_output = '', |
|
61 |
timestamp_active = datetime.now(), |
|
62 |
timestamp_cleared=None, trouble_ticket = None, |
|
63 |
occurence = 1): |
|
64 |
|
|
65 |
self.hostname = hostname |
|
66 |
self.servicename = servicename |
|
67 |
self.server_source = server_source |
|
68 |
self.severity = severity |
|
69 |
self.status = status |
|
70 |
self.active = active |
|
71 |
self.timestamp = timestamp |
|
72 |
self.output = output |
|
73 |
self.event_timestamp = event_timestamp |
|
74 |
self.last_check = last_check |
|
75 |
self.recover_output = recover_output |
|
76 |
self.timestamp_active = timestamp_active |
|
77 |
self.timestamp_cleared = timestamp_cleared |
|
78 |
self.trouble_ticket = trouble_ticket |
|
79 |
self.occurence = occurence |
|
80 |
|
|
81 |
def get_date(self, element): |
|
82 |
|
|
83 |
""" |
|
84 |
Permet de convertir une variable de temps en la chaîne de caractère : |
|
85 |
jour mois heure:minutes:secondes |
|
86 |
|
|
87 |
@param element: nom de l'élément à convertir de la classe elle même |
|
88 |
""" |
|
89 |
|
|
90 |
element = self.__dict__[element] |
|
91 |
date = datetime.now() - element |
|
92 |
if date.days < 7 : |
|
93 |
return element.strftime('%a %H:%M:%S') |
|
94 |
else : |
|
95 |
return element.strftime('%d %b %H:%M:%S') |
|
96 |
|
|
97 |
def get_since_date(self, element): |
|
98 |
|
|
99 |
""" |
|
100 |
Permet d'obtenir le temps écoulé entre maintenant (datetime.now()) |
|
101 |
et le temps contenu dans la variable de temps indiquée |
|
102 |
|
|
103 |
@param element: nom de l'élément de la classe elle même à utiliser |
|
104 |
pour le calcul |
|
105 |
""" |
|
106 |
|
|
107 |
date = datetime.now() - self.__dict__[element] |
|
108 |
minutes, seconds = divmod(date.seconds, 60) |
|
109 |
hours, minutes = divmod(minutes, 60) |
|
110 |
return "%dd %dh %d'" % (date.days , hours , minutes) |
|
111 |
|
|
112 |
mapper(Events, events) |
vigiboard/model/vigilo_bdd/graph.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table Graph""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
graph = Table(bdd_basename + 'graph', |
|
15 |
metadata, |
|
16 |
Column(u'name', |
|
17 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
18 |
primary_key=True, nullable=False), |
|
19 |
Column(u'template', |
|
20 |
String(length=2500, convert_unicode=True, assert_unicode=None), |
|
21 |
primary_key=False, nullable=False), |
|
22 |
Column(u'vlabel', |
|
23 |
String(length=2500, convert_unicode=True, assert_unicode=None), |
|
24 |
primary_key=False, nullable=False), |
|
25 |
mysql_engine='InnoDB', |
|
26 |
mysql_charset='utf8' |
|
27 |
) |
|
28 |
|
|
29 |
# Classe a mapper |
|
30 |
|
|
31 |
class Graph(object): |
|
32 |
|
|
33 |
""" |
|
34 |
Classe liée avec la table associée |
|
35 |
""" |
|
36 |
|
|
37 |
def __init__(self, name, template = '', vlabel = ''): |
|
38 |
self.name = name |
|
39 |
self.template = template |
|
40 |
self.vlabel = vlabel |
|
41 |
|
|
42 |
mapper(Graph, graph) |
vigiboard/model/vigilo_bdd/graphgroups.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table GraphGroups""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column |
|
8 |
from sqlalchemy.types import Integer, String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
graphgroups = Table(bdd_basename + 'graphgroups', |
|
15 |
metadata, |
|
16 |
Column(u'name', |
|
17 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
18 |
primary_key=True, nullable=False), |
|
19 |
Column(u'parent', Integer(), primary_key=False, nullable=True), |
|
20 |
mysql_engine='InnoDB', |
|
21 |
mysql_charset='utf8' |
|
22 |
) |
|
23 |
|
|
24 |
# Classe a mapper |
|
25 |
|
|
26 |
class GraphGroups(object): |
|
27 |
""" |
|
28 |
Classe liée avec la table associée |
|
29 |
""" |
|
30 |
|
|
31 |
def __init__(self, name, parent=None): |
|
32 |
self.name = name |
|
33 |
self.parent = parent |
|
34 |
|
|
35 |
mapper(GraphGroups, graphgroups) |
vigiboard/model/vigilo_bdd/graphtogroups.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table GraphToGroups""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
graphtogroups = Table( |
|
15 |
bdd_basename + 'graphtogroups', |
|
16 |
metadata, |
|
17 |
Column(u'graphname', |
|
18 |
String(length=100, convert_unicode=False, assert_unicode=None), |
|
19 |
ForeignKey(bdd_basename + 'graph.name'), |
|
20 |
primary_key=True, nullable=False), |
|
21 |
Column(u'groupname', |
|
22 |
String(length=100, convert_unicode=False, assert_unicode=None), |
|
23 |
ForeignKey(bdd_basename + \ |
|
24 |
'graphgroups.name'), |
|
25 |
primary_key=True, nullable=False), |
|
26 |
mysql_engine='InnoDB', |
|
27 |
mysql_charset='utf8' |
|
28 |
) |
|
29 |
|
|
30 |
# Classe a mapper |
|
31 |
|
|
32 |
class GraphToGroups(object): |
|
33 |
""" |
|
34 |
Classe liée avec la table associée |
|
35 |
""" |
|
36 |
|
|
37 |
def __init__(self, graphname, groupname): |
|
38 |
self.graphname = graphname |
|
39 |
self.groupname = groupname |
|
40 |
|
|
41 |
|
|
42 |
mapper(GraphToGroups, graphtogroups) |
vigiboard/model/vigilo_bdd/grouppermissions.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table GroupPermissions""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import Integer, String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
grouppermissions = Table( |
|
15 |
bdd_basename + 'grouppermissions', |
|
16 |
metadata, |
|
17 |
Column(u'groupname', |
|
18 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
19 |
ForeignKey(bdd_basename +'groups.name'), |
|
20 |
primary_key=True, nullable=False), |
|
21 |
Column(u'idpermission', |
|
22 |
Integer(), autoincrement=False, primary_key=True, nullable=False), |
|
23 |
mysql_engine='InnoDB', |
|
24 |
mysql_charset='utf8' |
|
25 |
) |
|
26 |
|
|
27 |
# Classe a mapper |
|
28 |
|
|
29 |
class GroupPermissions(object): |
|
30 |
|
|
31 |
""" |
|
32 |
Classe liée avec la table associée |
|
33 |
""" |
|
34 |
|
|
35 |
def __init__(self, groupname, idpermission = 0): |
|
36 |
self.groupname = groupname |
|
37 |
self.idpermission = idpermission |
|
38 |
|
|
39 |
mapper(GroupPermissions, grouppermissions) |
vigiboard/model/vigilo_bdd/groups.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table Groups""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
groups = Table(bdd_basename + 'groups', |
|
15 |
metadata, |
|
16 |
Column(u'name', |
|
17 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
18 |
primary_key=True, nullable=False), |
|
19 |
Column(u'parent', |
|
20 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
21 |
index=True, primary_key=False), |
|
22 |
mysql_engine='InnoDB', |
|
23 |
mysql_charset='utf8' |
|
24 |
) |
|
25 |
|
|
26 |
# Classe a mapper |
|
27 |
|
|
28 |
class Groups(object): |
|
29 |
|
|
30 |
""" |
|
31 |
Classe liée avec la table associée |
|
32 |
""" |
|
33 |
|
|
34 |
def __init__(self, name, parent=None): |
|
35 |
self.name = name |
|
36 |
self.parent = parent |
|
37 |
|
|
38 |
mapper(Groups, groups) |
vigiboard/model/vigilo_bdd/host.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table Host""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column |
|
8 |
from sqlalchemy.types import Integer, String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
host = Table(bdd_basename + 'host', |
|
15 |
metadata, |
|
16 |
Column(u'name', |
|
17 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
18 |
index=True,primary_key=True, nullable=False), |
|
19 |
Column(u'checkhostcmd', |
|
20 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
21 |
primary_key=False, nullable=False), |
|
22 |
Column(u'community', |
|
23 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
24 |
primary_key=False, nullable=False), |
|
25 |
Column(u'fqhn', |
|
26 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
27 |
primary_key=False, nullable=False), |
|
28 |
Column(u'hosttpl', |
|
29 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
30 |
primary_key=False, nullable=False), |
|
31 |
Column(u'mainip', |
|
32 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
33 |
primary_key=False, nullable=False), |
|
34 |
Column(u'port', Integer(), primary_key=False, nullable=False), |
|
35 |
Column(u'snmpoidsperpdu', Integer(), primary_key=False), |
|
36 |
Column(u'snmpversion', |
|
37 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
38 |
primary_key=False), |
|
39 |
mysql_engine='InnoDB', |
|
40 |
mysql_charset='utf8' |
|
41 |
) |
|
42 |
|
|
43 |
# Classe a mapper |
|
44 |
|
|
45 |
class Host(object): |
|
46 |
|
|
47 |
""" |
|
48 |
Classe liée avec la table associée |
|
49 |
""" |
|
50 |
|
|
51 |
def __init__(self, name, checkhostcmd = '', community = '', fqhn = '', |
|
52 |
hosttpl = '', mainip = '', port = 0, snmpoidsperdu = 0, |
|
53 |
snmpversion = ''): |
|
54 |
self.name = name |
|
55 |
self.checkhostcmd = checkhostcmd |
|
56 |
self.community = community |
|
57 |
self.fqhn = fqhn |
|
58 |
self.hosttpl = hosttpl |
|
59 |
self.mainip = mainip |
|
60 |
self.port = port |
|
61 |
self.snmpoidsperdu = snmpoidsperdu |
|
62 |
self.snmpversion = snmpversion |
|
63 |
|
|
64 |
mapper(Host, host) |
|
65 |
|
|
66 |
|
vigiboard/model/vigilo_bdd/hostgroups.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table HostGroups""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
hostgroups = Table(bdd_basename + 'hostgroups', |
|
15 |
metadata, |
|
16 |
Column(u'hostname', |
|
17 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
18 |
ForeignKey(bdd_basename + u'host.name'), |
|
19 |
primary_key=True, nullable=False), |
|
20 |
Column(u'groupname', |
|
21 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
22 |
ForeignKey(bdd_basename + u'groups.name'), |
|
23 |
index=True ,primary_key=True, nullable=False), |
|
24 |
mysql_engine='InnoDB', |
|
25 |
mysql_charset='utf8' |
|
26 |
) |
|
27 |
|
|
28 |
# Classe a mapper |
|
29 |
|
|
30 |
class HostGroups(object): |
|
31 |
|
|
32 |
""" |
|
33 |
Classe liée avec la table associée |
|
34 |
""" |
|
35 |
|
|
36 |
def __init__(self, hostname, groupname): |
|
37 |
self.hostname = hostname |
|
38 |
self.groupname = groupname |
|
39 |
|
|
40 |
mapper(HostGroups, hostgroups) |
|
41 |
|
|
42 |
|
vigiboard/model/vigilo_bdd/perfdatasource.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table PerfDataSource""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import String, Float |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
perfdatasource = Table( |
|
15 |
bdd_basename + 'perfdatasource', |
|
16 |
metadata, |
|
17 |
Column(u'hostname', |
|
18 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
19 |
ForeignKey(bdd_basename + u'host.name'), |
|
20 |
primary_key=True, nullable=False), |
|
21 |
Column(u'servicename', |
|
22 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
23 |
ForeignKey( |
|
24 |
bdd_basename + u'service.name' |
|
25 |
), index=True, primary_key=True, nullable=False), |
|
26 |
Column(u'graphname', |
|
27 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
28 |
ForeignKey(bdd_basename + u'graph.name'), |
|
29 |
index=True,primary_key=False, nullable=False), |
|
30 |
Column(u'type', |
|
31 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
32 |
primary_key=False, nullable=False), |
|
33 |
Column(u'label', |
|
34 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
35 |
primary_key=False), |
|
36 |
Column(u'factor', |
|
37 |
Float(precision=None, asdecimal=False), |
|
38 |
primary_key=False, nullable=False), |
|
39 |
mysql_engine='InnoDB', |
|
40 |
mysql_charset='utf8' |
|
41 |
) |
|
42 |
|
|
43 |
# Classe a mapper |
|
44 |
|
|
45 |
class PerfDataSource(object): |
|
46 |
|
|
47 |
""" |
|
48 |
Classe liée avec la table associée |
|
49 |
""" |
|
50 |
|
|
51 |
def __init__(self, hostname, servicename, graphname, typeperf = '', |
|
52 |
label = '', factor = 0.0): |
|
53 |
self.hostname = hostname |
|
54 |
self.servicename = servicename |
|
55 |
self.graphname = graphname |
|
56 |
self.type = typeperf |
|
57 |
self.label = label |
|
58 |
self.factor = factor |
|
59 |
|
|
60 |
mapper(PerfDataSource, perfdatasource) |
vigiboard/model/vigilo_bdd/service.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table Service""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
service = Table(bdd_basename + 'service', |
|
15 |
metadata, |
|
16 |
Column(u'name', |
|
17 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
18 |
index=True, primary_key=True, nullable=False), |
|
19 |
Column(u'type', |
|
20 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
21 |
primary_key=False, nullable=False), |
|
22 |
Column(u'command', |
|
23 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
24 |
primary_key=False, nullable=False), |
|
25 |
mysql_engine='InnoDB', |
|
26 |
mysql_charset='utf8' |
|
27 |
) |
|
28 |
|
|
29 |
# Classe a mapper |
|
30 |
|
|
31 |
class Service(object): |
|
32 |
|
|
33 |
""" |
|
34 |
Classe liée avec la table associée |
|
35 |
""" |
|
36 |
|
|
37 |
def __init__(self, name, servicetype = 0, command = ''): |
|
38 |
self.name = name |
|
39 |
self.type = servicetype |
|
40 |
self.command = command |
|
41 |
|
|
42 |
mapper(Service, service) |
|
43 |
|
|
44 |
|
vigiboard/model/vigilo_bdd/servicegroups.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table ServiceGroups""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
servicegroups = Table( |
|
15 |
bdd_basename + 'servicegroups', |
|
16 |
metadata, |
|
17 |
Column(u'servicename', |
|
18 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
19 |
ForeignKey( |
|
20 |
bdd_basename + u'service.name' |
|
21 |
), primary_key=True, nullable=False), |
|
22 |
Column(u'groupname', |
|
23 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
24 |
ForeignKey( |
|
25 |
bdd_basename + u'groups.name' |
|
26 |
), index=True, primary_key=True, nullable=False), |
|
27 |
mysql_engine='InnoDB', |
|
28 |
mysql_charset='utf8' |
|
29 |
) |
|
30 |
|
|
31 |
# Classe a mapper |
|
32 |
|
|
33 |
class ServiceGroups(object): |
|
34 |
|
|
35 |
""" |
|
36 |
Classe liée avec la table associée |
|
37 |
""" |
|
38 |
|
|
39 |
def __init__(self, servicename, groupname): |
|
40 |
self.servicename = servicename |
|
41 |
self.groupname = groupname |
|
42 |
|
|
43 |
mapper(ServiceGroups, servicegroups) |
|
44 |
|
|
45 |
|
vigiboard/model/vigilo_bdd/servicehautniveau.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table ServiceHautNiveau""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
servicehautniveau = Table( |
|
15 |
bdd_basename + 'servicehautniveau', |
|
16 |
metadata, |
|
17 |
Column(u'servicename', |
|
18 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
19 |
ForeignKey( |
|
20 |
bdd_basename + u'service.name' |
|
21 |
), primary_key=True, nullable=False), |
|
22 |
Column(u'servicename_dep', |
|
23 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
24 |
ForeignKey( |
|
25 |
bdd_basename + u'service.name' |
|
26 |
), index=True ,primary_key=True, nullable=False), |
|
27 |
mysql_engine='InnoDB', |
|
28 |
mysql_charset='utf8' |
|
29 |
) |
|
30 |
|
|
31 |
# Classe a mapper |
|
32 |
|
|
33 |
class ServiceHautNiveau(object): |
|
34 |
|
|
35 |
""" |
|
36 |
Classe liée avec la table associée |
|
37 |
""" |
|
38 |
|
|
39 |
def __init__(self, servicename, servicename_dep): |
|
40 |
self.servicename = servicename |
|
41 |
self.servicename_dep = servicename_dep |
|
42 |
|
|
43 |
mapper(ServiceHautNiveau, servicehautniveau) |
vigiboard/model/vigilo_bdd/servicetopo.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table ServiceTopo""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, ForeignKey, Column |
|
8 |
from sqlalchemy.types import String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
servicetopo = Table(bdd_basename + 'servicetopo', |
|
15 |
metadata, |
|
16 |
Column(u'servicename', |
|
17 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
18 |
ForeignKey(bdd_basename + \ |
|
19 |
u'service.name'), |
|
20 |
primary_key=True, nullable=False), |
|
21 |
Column(u'function', |
|
22 |
String(length=50, convert_unicode=True, assert_unicode=None), |
|
23 |
primary_key=False, nullable=False), |
|
24 |
mysql_engine='InnoDB', |
|
25 |
mysql_charset='utf8' |
|
26 |
) |
|
27 |
|
|
28 |
# Classe a mapper |
|
29 |
|
|
30 |
class ServiceTopo(object): |
|
31 |
|
|
32 |
""" |
|
33 |
Classe liée avec la table associée |
|
34 |
""" |
|
35 |
|
|
36 |
def __init__(self, servicename, function=''): |
|
37 |
self.servicename = servicename |
|
38 |
self.function = function |
|
39 |
|
|
40 |
mapper(ServiceTopo, servicetopo) |
vigiboard/model/vigilo_bdd/state.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table State""" |
|
4 |
|
|
5 |
from __future__ import absolute_import |
|
6 |
|
|
7 |
from sqlalchemy.orm import mapper |
|
8 |
from sqlalchemy import Table, Column, DefaultClause, ForeignKey |
|
9 |
from sqlalchemy.types import Integer, String, Text, DateTime |
|
10 |
|
|
11 |
from sqlalchemy.databases.mysql import MSEnum |
|
12 |
|
|
13 |
from datetime import datetime |
|
14 |
|
|
15 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
16 |
|
|
17 |
# Generation par SQLAutoCode |
|
18 |
|
|
19 |
state = Table(bdd_basename + 'state', metadata, |
|
20 |
Column(u'idstat', Integer(), primary_key=True, nullable=False, |
|
21 |
autoincrement=True), |
|
22 |
Column(u'hostname', |
|
23 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
24 |
ForeignKey(bdd_basename +'host.name'), |
|
25 |
index=True, primary_key=False, nullable=False), |
|
26 |
Column(u'servicename', |
|
27 |
String(length=100, convert_unicode=True, assert_unicode=None), |
|
28 |
ForeignKey(bdd_basename + 'service.name'), |
|
29 |
index=True, primary_key=False), |
|
30 |
Column(u'ip', |
|
31 |
String(length=40, convert_unicode=True, assert_unicode=None), |
|
32 |
primary_key=False), |
|
33 |
Column(u'timestamp', DateTime(timezone=False), primary_key=False), |
|
34 |
Column(u'statename', MSEnum('WARNING','OK','CRITICAL','UNKNOWN'), |
|
35 |
primary_key=False, nullable=False, |
|
36 |
server_default=DefaultClause('OK', for_update=False)), |
|
37 |
Column(u'type', MSEnum('SOFT','HARD'), |
|
38 |
primary_key=False, nullable=False, |
|
39 |
server_default=DefaultClause('SOFT', for_update=False)), |
|
40 |
Column(u'attempt', Integer(), primary_key=False, nullable=False, |
|
41 |
autoincrement=False), |
|
42 |
Column(u'message', |
|
43 |
Text(length=None, convert_unicode=True, assert_unicode=None), |
|
44 |
primary_key=False), |
|
45 |
mysql_engine='InnoDB', |
|
46 |
mysql_charset='utf8' |
|
47 |
) |
|
48 |
|
|
49 |
# Classe a mapper |
|
50 |
|
|
51 |
class State(object): |
|
52 |
|
|
53 |
""" |
|
54 |
Classe liée avec la table associée |
|
55 |
""" |
|
56 |
|
|
57 |
def __init__(self, hostname, servicename, ip, timestamp = datetime.now(), |
|
58 |
statename = 'OK', type = 'SOFT', attempt = 1, message = ''): |
|
59 |
|
|
60 |
self.hostname = hostname |
|
61 |
self.servicename = servicename |
|
62 |
self.ip = ip |
|
63 |
self.timestamp = timestamp |
|
64 |
self.statename = statename |
|
65 |
self.type = type |
|
66 |
self.attempt = attempt |
|
67 |
self.message = message |
|
68 |
|
|
69 |
mapper(State, state) |
vigiboard/model/vigilo_bdd/version.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# vim:set expandtab tabstop=4 shiftwidth=4: |
|
3 |
"""Modèle pour la table Version""" |
|
4 |
from __future__ import absolute_import |
|
5 |
|
|
6 |
from sqlalchemy.orm import mapper |
|
7 |
from sqlalchemy import Table, Column |
|
8 |
from sqlalchemy.types import Integer, String |
|
9 |
|
|
10 |
from ..vigilo_bdd_config import bdd_basename, metadata |
|
11 |
|
|
12 |
# Generation par SQLAutoCode |
|
13 |
|
|
14 |
version = Table(bdd_basename + 'version', |
|
15 |
metadata, |
|
16 |
Column(u'name', |
|
17 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
18 |
index=True,primary_key=True, nullable=False), |
|
19 |
Column(u'version', |
|
20 |
String(length=255, convert_unicode=True, assert_unicode=None), |
|
21 |
primary_key=False, nullable=False), |
|
22 |
mysql_engine='InnoDB', |
|
23 |
mysql_charset='utf8' |
|
24 |
) |
|
25 |
|
|
26 |
# Classe a mapper |
|
27 |
|
|
28 |
class Version(object): |
|
29 |
|
|
30 |
""" |
|
31 |
Classe liée avec la table associée |
|
32 |
""" |
|
33 |
|
|
34 |
pass |
|
35 |
|
|
36 |
mapper(Version, version) |
|
37 |
|
|
38 |
|
Also available in: Unified diff