Giter VIP home page Giter VIP logo

netxms / netxms Goto Github PK

View Code? Open in Web Editor NEW
202.0 13.0 43.0 156.01 MB

NetXMS - Open Source network and infrastructure monitoring and management

Home Page: https://www.netxms.org

License: Other

Makefile 0.29% M4 0.25% Java 52.18% Batchfile 0.02% Perl 0.03% Shell 0.16% Python 0.03% C 21.61% C++ 24.41% Inno Setup 0.20% HTML 0.07% Module Management System 0.01% Lex 0.04% Yacc 0.11% JavaScript 0.18% CSS 0.40% Roff 0.01% PowerShell 0.01% TSQL 0.01%
nms lorawan mqtt snmp netxms

netxms's Introduction

NetXMS — enterprise-grade monitoring

NetXMS is an open-source network and infrastructure monitoring and management solution, providing performance and availability monitoring with flexible event processing, alerting, reporting and graphing for all layers of IT infrastructure. It’s a solution for every type of device — it can monitor and manage your entire IT infrastructure — from network switches to apps — all in one place.

Architecture

Architecture

Features

Network monitoring

  • Builds network topology and maps automatically
  • Collects information via ARP caches, routing tables, LLDP, CDP, STP, switch forwarding databases
  • Automatically updates peer information for all registered hosts and devices
  • Provides searches for specific MAC or IP address and information about wireless access points and wireless clients
  • Offers easy access to routing tables, MAC tables, and VLAN information
  • Visualises IP routes
  • Enables topology-based event correlations
  • Supports all SNMP versions
  • Has configurable routing change detection
  • Provides a mechanism for handling vendor- or device-specific information and presenting it in a unified way
  • Collects data via SSH
  • Collects data via web services in XML, JSON and plain text format.

User interface

  • Choose between the desktop or web-based version, or use both simultaneously
  • Desktop version available for Windows, Max OS X, and Linux
  • Offers graphical network maps and user-configurable dashboards
  • Can be integrated with Grafana

Server and workstation monitoring

  • Provides agents for all popular platforms and operating systems — centralises configuration and upgrades, uses the minimum system resources, acts as proxy for other agents and SNMP devices if necessary, communicates in a firewall-friendly way, offers local cache for unstable connections
  • Monitors log file contents
  • Wide range of metrics out of the box:
    • network and I/O performance;
    • process, CPU, and memory consumption;
    • network services;
    • hardware sensors;
    • application-level metrics for various applications;
    • and many others
  • File transfer capabilities built into the NetXMS agent
  • Can be utilised for user support — a low-footprint application that presents users with preconfigured actions and basic information for helpdesk, configurable actions via NetXMS policies, screenshots and screencast

Distributed monitoring

  • Divides networks into zones with overlapping subnets and proxy agents for logical grouping or distributing data collection load
  • Ensures automatic load balancing and failover with multiple proxy agents for each zone
  • Continues to collect data in autonomous mode when the central management server is not available
  • Receives syslog messages and SNMP traps from monitored devices to forward them to the central management server or local storage if the connection is down
  • Eliminates the need to connect directly to each device in remote locations — a single TCP port open in either direction is enough for server-to-proxy-agent communication

Built-in scripting engine

  • Allows for advanced automation and management
  • “Hook” scripts can be called from many places within the system for custom processing
  • Can be used for data transformation, complex thresholds, complex event processing rules, SNMP trap transformation, and many other purposes
  • Uses easy-to-earn non-strict typed interpreted language
  • Optimised for speed and low memory footprint so that a server can run hundreds of scripts simultaneously
  • Each script runs inside its own VM with no access to anything outside the server process other than through well-defined APIs
  • Additional security mechanisms are available to prevent unauthorised data access via scripts

Integration

  • Full Java API allows users to do everything that can be done from UI
  • Permits partial or complete replacement of UI
  • Rest API provides access to collected data and NetXMS configuration
  • Has modular agents and servers so that their functionality can be extended by writing additional modules (plugins)
  • Python-based scripting language provides access to full Java API
  • Built-in integration with helpdesk systems

Security

  • Offers an internal user database or integration with an external directory using LDAP (both can be used simultaneously)
  • Supports authentication with passwords, X.509 certificates, smart cards, RADIUS or LDAP server
  • Uses two-factor authentication with TOTP or one-time codes sent via SMS or instant message
  • Encrypts all communications
  • Enables fine-grained access control configuration
  • Offers an extensive audit log with optional sending to an external system

Data and event processing

  • Offers flexible policy-based event processing
  • Enables alarm creation and termination, internal script execution, command execution on a management server or on a remote host via a NetXMS agent and other configurable commands
  • Supports notifications via email, MS Teams, Telegram, Slack, SMS via GSM modem or SMS gateway
  • Offers support for problem escalation
  • Has a flexible threshold system for data collection
  • Configurable with templates for simplified management of large networks

