centreon / centreon-dsm Goto Github PK
View Code? Open in Web Editor NEWDynamic Service Monitoring
Dynamic Service Monitoring
Author Name: Fred Boutron (Fred Boutron)
Original Redmine Issue: 4167, https://forge.centreon.com/issues/4167
Original Date: 2013-01-31
Original Assignee: Julien Mathis
Bonjour,
J'ai installé centreon-DSM (1.3.1) aujourd'hui sur ma plateforme centreon (2.3.9), mais je n'arrive pas à créer de slot.
En regardant dans le log sql-error.log, j'ai remarqué qu'il y avait cette erreur lors de la création :
2013-01-31 15:38|0|0|DB Error: constraint violation QUERY : INSERT INTO mod_dsm_pool ( pool_id,pool_name,pool_host_id,pool_description,pool_number,pool_prefix,pool_cmd_id,pool_args,pool_activate,pool_service_template_id) VALUES ( NULL, 'test', '697', 'test', '20', 'test', '200', NULL, '1', NULL )
Je ne penses pas pourtant oublier d'informations dans le formulaire.
Si vous avez une piste, je suis preneur.
Merci d'avance.
Hello,
When we install the packet centreon-dsm-server 2.1.2 a variable is not well exported in the file /etc/init.d/dsmd and the service refuses to start
Line 14:
#binary=@CENTREON_BINDIR@/dsmd.pl
Yet the variable is present in "/etc/centreon/instCentWeb.conf"
CENTREON_BINDIR=/usr/share/centreon/bin
If you replace manually the init file the line 14 by "/usr/share/centreon/bin/dsmd.pl" the service start fine.
Author Name: Quentin Garnier (Quentin Garnier)
Original Redmine Issue: 3176, https://forge.centreon.com/issues/3176
Original Date: 2012-03-20
Original Assignee: Julien Mathis
Hi,
Following scripts have the problem. They don't use the MySQL port set in the database:
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 3694, https://forge.centreon.com/issues/3694
Original Date: 2012-09-19
Original Assignee: Julien Mathis
A lot of warning in perl script "purgeCacheTrap.pl":
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 3693, https://forge.centreon.com/issues/3693
Original Date: 2012-09-19
Original Assignee: Julien Mathis
If I have a host whose name of the service is identical in the name of the Centreon-DSM slot. The script snmpTrapDyn.pl try to send external command to active service instead of first available slot.
Author Name: charles judith (charles judith)
Original Redmine Issue: 3142, https://forge.centreon.com/issues/3142
Original Date: 2012-03-01
Original Assignee: Maximilien Bersoult
[root@localhost centreon-dsm]# cd /var/lib/centreon/centreon-dsm/cache/
[root@localhost cache]# ll
total 72
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-0
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-1
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-10
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-11
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-12
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-13
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-14
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-15
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-16
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-2
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-3
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-4
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-5
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-6
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-7
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-8
-rw-r--r-- 1 root root 12 Mar 1 18:26 -nil.cache-9
Thanks,
Author Name: Stephane Duret (Stephane Duret)
Original Redmine Issue: 4530, https://forge.centreon.com/issues/4530
Original Date: 2013-06-11
Original Assignee: Julien Mathis
Hello,
I just install centeon DSM 2.0, so when I test this command:
@/usr/share/centreon/bin/dsmclient.pl -H 127.0.0.1 -t 1370953344 -i @{enterprises.78.5.7.9.5.4.8.99.1} -o ""@
This error is returned:
@dbd::mysql::db do failed: Table 'centreon_storage.mod_dsm_cache' doesn't exist at /usr/share/centreon/bin/dsmclient.pl line 229.@
Thanks,
Author Name: Mathieu Cinquin (Mathieu Cinquin)
Original Redmine Issue: 4048, https://forge.centreon.com/issues/4048
Original Date: 2013-01-08
Bonjour,
Le fichier /etc/centreon/conf_dsm.pm est manquant dans la version RPM du module Centreon-DSM.
Cordialement
Hello,
Here: https://documentation.centreon.com/docs/centreon-dsm/en/latest/user/index.html#configure-slots
In the Descritpions of the parameter "Slot name prefix"' there is a misspelling:
"The prefix is user to give the name of slots" instead of "The prefix is used to give the name of slots"
In the description of the parameter"Check command" :
"This check command is used when the service have to be forced in order to free a slot"
instead of
"This check command is used when the service has to be forced in order to free a slot"
Versions
centreon-2.8.26-3.el7.centos.noarch
centreon-dsm-client-2.1.2-1.el7.centos.noarch
centreon-dsm-server-2.1.2-1.el7.centos.noarch
Operating System
Red Hat Enterprise Linux Server release 7.2 (Maipo)
Alerts handled by DSM are not displayed any more.
But they are inserted in MySQL.
Happened after switching from one node to another in VCS.
DSM daemon was up and running.
In centreon-dsm.log:
2019-03-06 17:50:17 - [II] [Daemon] Error when connecting to database centreon : Lost connection to MySQL server during query
2019-03-06 17:50:19 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:21 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:23 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:25 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:27 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:29 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:31 - [II] [Daemon] Error when connecting to database centreon : Can't connect to MySQL server on '10.60.21.209' (111 "Connection refused")
2019-03-06 17:50:33 - [II] [Daemon] Error when getting drop and perfdata properties : Table 'centreon.cfg_ndo2db' doesn't exist
2019-03-06 17:50:33 - [II] [Daemon] Error when connecting to database : Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")2019-03-06 17:50:34 - [II] [client] Insert Alarm for host ......
2019-03-06 17:50:35 - [II] [Daemon] Error when getting drop and perfdata properties : Table 'centreon.cfg_ndo2db' doesn't exist
2019-03-06 17:50:35 - [II] [Daemon] Error when connecting to database : Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")2019-03-06 17:50:36 - [II] [client] Insert Alarm for host ......
2019-03-06 17:50:37 - [II] [Daemon] Error when getting drop and perfdata properties : Table 'centreon.cfg_ndo2db' doesn't exist
The MySQL cluster (VCS) switched to another node at 17:49:35 and was back available at 17:50:35
Restarting the daemon solved the issue.
In centreon-dsm.log:
2019-03-08 13:28:35 - [II] [Daemon] Error when getting drop and perfdata properties : Table 'centreon.cfg_ndo2db' doesn't exist
2019-03-08 13:28:35 - [II] [Daemon] Error when connecting to database : Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")2019-03-08 13:28:36 - [II] [Daemon] Receiving order to stop...
2019-03-08 13:28:36 - [EE] [Daemon] MySQL server has gone away
2019-03-08 13:28:36 - [II] [Daemon] Error:MySQL server has gone away2019-03-08 13:29:09 - [II] [Daemon] Starting DSMD
2019-03-08 13:29:12 - [II] [Daemon] Send external command : [1552051752] CHANGE_CUSTOM_SVC_VAR;......
Author Name: charles judith (charles judith)
Original Redmine Issue: 3139, https://forge.centreon.com/issues/3139
Original Date: 2012-03-01
Original Assignee: Maximilien Bersoult
Hi,
If you made some mistake in the first configuration, for example you wrote that in Centreon Interface:
check_command check_centreon_dummy!0OK
When you fix this mistake, in services.cfg the line "check_command check_centreon_dummy!0OK" is still here. In Centreon's interface you have "!0!OK"
The workaround is to delete the pool and create another one.
Thanks,
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 3406, https://forge.centreon.com/issues/3406
Original Date: 2012-06-27
Add possibility to define many groups of slots and link traps OID to specific group.
for example: create 2 groups of slots ("LOGS-" and "TRAPS-" on host A and link SNMP Traps to group "TRAPS-" and events to "LOGS-".
If two hostname has the same IP, the dsm daemon can get the wrong host (function 'getRealHostName').
To solve it, we need to use HOSTID in option. Not the hostname.
A timestamp to add a purge script for that.
Hello,
Currently the field Prefix is limited to 10 characters, it is not sufficient.
Regards.
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 2934, https://forge.centreon.com/issues/2934
Original Date: 2012-01-03
Original Assignee: Maximilien Bersoult
When I choose to disable a Centreon-DSM slot, the module have to disable Nagios services created by this slot !
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 3457, https://forge.centreon.com/issues/3457
Original Date: 2012-07-23
Delete slots/services created by Centeron-DSM if module Centreon-DSM is removed from menu "Administration -> Modules"
Author Name: eric coquard (eric coquard)
Original Redmine Issue: 3468, https://forge.centreon.com/issues/3468
Original Date: 2012-07-26
Original Assignee: Julien Mathis
Bonjour
Je vous propose une solution de fonctionnement DSM en mode distribuée avec un poller distant à l'adresse suivante http://eric.coquard.free.fr/atelier/supervision/CentCore_Centreon/dsm_centcore/dsm_distribue.html
modification du fichier centTrapHandler-2.x pour envoyer la commande snmpTrapDyn.pl sur le serveur Central. J'en ai profité pour mettre une gestion de log pour centTrapHandler-2.x
In the following commented code is not used:
sub cleanEmptyMacros($$) {
my ($dbh, $dbh2) = @_;
#my $sth = $dbhS->prepare("SELECT * from mod_dsm_locks");
#if (!defined($sth)) {
# writeLogFile($DBI::errstr, "EE");
#}
#my @locks;
#if ($sth->execute()) {
# while (my $lock = $sth->fetchrow_hashref()) {
# $locks[$lock->{'host_name'}.";".$lock->{'service_description'}] = 1;
# }
# $sth->finish();
#}
The table '@locks' is used like a hash table ???!! In fact, the table is never used anywhere else in the code.
Another variable is not used: '@fullHostList'. Should be removed.
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 3458, https://forge.centreon.com/issues/3458
Original Date: 2012-07-23
Create documentation on http://documentation.centreon.com in "The Centreon modules" section
If centcore move its pipe, dsm client have to retry to send command
Author Name: charles judith (charles judith)
Original Redmine Issue: 3141, https://forge.centreon.com/issues/3141
Original Date: 2012-03-01
Original Assignee: Maximilien Bersoult
[root@localhost]# perl -w /usr/share/centreon/cron/enableTrap.pl
Undefined subroutine &main::getDBType called at /usr/share/centreon/cron/enableTrap.pl line 76.
[root@localhost]# perl -w /usr/share/centreon/cron/purgeCacheTrap.pl
Useless use of a variable in void context at /etc/centreon//conf_dsm.pm line 23.
Useless use of a variable in void context at /etc/centreon//conf_dsm.pm line 27.
DBD::mysql::st execute failed: Table 'centreon_storage.services' doesn't exist at /usr/share/centreon/cron/purgeCacheTrap.pl line 370.
services table doesn't exist on centreon_storage database in 2.2.2.
Thanks,
Author Name: Jérémie Pradet (Jérémie Pradet)
Original Redmine Issue: 2566, https://forge.centreon.com/issues/2566
Original Date: 2011-07-18
Hello
Can we have a explanation, presentation and documation of DSM ? (English or French)
because I don't understand this extension.
Than you
We need to add a sleep call in the main loop. Otherwise, it takes too much CPU.
If an host doesn't have some slot configured, the dsm server will submit an alert in the first service found!
We need to correct the return code in function 'getPoolPrefix'. If the SQL request returns empty, we need to return -1 and not the variable '$prefix' with empty string.
in dsmclient.pl we still use
mysql_database_oreon $mysql_database_ods $mysql_host $mysql_user $mysql_passwd $ndo_conf
that are deprecated. It will not be a problem in most cases but if you follow the trap documentation
https://documentation-fr.centreon.com/docs/centreon/en/2.7.x/configuration_guide/advanced_configuration/traps.html?highlight=conf#configuration-de-la-connexion-a-la-base-de-donnees
you might ends up removing this :
$mysql_user = "centreon";
$mysql_passwd = 'centreon';
$mysql_host = "localhost:3306";
$mysql_database_oreon = "centreon";
$mysql_database_ods = "centreon_storage";
and not having dsmclient works
Author Name: charles judith (charles judith)
Original Redmine Issue: 3416, https://forge.centreon.com/issues/3416
Original Date: 2012-07-05
Original Assignee: Julien Mathis
Hi,
I think there is a mistake in the RPM version.
perl -w /usr/share/centreon/cron/enableTrap.pl
Can't locate /etc/centreonconf.pm in @inc (@inc contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/share/centreon/cron/enableTrap.pl line 50.
I think you need replace /etc/centreonconf.pm by /etc/centreon/conf.pm
Thanks,
Hello,
I'm installing Centreon DSM using following documentation :
I'm using CES 3, the following command does not work :
yum install centreon-dsm
In my mind the command should be this one :
yum install centreon-dsm-server
If you can confirm this feedback, the online documentation should be updated.
Best regards.
Hi,
The problem comes from the following request in the file '/usr/share/centreon/bin/dsmclient.pl':
my $request = "SELECT * FROM mod_dsm_cache WHERE host_name LIKE '$host_name' AND ctime < '$entry_time' AND id = '$id'";
It should be :
my $request = "SELECT * FROM mod_dsm_cache WHERE host_name LIKE '$host_name' AND ctime <= '$entry_time' AND id = '$id'";
It's not a problem to change it. If there is clear traps you should enable the "sequential mode" for the trap configuration (or the group option if the clear trap and the error trap is not the same oid).
Author Name: Maximilien Bersoult (Maximilien Bersoult)
Original Redmine Issue: 3226, https://forge.centreon.com/issues/3226
Original Date: 2012-04-10
Suppress Warning message when Getopt::Long is not installed
"Can't use an undefined value as a HASH reference at /usr/share/centreon/bin/snmpTrapDyn.pl line 431"
Hello,
Sometime event was not sent to the engine we just have the insert
As you can see in centreon-dsm.log the Cleared Alarm isn't send to the engine.
2016-06-28 20:10:04 - [II] [client] Insert Alarm for host 'RNC-PK5' at '1467105000' with id '21338594' and output '21338594 2016-06-28 20h07 Critical PATATRO LAN Error'.
2016-06-28 20:10:15 - [II] [Daemon] Send external command : [1467105015] CHANGE_CUSTOM_SVC_VAR;RNC-PK5;Traps-RAD-0004;ALARM_ID;21338594 (/var/lib/centreon-engine/rw/centengine.cmd)
2016-06-28 20:10:15 - [II] [Daemon] Send external command : [1467105000] PROCESS_SERVICE_CHECK_RESULT;RNC-PK5;Traps-RAD-0004;2;21338594 2016-06-28 20h07 Critical PATATRO LAN Error (/var/lib/centreon-engine/rw/centengine.cmd)
2016-06-30 11:45:04 - [II] [client] Insert Alarm for host 'RNC-PK5' at '1467247502' with id '21338594' and output '21338594 2016-06-30 11h40 Cleared PATATRO LAN Error'.
Author Name: charles judith (charles judith)
Original Redmine Issue: 3143, https://forge.centreon.com/issues/3143
Original Date: 2012-03-02
Original Assignee: Maximilien Bersoult
You will find a screenshot in attachement.
And here the error in dynamicTrap.log:
[root@localhost bin]# tail -f /var/log/centreon/dynamicTrap.log
2012-03-01 20:55:02 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
2012-03-01 20:56:01 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
2012-03-01 20:57:01 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
2012-03-01 20:58:02 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
2012-03-01 20:59:01 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
2012-03-01 21:00:01 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
2012-03-01 21:01:02 - [EE] Error when getting perfdata file : Table 'centreon_storage.services' doesn't exist
The table "services" doesn't exist in 2.2.2 in centstorage database.
Thanks,
Author Name: Simon Bomm (Simon Bomm)
Original Redmine Issue: 4628, https://forge.centreon.com/issues/4628
Original Date: 2013-07-15
Hi,
When reaching "Administration > Modules > [Dynamic Services] -- Configure", there's a php warning showing up (cf attached files).
Error ligne 1497 of /usr/share/centreon/www/include/common/common-Func.php
In following function, $chemintotal is pointing to an nonexistent directory, should be a translation issue.
function getLangs(){
$langs = array();
$chemintotal = "./locale/";
$default = "en_US";
$langs["en_US"] = "en_US";
if ($handle = opendir($chemintotal)) {
while ($file = readdir($handle))
if (is_dir("$chemintotal/$file") && strcmp($file, ".") && strcmp($file, ".."))
$langs[$file] = $file;
closedir($handle);
}
return $langs;
}
Thanks you,
Hello,
I implemented Centreon DSM and I am facing to a problem because currently I received a lot (error) of log from dsmd.pl on /var/log/message. How can I change the default log location to have a dédicated one ?
/var/log/message
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value $service_description in concatenation
(.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value $service_description in concatenation
(.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 03:30:49 server1 dsmd.pl[82665]: Use of uninitialized value $data in concatenation (.) or string a
t /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 03:31:48 server1 dsmd.pl[82665]: Use of uninitialized value in pattern match (m//) at /usr/share/c
entreon/bin/dsmd.pl line 320.
Oct 9 07:56:14 server1 dsmd.pl[82665]: Use of uninitialized value $free_slot_data in concatenation (.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 07:56:14 server1 dsmd.pl[82665]: Use of uninitialized value $service_description in concatenation (.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 07:56:14 server1 dsmd.pl[82665]: Use of uninitialized value $service_description in concatenation (.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 07:56:14 server1 dsmd.pl[82665]: Use of uninitialized value $data in concatenation (.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 07:56:14 server1 dsmd.pl[82665]: Use of uninitialized value $free_slot_service in concatenation (.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Oct 9 07:56:14 server1 dsmd.pl[82665]: Use of uninitialized value $free_slot_data in concatenation (.) or string at /usr/share/centreon/bin/dsmd.pl line 475.
Thanks
Best Regards
Author Name: Laurent Pinsivy (Laurent Pinsivy)
Original Redmine Issue: 2094, https://forge.centreon.com/issues/2094
Original Date: 2010-12-17
Original Assignee: Julien Mathis
DBD::mysql::st fetchrow_hashref failed: fetch() without execute() at /usr/share/centreon/cron/purgeCacheTrap.pl line 105.
Author Name: Sylvestre Ho (Sylvestre Ho)
Original Redmine Issue: 3221, https://forge.centreon.com/issues/3221
Original Date: 2012-04-06
Original Assignee: Julien Mathis
as subject =)
Author Name: eric coquard (eric coquard)
Original Redmine Issue: 3473, https://forge.centreon.com/issues/3473
Original Date: 2012-07-27
Original Assignee: Julien Mathis
Exemple : j'ai deux pools de traps définis: host1 et host2. Si host1 n'a pas de traps en cache et host2 a des traps en cache, le script purgeCacheTrap.pl s'arrête au premier host. Il y a une variable $count qui liste les traps en cache, si elle vaut zéro (aucun trap pour l'host1 par exemple) la condition exit(0) est activée et ferme le programme sans vérifier le deuxième hosts.
Il faudrait sortir de la boucle while ($host = $th2->fetchrow_hashref()) et non du programme.
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.