Giter Site home page Giter Site logo

nxsl-doc'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.

nxsl-doc's People

Contributors

2128506 avatar alkk avatar dmarteenez avatar filippsudanov avatar krafting avatar pevot avatar zev333 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nxsl-doc's Issues

Horrible screen utilization - wasted screen space issues

image

Some parts of the documentation utilize less than 20% of available screen space.
This makes for a horrible UX, as very little information is put on the screen, which forces A LOT of scrolling to be needed.

This makes all presented information extremely long, and orientation inside the documentation becomes a mess.

Information coherence is lost, and the user is frustrated for constantly losing track of what is being searched for.

Visual coherence issues - styling and formatting problems

A lot of parts of the documentation blend together into an un-readale mess, since there is no visual consistent signature for segmentation of topics / segments.

For example:
image

Looking at this from a UX / visual perspective, there is almost no segmentation between different sections (which in this case would be NXSL functions), which causes the reader to get lost easily.

As for more examples, where the Function Reference ends and Class Reference starts - there is no visual indication. The reader could scroll by that without even noticing we are in completely different documentation sections now:

image

There is 0 visual indication I have just left a major section of the documentation (Function Reference) and went to a new one (Class Reference).

No organization and no sectioning issues

There is currently 0 organization within the documentation.

This is really bad for multiple issues:

  1. coherence is lost, as everything blends together in the single document
  2. there is no organization, no ToC, no sections
  3. all this causes readers to get easily lost in the documentation
  4. tiny scrollbars due to a single-document design means touching the scrollbar in any way can move you across entire sections of the documentations

The decision to have a single-document NXSL doc is REALLY BAD for UX / usability.

Example:
Let's assume I am a new user that wants to get familiar with available functions in NXSL.
In current wiki, let's look at this page:
image

It gives me a nice overview, I can see available functions, and what their purpose is.
I can then drill-down to each individual function, and get the details I want.

Let's look at the new documentation:
image

When a new user sees this, they will just be completely lost.
There is 0 structuring, no overview, just a lot of data dumped into a single page.

Huge scroll-bars will just scare new users away.

For existing users, it's MUCH easier to find what they need in the old documentation (Wiki), due to easier segmentation and organization of information.

Majority of NXSL functions are missing examples

As the description states, majority of examples are just empty black boxes.
Either adding examples, or removing the empty black boxes should be done.

This is extremely confusing to new users, and for users researching NetXMS is really undermines confidence in the product seeing most examples empty.

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.