Business services

  • Translates metrics collected by NetXMS to business language.
  • View vital SLA information at a glance.
  • The status of the service is determined based on the status of monitored objects (servers, network devices, etc.) or metric thresholds.
  • Calculate business service availability for the arbitrary time range.
  • View detailed information about business service downtime, including start time, end time and cause.

Installation

Full installation information is available there.

Installing from deb repository

We host public APT repository http://packages.netxms.org/ for all deb-based distributions (Debian, Ubuntu, Mint, Raspbian, etc.). Packages are signed, and you’ll need to install additional encryption key for signature verification.

  1. Download and install netxms-release-latest.deb package, which contain source list file of the repository as well as signing key:
wget http://packages.netxms.org/netxms-release-latest.deb
sudo dpkg -i netxms-release-latest.deb
sudo apt-get update
  1. Then you can install the required components, e.g. to install NetXMS server for use with PostgreSQL:
sudo apt-get install netxms-server netxms-dbdrv-pgsql
  1. Amend database connection details in server configuration file (/etc/netxmsd.conf).

  2. Initialize database schema.

nxdbmgr init
  1. Start the NetXMS server
sudo systemctl start netxmsd

Other options

Installers for other platforms (Windows, Aix, Solaris...) are available on netxms.org.

Documentaion

Support

Community support:

Commercial support: Raden Solutions Additional professional services: Raden Solutions

License

Most parts of NetXMS are licensed under the GNU General Public License version 2, but there are some exclusions. See COPYING for more information.

netxms's People

Contributors

2128506 avatar abkulakli avatar alisasin avatar alkk avatar andrey-utkin avatar benletchford avatar dependabot[bot] avatar dianapronckute avatar dmarteenez avatar filippsudanov avatar maksims-raden-solutions avatar maniack avatar marcoincalcaterra avatar mishaal79 avatar pevot avatar rinabin avatar spuhpointer avatar srcr avatar svost avatar syepes avatar tomaskir avatar xiewg avatar zev333 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netxms's Issues

SQL queries fail on rack entries

How to replicate:

  • Created an empty Rack
  • Added a passive element - patch panel
  • Changed patch panel position
2020.01.03 19:52:58.378 *E* [db.drv             ] SQL query failed (Query = "INSERT INTO racks (height,top_bottom_num,id) VALUES (?,?,?)"): Duplicate entry '0' for key 'PRIMARY'
2020.01.03 19:53:28.398 *E* [db.drv             ] SQL query failed (Query = "INSERT INTO racks (height,top_bottom_num,id) VALUES (?,?,?)"): Duplicate entry '0' for key 'PRIMARY'
2020.01.03 19:53:58.417 *E* [db.drv             ] SQL query failed (Query = "INSERT INTO racks (height,top_bottom_num,id) VALUES (?,?,?)"): Duplicate entry '0' for key 'PRIMARY'
2020.01.03 19:54:28.437 *E* [db.drv             ] SQL query failed (Query = "INSERT INTO racks (height,top_bottom_num,id) VALUES (?,?,?)"): Duplicate entry '0' for key 'PRIMARY'

no more grace logins

When I use your Netxms,and I don't modify password. Mow it show "no more grace logins".
Can you help me?

Compile issue: looking for jni.h under /usr/share/java

Hi,

I've downloaded 2.2.17 from the website. Trying to compile on FreeBSD, configure aborts:

checking jni.h usability... no
checking jni.h presence... no
checking for jni.h... no
configure: error: *** Cannot find jni.h - check your JDK installation ***

My configure invocation was:

./configure --with-server --with-snmp --with-mysql --sysconfdir=/usr/local/etc/netxms --sharedstatedir=/var/db/netxms --localstatedir=/var/db/netxms --with-jdk --includedir=/usr/local/openjdk8/include

Checking config.log it searched for jni.h under /usr/share/java, for which I don't see any override option. In order to compile 2.2.16 I remember I set the --includedir variable pointing to the openjdk8 installation but it seems to be ignored on 2.2.17. Or I am terribly thick this morning!

make error when install netxms 3.8.314 from source on FreeBSD 13

I try to install nexms from source in FreeBSD 13.

uname -a 
FreeBSD 13.0-RELEASE #0 releng/13.0-n244733-ea31abc261f: Fri Apr  9 04:24:09 UTC 2021     [email protected]:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64

When i start make I have this error:

make  all-recursive
Making all in .
Making all in m4
Making all in build
./updatetag.pl
Cannot read git tag
make  all-am
./updatetag.pl
Cannot read git tag
Making all in src
Making all in jansson
  CC       libnxjansson_la-dump.lo
  CC       libnxjansson_la-error.lo
  CC       libnxjansson_la-hashtable.lo
  CC       libnxjansson_la-hashtable_seed.lo
  CC       libnxjansson_la-load.lo
  CC       libnxjansson_la-memory.lo
  CC       libnxjansson_la-pack_unpack.lo
  CC       libnxjansson_la-strbuffer.lo
  CC       libnxjansson_la-strconv.lo
  CC       libnxjansson_la-utf.lo
  CC       libnxjansson_la-value.lo
  CCLD     libnxjansson.la
