Вы находитесь на странице: 1из 24

Les outils de supervision libres

Olivier Jan

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%

La Supervision

Une des fonctions de l'administration des SI

Fonction cl de plusieurs normes et standards

OSI System Management Overview [ISO-10040]


ITIL

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Pourquoi superviser ?
Dtecter les pannes avant l'utilisateur
Ragir plus rapidement en cas d'incident
Anticiper les problmes
Contrler et rendre compte
Pilotage de l'exploitation
staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Quoi superviser ?
Environnement
Matriel
Rseau
Systme
Bases de donnes
Services (HTTP, SMTP, LDAP...)
Applications
Scurit
staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Pour qui superviser ?


Dirigeants (DSI...) : Performance et disponibilit
(SLA)
Administrateurs : Technique et diagnostic
Utilisateurs : Performance et disponibilit
Financier : Comptabilit et facturation
staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Comment superviser ?
Actif
Passif
Sans agent
Avec un agent

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Standards de la supervision
SNMP - Simple Network Management Protocol
IPMI - Intelligent Platform Management Interface
JMX - Java Management Interface
CIM - Common Information Model
SBLIM - Standard Based Linux Instrumentation for Manageability
WS-MANAGEMENT - Web Services for Management
WBEM - Web Based Enterprise Management
WMI - Windows Management Instrumentation

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Dcoupe fonctionnelle

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Rsum d'une dmarche


Que veut-on superviser?
Bien qualifier le primtre
Prsent et venir (cartographie, dpendances,)
Penser une gestion de la configuration (Existe-t-elle ?)

Pourquoi met-on en place une supervision?


Quels sont les problmes actuels?
Problmes techniques et fonctionnels
Problmes de communication (workflow)

En quoi la supervision peut-elle nous aider les rsoudre?

Pour qui met-on en place une supervision?


Qui va grer la supervision?
Qui va utiliser la supervision?
staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
Qui va tre acteur sur les informations remontes?
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Le march de la supervision
Propritaire

Le Big 4

Open Source

Le Little 4

Tivoli

GroundWorks Monitor

BMC

Zenoss

Unicenter

Hyperic HQ

OpenView

Zabbix

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Pourquoi choisir un logiciel FOSS ?


Une implmentation rate d'un logiciel
commercial
De multiples outils pour superviser l'ensemble du
SI
Des applications critiques et spcifiques
Expertise interne forte en Open Source
staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Avantages FOSS
Le code source
L'interoprabilit
Les cots non lis au primtre
Possibilit de superviser des applications internes qui n'ont pas
de connecteur "propritaire"
Implmentation en hyperviseur (consolidation de systmes
spcialiss comme Dell Open Manage.
Un dveloppement collaboratif et ouvert
Le prix parce que l'on dploie uniquement ce dont on a besoin
Moins d'administration car on n'administre que ce qu'on installe
Des cots d'extension plus faible
Des cots matriels plus faibles
staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Le march de la supervision FOSS


Solutions compltes

Outils spcialiss

Nagios

Collectd

Zenoss

Monit

Hyperic HQ

NEDI

Zabbix

8Pussy

OpenNMS

MRTG et RRDTool

Pandora FMS

Cacti

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Pourquoi Nagios ?
10 ans (logiciel prouv)
100 % Open Source
Carnet de route clair et dtaill
Standard de facto
Interoprabilit
Communaut de 250 000 utilisateurs
Support professionnel

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Nagios, les drivs


Dans le monde

En france

GroundWorks Monitor
OpsView
OP5
Snag View

Centreon
Vigilo
FAN
Eye Of The Network

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Architecture Active Nagios

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Architecture Passive Nagios

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%
%crp\n"::"a"((uint64*)&entry));}structm68k_vm_opsm68030_vm_ops={_m68k_translation_map_get_pgdir,m68k_vm_translation_map_init_ma
p,m68k_vm_translation_map_init_kernel_map_post_sem,m68k_vm_translation_map_init,m68k_vm_translation_map_init_post_area,m68k_vm_tr
anslation_map_init_post_sem,m68k_vm_translation_map_early_map

Questions ? / Rponses ?
Remerciements
Rendez-vous sur nagios-fr.org

staticvoidsync_icache_030(addr_taddress,size_tlen){intl,off;char*p;uint32cacr;off=(unsignedint)address&(CACHELINE-1);
len+=off;l=len;p=(char*)address-off;asm volatile("nop");asm volatile("movec %%cacr,%0":"=r"(cacr):);cacr|=0x00000004;/**/do{asm
volatile("movec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec
%1,%%cacr\naddq.l #4,%0\nmovec %0,%%caar\nmovec %1,%%cacr\n"::"r"(p),"r"(cacr));p+= CACHELINE;} while((l-=CACHELINE)>0);asm
volatile("nop");}staticvoidset_pgdir(void*rt)
{long_page_directory_entryentry;*(uint64*)&entry=DFL_PAGEENT_VAL;entry.type=DT_ROOT;entry.addr=TA_TO_PREA(((addr_t)rt));asmvola
tile("pmove(%0),%%srp\npmove(%0),%

Оценить