Making all in libnetxms
  CXX      libnetxms_la-array.lo
In file included from array.cpp:24:
In file included from ./libnetxms.h:28:
../../include/nms_util.h:3859:27: error: functions that differ only in their return type cannot be overloaded
void LIBNETXMS_EXPORTABLE qsort_s(void *base, size_t nmemb, size_t size, int (*compare)(void *, const void *, const void *), void *context);
~~~~                      ^
/usr/include/stdlib.h:359:10: note: previous declaration is here
errno_t  qsort_s(void *, rsize_t, rsize_t,
~~~~~~~  ^
array.cpp:374:4: error: no matching function for call to 'qsort_s'
   qsort_s(m_data, m_size, m_elementSize, cb, context);
   ^~~~~~~
/usr/include/stdlib.h:359:10: note: candidate function not viable: no known conversion from 'int (*)(void *, const void *, const void *)' to 'int (*)(const void *, const void *, void *)' for 4th argument
errno_t  qsort_s(void *, rsize_t, rsize_t,
         ^
2 errors generated.
*** Error code 1

Stop.
make[3]: stopped in /usr/home/kaan/netxms-3.8.314/src/libnetxms
*** Error code 1

Stop.
make[2]: stopped in /usr/home/kaan/netxms-3.8.314/src
*** Error code 1

this is my topic on the forum

Missing Server Configuration variable for CAS allowed proxies & Char Buffer for Principal ID too small

Dear developer team,

I am currently using and testing NetXMS with CAS authentication and while setting it up, I came across the following two issues, both of which are related to the file src/server/core/cas_validator.cpp.

The first one is related to the Character buffer char netid[14] in line 161, which is used as target buffer when extracting the username from the <cas:user> XML field of the service ticket validation response. With an array length of 14, it allows for an effective username length of 13 characters. As my CAS server uses the e-mail address as the principal ID/username, this length is insufficient.
Is there a specific reason, why the array length has been set to 14 or could it be increased?

The second issue is related to the validation of CAS Proxy Tickets and the string array char *m_proxies[] in line 56. During proxy ticket validation, it is checked, whether the value of the XML field cas:proxy or cas:proxies is present in the *m_proxies array. This corresponds to line 258 in cas_validator.cpp. However, the value of the array is initialized with { NULL } and I did not find any location in the code, where additional values are added to it, causing the proxy ticket validation to always fail and return the error CAS: bad proxy (...). To solve this issue you could introduce a new server configuration parameter (e.g. CASAllowedProxies) to be used in the method void CASReadSettings (line 62), which then extracts a string array of URLs that are to be used as allowed proxies.

Hopefully, this can help you get rid of these problems.

Kind regards,
fbuehrmann

(Using NetXMS version 3.0-2357, sourcecode was checked both in stable-3.1 as well as master branch)

Feature: RX and TX

  1. Would like to have feature like Rx and Tx added for each snmp device so we can see the graph.
  2. In map like we see icmp that shows device is online would like to have Rx and Tx added for each snmp device so it can show in map for
    red: no Rx received
    orange: below the average
    green: normal

Note:If I have missed or if you want to point on document please do so I would like to go through it.

CAS Validation URL

aloha,

I think there is a typo in master/src/server/core/cas_validator.cpp line 281
-> if (snprintf(full_request, 4096, "GET %s?ticket=%s&service=%s HTTP/1.0\n\n", s_validateURL, ticket, s_service) >= 4096)

It should be "HTTP/1.0\r\n" or just "HTTP/1.0"

Apache Server is giving me a 400 error because of "HTTP/1.0\n"
-> "GET /cas/serviceValidate?ticket=ST-10159-jh3DJSRUbD59ciOtDxEuVFq3XCU-casdev&service=https://test.server.xyz/mon/nxmc-clarity HTTP/1.0\n" 400 4819 "-" "-"

Thank You for the best monitoring Software ever :D

Unknown Object Attribute and Method

I'm currently learning NXSL to write scripts for executing ssh commands to nodes but have immediately run into issues that I'm unable to pinpoint the issue based on their documentation here: https://www.netxms.org/documentation/nxsl-latest/#_introduction

I've left a post on the support forum outlining my issue and further information on what I was able to verify.
https://www.netxms.org/forum/general-support/unknown-object-attribute-and-method/

1 sub main() {
2 	node = Objects.FindNodeByIPAddress($1, null);
3
4	if (node == NULL) {
5		println("Error: node not found.");
6    }
7
8	//println(node->name);
9   println(node->executeSSHCommand("ip address print"));
10}

When I try to execute the code above, it says "Error 30 in line 9: Unknown object's method" claiming the executeSSHCommand method doesn't exist, yet based on Node documentation is does.

When commenting that line out and uncommenting line 8, it says the attribute doesn't exist.
However, in documentation, it does.

I found that the node variable is a String based on the classof(node) and typeof(node) methods. It seems all the FindNode methods are returning strings instead of instances of Node and I have verified this.

My 2nd follow up post on the forum
https://www.netxms.org/forum/index.php?msg=32315

I'm running the follow:

Server version: 4.3.2 (build 4.3-374-g4f45f9ba5c)
Java version: 11.0.10
JVM: OpenJDK 64-Bit Server VM 11.0.10+9

Wrong SNMP OID from device after full configuration

Несколько странные результаты опроса сервером конифгруации устройства.
Имеем около 50 QTECH QSW-4610T с разынм количеством портов. После опроса получаем вот такой OID.

SNMP Object ID=.1.3.6.1.4.1.27514.1.1.1.480

Screenshot 2023-07-01 at 10 10 04

При ручном опросе говорят идите в пеший маршрут

nxadmin@netxms4:~$ snmpwalk -c public -v 2c 10.102.7.1 .1.3.6.1.4.1.27514.1.1
iso.3.6.1.4.1.27514.1.1 = No Such Object available on this agent at this OID

В миб файле такого тоже нет. Происходит по естественно по всем коммутаторам.

MIB file
Где порылась собака?

PS: Пробовал ручками поменять OID в базе nodes.snmp_oid - не работает.

Right click menu on Passive Elements in Rack

Passive elements in Racks have right click menus in the Rack view.
However none of the menu elements do anything.

Likely best would be just to remove right click menu on passive elements.

Migrating to TimescaleDB failed on inserting duplicates into idata from idata_xxxx

Migration to TimescaleDB failed, if a source idata_XXX table contain multiple records with same item_id and data_timestamp:

Migrating table idata_287 to data
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1642, 2023-03-04 13:54:13+03) already exists.)
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1642, 2023-03-04 13:39:13+03) already exists.)
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1641, 2023-03-04 12:51:11+03) already exists.)
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1641, 2023-03-04 12:50:11+03) already exists.)
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1641, 2023-03-04 13:23:13+03) already exists.)
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1642, 2023-03-04 13:24:13+03) already exists.)
ERROR: unable to insert data to destination table (23505 ERROR:  duplicate key value violates unique constraint "349_349_idata_sc_30_pkey"
DETAIL:  Key (item_id, idata_timestamp)=(1641, 2023-03-04 13:24:13+03) already exists.)

In my situation duplicate records can contain the same values or different values.

Probably, function MigrateSingleDataTableToTSDB https://github.com/netxms/netxms/blob/master/src/server/tools/nxdbmgr/migrate.cpp should check target table for existance of records with this item_id and idata_timestamp (unique key pair) or skip migration of failed record and continue with next one.

Using DISTINCT in a select clause con solve situation if the same values in duplicates .

With some modifications to migrate.cpp got working migration (patch attached ) Of course this is not best solution, but solved my problem. Failed records skipped and import continues.

First migration MariaDB -> PostgreSQL - saved about 20G
Second Migration PostgreSQL -> TimescaleDB in progress

Ubuntu 18.04 NetXMS 4.3.2 MariaDB 10.1.4
migrate.cpp.patch
Снимок экрана 2023-03-05 в 20 41 05

Multiple servers in a single NXMC installation must have separate folders for storing session data

А можно ли реализовать механизм при котором бинарная консоль хранит состоянии сессии (открытые вкладки и прочее ) раздельно по каждому серверу некоторый был вход? Просто при перерключении между серверами приходится закрывать кучу бесполезных вкладок и прдеупреждений о невалидности объектов

Если я создавал и компилировал кастомные MIB - то при обновлении консоли (во всяком случае на маке) они затираются эталонными из комплекта поставки. Как вариант - можно сделать возможность хранить кастомные  MIB рядом с эталонными и использовать оба варианта? Или хотя бы эталонные класть рядом с кастомными. И дать пользователю выбрать нужный вариант? Зачастую собрать (и найти и скомпилить) кастомные бывает непросто, просто жалко терять. Я регулярно переписываю из своей копии и дерево исходников и готовую базу. В дереве исходников пришлось заменить 3 файла более свежими.

Заранее спасибо.

Some possible errors detected by static analyzer

You might find it useful. Or not. :)

The tool is cppcheck 1.80

[src/agent/core/actions.cpp:51]: (error) Common realloc mistake: 'm_pActionList' nulled but not freed upon failure
[src/agent/core/config.cpp:105]: (error) Common realloc mistake: 'pRawMsg' nulled but not freed upon failure
[src/agent/core/exec.cpp:170]: (error) Common realloc mistake: 'pszCmdLine' nulled but not freed upon failure
[src/agent/core/exec.cpp:391]: (error) Common realloc mistake: 'pszCmdLine' nulled but not freed upon failure
[src/agent/core/exec.cpp:650]: (error) Common realloc mistake: 'pszCmdLine' nulled but not freed upon failure
[src/agent/core/getparam.cpp:441]: (error) Common realloc mistake: 'm_pPushParamList' nulled but not freed upon failure
[src/agent/core/getparam.cpp:482]: (error) Common realloc mistake: 'm_pParamList' nulled but not freed upon failure
[src/agent/core/getparam.cpp:512]: (error) Common realloc mistake: 'm_pEnumList' nulled but not freed upon failure
[src/agent/core/getparam.cpp:545]: (error) Common realloc mistake: 'm_pTableList' nulled but not freed upon failure
[src/agent/core/hddinfo.cpp:197]: (error) Array 'pbValue[40]' accessed at index 41, which is out of bounds.
[src/agent/core/nxagentd.cpp:1501]: (error) Invalid number of character '{' when these macros are defined: 'UNICODE;_WIN32'.
[src/agent/core/register.cpp:78]: (error) Common realloc mistake: 'pRawMsg' nulled but not freed upon failure
[src/agent/subagents/aix/disk.cpp:105]: (error) Common realloc mistake: 'buffer' nulled but not freed upon failure
[src/agent/subagents/aix/lvm.cpp:90] -> [src/agent/subagents/aix/lvm.cpp:31]: (error) Buffer is accessed out of bounds: buffer
[src/agent/subagents/aix/net.cpp:83]: (error) Common realloc mistake: 's_ifaceData' nulled but not freed upon failure
[src/agent/subagents/hpux/proc.cpp:113]: (error) Uninitialized variable: now
[src/agent/subagents/ipso/system.cpp:143]: (error) Invalid number of character '(' when no macros are defined.
[src/agent/subagents/linux/iostat.cpp:104]: (error) Common realloc mistake: 'm_devices' nulled but not freed upon failure
[src/agent/subagents/linux/proc.cpp:279]: (error) Common realloc mistake: 'processCmdLine' nulled but not freed upon failure
[src/agent/subagents/mongodb/db.cpp:381]: (error) Common realloc mistake: 'result' nulled but not freed upon failure
[src/agent/subagents/mongodb/db.cpp:396]: (error) Common realloc mistake: 'result' nulled but not freed upon failure
[src/agent/subagents/mongodb/main.cpp:177]: (error) Common realloc mistake: 's_parameters' nulled but not freed upon failure
[src/agent/subagents/odbcquery/odbcquery.cpp:239]: (error) Common realloc mistake: 'm_pQueryList' nulled but not freed upon failure
[src/agent/subagents/winperf/winperf.cpp:502]: (error) Common realloc mistake: 'localCounters' nulled but not freed upon failure
[src/client/libnxclient/objects.cpp:52]: (error) Uninitialized variable: entry
[src/client/libnxclient/objects.cpp:52]: (error) Uninitialized variable: tmp
[src/db/dbdrv/db2/db2.cpp:131]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/db2/db2.cpp:164]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/db2/db2.cpp:652]: (error) Common realloc mistake: 'temp' nulled but not freed upon failure
[src/db/dbdrv/db2/db2.cpp:602]: (error) Common realloc mistake: 'temp' nulled but not freed upon failure
[src/db/dbdrv/informix/informix.cpp:120]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/informix/informix.cpp:153]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:73]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:78]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:83]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:88]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:93]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:102]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:148]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:153]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:158]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:163]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:168]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mariadb/mariadb.cpp:177]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mssql/mssql.cpp:113]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mssql/mssql.cpp:146]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mssql/mssql.cpp:520]: (error) Common realloc mistake: 'temp' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:71]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:76]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:81]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:86]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:91]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:100]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:146]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:151]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:156]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:161]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:166]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/mysql/mysql.cpp:175]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/odbc/odbc.cpp:123]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/odbc/odbc.cpp:156]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/odbc/odbc.cpp:700]: (error) Common realloc mistake: 'temp' nulled but not freed upon failure
[src/db/dbdrv/odbc/odbc.cpp:752]: (error) Common realloc mistake: 'temp' nulled but not freed upon failure
[src/db/dbdrv/odbc/odbc.cpp:650]: (error) Common realloc mistake: 'temp' nulled but not freed upon failure
[src/db/dbdrv/oracle/oracle.cpp:61]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/oracle/oracle.cpp:97]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/oracle/oracle.cpp:630]: (error) Common realloc mistake: 'm_strings' nulled but not freed upon failure
[src/db/dbdrv/oracle/oracle.cpp:635]: (error) Common realloc mistake: 'm_data' nulled but not freed upon failure
[src/db/dbdrv/pgsql/pgsql.cpp:76]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/pgsql/pgsql.cpp:87]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/pgsql/pgsql.cpp:98]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/pgsql/pgsql.cpp:138]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/pgsql/pgsql.cpp:149]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/pgsql/pgsql.cpp:160]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/sqlite/sqlite.cpp:64]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/db/dbdrv/sqlite/sqlite.cpp:100]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/flow_analyzer/libipfix/ipfix_col.c:292]: (error) Memory leak: new
[src/jansson/pack_unpack.c:517]: (error) Uninitialized variable: key
[src/jansson/pack_unpack.c:517]: (error) Uninitialized variable: value
[src/jansson/value.c:169]: (error) Uninitialized variable: key
[src/jansson/value.c:169]: (error) Uninitialized variable: value
[src/jansson/value.c:185]: (error) Uninitialized variable: key
[src/jansson/value.c:185]: (error) Uninitialized variable: value
[src/jansson/value.c:201]: (error) Uninitialized variable: key
[src/jansson/value.c:201]: (error) Uninitialized variable: value
[src/jansson/value.c:286]: (error) Uninitialized variable: key
[src/jansson/value.c:286]: (error) Uninitialized variable: value1
[src/libnetxms/geolocation.cpp:269]: (error) Syntax Error: AST broken, ternary operator lacks ':'.
[src/libnetxms/hashmapbase.cpp:84]: (error) Uninitialized variable: entry
[src/libnetxms/hashmapbase.cpp:84]: (error) Uninitialized variable: tmp
[src/libnetxms/hashmapbase.cpp:169]: (error) Uninitialized variable: entry
[src/libnetxms/hashmapbase.cpp:169]: (error) Uninitialized variable: tmp
[src/libnetxms/hashmapbase.cpp:187]: (error) Uninitialized variable: entry
[src/libnetxms/hashmapbase.cpp:187]: (error) Uninitialized variable: tmp
[src/libnetxms/log.cpp:633]: (error) Common realloc mistake: 'pMsg' nulled but not freed upon failure
[src/libnetxms/message.cpp:136]: (error) Uninitialized variable: entry
[src/libnetxms/message.cpp:136]: (error) Uninitialized variable: tmp
[src/libnetxms/message.cpp:872]: (error) Uninitialized variable: entry
[src/libnetxms/message.cpp:872]: (error) Uninitialized variable: tmp
[src/libnetxms/message.cpp:907]: (error) Uninitialized variable: entry
[src/libnetxms/message.cpp:907]: (error) Uninitialized variable: tmp
[src/libnetxms/message.cpp:1006]: (error) Uninitialized variable: entry
[src/libnetxms/message.cpp:1006]: (error) Uninitialized variable: tmp
[src/libnetxms/spoll.cpp:133]: (error) Uninitialized variable: rc
[src/libnetxms/strmap.cpp:38]: (error) Uninitialized variable: entry
[src/libnetxms/strmap.cpp:38]: (error) Uninitialized variable: tmp
[src/libnetxms/strmap.cpp:63]: (error) Uninitialized variable: entry
[src/libnetxms/strmap.cpp:63]: (error) Uninitialized variable: tmp
[src/libnetxms/strmap.cpp:76]: (error) Uninitialized variable: entry
[src/libnetxms/strmap.cpp:76]: (error) Uninitialized variable: tmp
[src/libnetxms/strmap.cpp:200]: (error) Uninitialized variable: entry
[src/libnetxms/strmap.cpp:200]: (error) Uninitialized variable: tmp
[src/libnetxms/strmap.cpp:229]: (error) Uninitialized variable: entry
[src/libnetxms/strmap.cpp:229]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:60]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:60]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:204]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:204]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:222]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:222]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:239]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:239]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:260]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:260]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:277]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:277]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:309]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:321]: (error) Uninitialized variable: entry
[src/libnetxms/strmapbase.cpp:309]: (error) Uninitialized variable: tmp
[src/libnetxms/strmapbase.cpp:321]: (error) Uninitialized variable: tmp
[src/libnetxms/strset.cpp:111]: (error) Uninitialized variable: entry
[src/libnetxms/strset.cpp:111]: (error) Uninitialized variable: tmp
[src/libnetxms/strset.cpp:139]: (error) Uninitialized variable: entry
[src/libnetxms/strset.cpp:139]: (error) Uninitialized variable: tmp
[src/libnetxms/strset.cpp:161]: (error) Uninitialized variable: entry
[src/libnetxms/strset.cpp:161]: (error) Uninitialized variable: tmp
[src/libnetxms/strset.cpp:207]: (error) Uninitialized variable: entry
[src/libnetxms/strset.cpp:207]: (error) Uninitialized variable: tmp
[src/libnetxms/strset.cpp:244]: (error) Uninitialized variable: entry
[src/libnetxms/strset.cpp:244]: (error) Uninitialized variable: tmp
[src/libnetxms/strset.cpp:289]: (error) Uninitialized variable: entry
[src/libnetxms/strset.cpp:289]: (error) Uninitialized variable: tmp
[src/libnxlp/eventlog.cpp:102]: (error) Common realloc mistake: 'm_modules' nulled but not freed upon failure
[src/libnxlp/eventlog.cpp:192]: (error) Common realloc mistake: 'm_eventSourceList' nulled but not freed upon failure
[src/libnxsl/variable.cpp:95]: (error) Uninitialized variable: var
[src/libnxsl/variable.cpp:95]: (error) Uninitialized variable: tmp
[src/libnxsl/variable.cpp:117]: (error) Uninitialized variable: var
[src/libnxsl/variable.cpp:117]: (error) Uninitialized variable: tmp
[src/libnxsl/variable.cpp:131]: (error) Uninitialized variable: var
[src/libnxsl/variable.cpp:131]: (error) Uninitialized variable: tmp
[src/libstrophe/rand.c:132]: (warning) Possible null pointer dereference: nonce
[src/libstrophe/resolver.c:766]: (error) Uninitialized variable: insize
[src/nxcproxy/nxcproxy.cpp:307]: (error) Invalid number of character '{' when these macros are defined: 'UNICODE;_WIN32'.
[src/nxcproxy/nxcproxy.cpp:307]: (error) Invalid number of character '{' when these macros are defined: '_WIN32'.
[src/server/core/actions.cpp:560]: (error) Common realloc mistake: 'm_pActionList' nulled but not freed upon failure
[src/server/core/actions.cpp:762]: (error) Common realloc mistake: 'm_pActionList' nulled but not freed upon failure
[src/server/core/agent.cpp:714]: (error) Mismatching allocation and deallocation: value
[src/server/core/alarm.cpp:432]: (error) Syntax Error: AST broken, ternary operator lacks ':'.
[src/server/core/console.cpp:264]: (error) Null pointer dereference: p
[src/server/core/dbwrite.cpp:432]: (error) Uninitialized variable: rq
[src/server/core/dbwrite.cpp:432]: (error) Uninitialized variable: tmp
[src/server/core/dbwrite.cpp:384]: (error) Uninitialized variable: rq
[src/server/core/dbwrite.cpp:384]: (error) Uninitialized variable: tmp
[src/server/core/inaddr_index.cpp:52]: (error) Uninitialized variable: entry
[src/server/core/inaddr_index.cpp:52]: (error) Uninitialized variable: tmp
[src/server/core/inaddr_index.cpp:171]: (error) Uninitialized variable: entry
[src/server/core/inaddr_index.cpp:171]: (error) Uninitialized variable: tmp
[src/server/core/inaddr_index.cpp:204]: (error) Uninitialized variable: entry
[src/server/core/inaddr_index.cpp:204]: (error) Uninitialized variable: tmp
[src/server/core/inaddr_index.cpp:224]: (error) Uninitialized variable: entry
[src/server/core/inaddr_index.cpp:224]: (error) Uninitialized variable: tmp
[src/server/core/logs.cpp:141]: (error) Common realloc mistake: 's_regList' nulled but not freed upon failure
[src/server/core/modules.cpp:85]: (error) Common realloc mistake: 'g_pModuleList' nulled but not freed upon failure
[src/server/core/netobj.cpp:2544]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2552]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2559]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2565]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2571]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2577]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2585]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2594]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2603]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2610]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2618]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2627]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2637]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2644]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2664]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2672]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2679]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2685]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2693]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2731]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2791]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2831]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2855]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/netobj.cpp:2884]: (error) Common realloc mistake: 'pText' nulled but not freed upon failure
[src/server/core/npe.cpp:253]: (error) Common realloc mistake: 'pData' nulled but not freed upon failure
[src/server/core/radius.cpp:222]: (error) Uninitialized variable: garbage
[src/server/libnxsrv/agent.cpp:200]: (error) Common realloc mistake: 'rawMsg' nulled but not freed upon failure
[src/server/libnxsrv/agent.cpp:202]: (error) Common realloc mistake: 'decryptionBuffer' nulled but not freed upon failure
[src/server/netxmsd/netxmsd.cpp:369]: (error) Invalid number of character '{' when these macros are defined: 'UNICODE;_WIN32'.
[src/server/netxmsd/netxmsd.cpp:369]: (error) Invalid number of character '{' when these macros are defined: '_WIN32'.
[src/server/netxmsd/netxmsd.cpp:369]: (error) Invalid number of character '{' when these macros are defined: '_WIN32;_WITH_ENCRYPTION'.
[src/server/spe/nn.cpp:46]: (error) Mismatching allocation and deallocation: NeuralNetworkNode::weights
[src/server/spe/nn.cpp:47]: (error) Mismatching allocation and deallocation: NeuralNetworkNode::weightGradients
[src/server/tools/nxdbmgr/export.cpp:51]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
[src/server/tools/nxdbmgr/upgrade.cpp:236]: (error) Common realloc mistake: 'query' nulled but not freed upon failure
[src/snmp/libnxsnmp/snapshot.cpp:54]: (error) Uninitialized variable: entry
[src/snmp/libnxsnmp/snapshot.cpp:54]: (error) Uninitialized variable: tmp
[src/sqlite/sqlite3.c:55498]: (warning) Possible null pointer dereference: pbOpen
[src/sqlite/sqlite3.c:100257]: (warning) Possible null pointer dereference: pName2
(information) Too many #ifdef configurations - cppcheck only checks 12 configurations. Use --force to check all configurations. For more details, use --enable=information.

Internal DB monitoring parameters don't work

image
It seems internal parameters for DB monitoring were changed.
NXMC was however not updated with correct parameters.

This means current templates no longer work, but I have no way to fix my templates, since I don't know the new / correct parameters.

Can't run nxmc getting error

Hi,

I'm getting a java error when running nxmc v3.7.144.

an error has occured. See the log file
path to log file.

Was working fine with version 3.5.90.
1612266629697.log

Windows build: windows 10 pro 20H2 19042.746
Java version: v8 update 281 64bit.

DCI Table for SNMP values doesn't show any values

Hi,
I configured a Table DCI in NetXMS for fetching SNMP values from a specific OID.
The general communication through the device which will send the SNMP response seems to be good as "normal" SNMP requests are working.
When running the following command on the NetXMS server I will get this output:

root@dths-netxms-test:~# /usr/bin/nxsnmpwalk -v 2c -c public 172.19.101.100 -p 1690 1.3.6.1.4.1.3058.280.1.1.2.3.1.3
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.9 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.10 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.11 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.12 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.13 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.14 [GAUGE32]: 0
[...]
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.254 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.255 [GAUGE32]: 0
.1.3.6.1.4.1.3058.280.1.1.2.3.1.3.256 [GAUGE32]: 0

using ubuntus snmpwalk will give me the same result.

I started a tcpdump on the netxms server to see what happens there:
2018-12-28 14_09_36-support-vm-single - 80 149 192 25 - remotedesktopverbindung

It seems that NetXMS will try to fetch everytime two SNMP values (the yellow marked packets are this ones which failed). The response contains "tooBig" as an error message.

tcpdump

dump_snmp_20181228.pcap

DCI configuration

dci-table-general-settings

dci-table-column-settings

The state for the whole table in the list of last values shows "OK". But when opening the table itself, all columns are empty.

netxms information

# netxmsd -v
NetXMS Server Version 2.2.10 Build 9516 (2.2.10) (UNICODE)
NXCP: 4.48.1.14 (AES-256, Blowfish-256, 3DES, AES-128, Blowfish-128)
Built with: g++ (Ubuntu 5.3.1-14ubuntu2) 5.3.1 20160413

SQL query failed alarm_state_changes - Numeric value out of range

We're seeing this repeatedly in the log file:

2023.11.24 15:40:58.509 *E* [db.drv             ] SQL query failed (Query = "INSERT INTO alarm_state_changes (record_id,alarm_id,prev_state,new_state,change_time,prev_state_duration,change_by) VALUES (?,?,?,?,?,?,?)"): [Microsoft][ODBC SQL Server Driver]Numeric value out of range

Looks like it's coming from

void Alarm::updateStateChangeLog(int prevState, uint32_t userId)

I can't think of any obvious reason (e.g. we can't have reached MAX(BIGINT) etc.

We're using SQL server- i'm not sure which other information may be helpful in tracking down the issue?

Thanks

Get all descendants of a node via web API?

Currently we traverse the node recursively to work out the structure, eg. fetch data from top node, then see if the node contains children, then for each of the children, fetch data, check if it contains more children...

Is it possible to return all the descendants including leaf nodes in a hierarchy structure?

Access denied when creating maintenance journal entry

I tried creating maintenance journal entries on multiple nodes from the java client as well as the web interface as a user in the admin group and even with the built in admin user, but every time I got the access denied error message. I checked the server logs in /var/log/netxmsd and there were no log entries related to this issue.
I'm running 4.4.3-1 with PostgreSQL on Ubuntu 22.04.3 LTS.

Printer Common template DCI instance filter exception

The following error appears every 10 minutes:

Script (DCI::P M103_A::824::InstanceFilter) execution error: Error 17 in line 7: Argument is not of string type and cannot be converted to string

I traced back the issue to the instance filter of the toner level

<instanceFilter>name = &quot;&quot;;&#x0A;transport = $node-&gt;createSNMPTransport();&#x0A;if (transport != null)&#x0A;{&#x0A;&#x09;name = transport-&gt;getValue(&quot;.1.3.6.1.2.1.43.11.1.1.6.&quot; .. $1);&#x0A;}&#x0A;return Instance(displayName: name, name: $1);</instanceFilter>

However I don't understand why this error happens, because when I check the values in the MIB Explorer of the printer (P M103_A) I can see the two levels (although they report -2).

.1.3.6.1.2.1.43.11.1.1.6.1.1 [STRING] = C-EXV 14
.1.3.6.1.2.1.43.11.1.1.6.1.2 [STRING] = Waste Toner
.1.3.6.1.2.1.43.11.1.1.9.1.1 [INTEGER] = -2
.1.3.6.1.2.1.43.11.1.1.9.1.2 [INTEGER] = -2

The printer is a Canon iR2018

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.