NetXMS ist ein kostenloses [[Monitoring]] Tool ähnlich [[PRTG]].
=====ExternalParameter=====
Gehe zu Templates und erstelle ein neues Template "TestTemplate".
Füge ein Target dazu.
Erstelle eine Agent Policy "TestPolicy" mit Inhalt
ExternalParameter=TestParameter:whoami
Erstelle einen Parameter in "Data Collection".
* Metric: TestParameter (muss heissen wie der ExternalParameter in der Policy)
* DisplayName: TestParameter (frei wählbar)
Restart Agent. (**Auch wenn man den Parameter-Befehl geändert hat!!!**)
**Bei einem neu erstellten muss man im Server Data Collection (Sensor Liste) den Parameter noch hinzufügen**.
=====Server Script=====
NXSL (NetXMS Scripting Language). Unter "Zahnrad" -> Script Library erstellt man ein Server Script.
Das kann man wie einen Parameter hinzufügen nur bei "Origin" statt "NetXMS Agent" die Option "Script" wählen. Siehe [[https://netxms.org/documentation/nxsl-latest|Dokumentation Scripting 1]], [[https://www.netxms.org/documentation/adminguide/scripting.html|Dokumentation Scripting 2]]
# Finde den Wert aus der Sensor Tabelle des aktuellen Node mit dem Namen "CPU: usage"
$table = GetDCIValueByDescription($node, "CPU: usage");
return $table;
=====Config=====
* Server config: /etc/netxmsd.conf
* Agent Config: /etc/nxagentd.conf
Externe Parameter sind Befehle oder Scripts am Agent. Z.B in der Agent Config
ExternalParameter=Mein.Modul:whoami
=====Logs=====
In der Config (Server und Agent) gibt es den Parameter LogFile
LogFile = /var/log/mylog
dadurch schreibt der Agent seinen Log in die angegebene Datei.
=====Installation=====
====NetXMS Server====
===Alma Linux 8===
#!/bin/bash
set +x
read -p "Set DBUser password: " pass
systemctl stop firewalld
systemctl disable firewalld
dnf config-manager --add-repo https://packages.netxms.org/epel/netxms.repo
dnf install epel-release -y
dnf install netxms-server netxms-dbdrv-pgsql -y
dnf install postgresql postgresql-server -y
/usr/bin/postgresql-setup --initdb
systemctl start postgresql
systemctl enable postgresql
# sudo -u postgres createuser -P netxms
sudo -u postgres psql -c "CREATE USER netxms WITH PASSWORD '$pass';"
sudo -u postgres createdb -O netxms netxms
sudo -u postgres psql -l
cat >> /etc/netxmsd.conf < /var/lib/pgsql/data/pg_hba.conf <
netxms-server startet nach reboot nicht mehr richtig.
nxdbmgr check
systemctl start netxms-server
Den Dienst vor einem Neustart immer zuerst stoppen!
oder besser noch in der Datei
/etc/systemd/system/netxmsd.service
unter [Service] den Parameter
# von
TimeoutSec=900
# auf
TimeoutSec=30
ändern und folgende Zeilen einfügen.
TimeoutStopSec=30
ExecStop=/usr/bin/nxdbmgr unlock
===Ubuntu 24.04===
#!/bin/bash
set +x
read -s -p "Set DBUser password: " pass
echo
ufw disable
sudo apt update
sudo apt install -y wget gnupg2 lsb-release software-properties-common
# NetXMS Repository
wget -qO - https://packages.netxms.org/netxms.gpg | sudo gpg --dearmor -o /usr/share/keyrings/netxms.gpg
echo "deb [signed-by=/usr/share/keyrings/netxms.gpg] https://packages.netxms.org/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/netxms.list
sudo apt update
sudo apt install -y netxms-server netxms-dbdrv-pgsql
# PostgreSQL
sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo -u postgres psql -c "CREATE USER netxms WITH PASSWORD '$pass';"
sudo -u postgres createdb -O netxms netxms
sudo tee -a /etc/netxmsd.conf > /dev/null < /dev/null <
====NetXMS-WebUI====
http://:8080/nxmc/
===Alma Linux 8===
#!/bin/bash
# Neue Repo-Datei erstellen
sudo tee /etc/yum.repos.d/adoptium.repo << 'EOF'
[Adoptium]
name=Adoptium
baseurl=https://packages.adoptium.net/artifactory/rpm/rhel/8/$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
EOF
# Repo testen
sudo dnf clean all
sudo dnf repolist
# JAVA 17, Tomcat, wget installieren
sudo dnf install -y temurin-17-jdk tomcat wget
sudo systemctl enable --now tomcat
#sudo systemctl status tomcat
# WebUI deployen
cd /tmp
wget https://www.netxms.org/download/releases/5.2/nxmc-5.2.0.war -O nxmc.war
sudo cp /tmp/nxmc.war /var/lib/tomcat/webapps/
sudo chown tomcat:tomcat /var/lib/tomcat/webapps/nxmc.war
# optional (SELinux)
sudo restorecon -Rv /var/lib/tomcat/webapps/nxmc.war
#sudo systemctl restart tomcat
echo 'JAVA_HOME=/usr/lib/jvm/temurin-17-jdk' | sudo tee -a /etc/tomcat/tomcat.conf
sudo systemctl restart tomcat
===Ubuntu 24.04===
#!/bin/bash
# Update und Basis-Tools installieren
sudo apt update
sudo apt install -y wget gnupg2 software-properties-common
# Adoptium Repository hinzufügen
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | sudo tee /usr/share/keyrings/adoptium.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb focal main" | sudo tee /etc/apt/sources.list.d/adoptium.list
# Java 17 installieren
sudo apt update
sudo apt install -y temurin-17-jdk
# JAVA_HOME setzen
echo "export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64" >> ~/.bashrc
source ~/.bashrc
# Tomcat 9 manuell installieren
cd /opt
sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
sudo tar -xzf apache-tomcat-9.0.85.tar.gz
sudo mv apache-tomcat-9.0.85 tomcat9
sudo chown -R $USER:$USER /opt/tomcat9
chmod +x /opt/tomcat9/bin/*.sh
# NetXMS WebUI herunterladen und deployen
sudo wget https://www.netxms.org/download/releases/5.2/nxmc-5.2.0.war -O /opt/nxmc.war
cp /opt/nxmc.war /opt/tomcat9/webapps/
chown $USER:$USER /opt/tomcat9/webapps/nxmc.war
/opt/tomcat9/bin/shutdown.sh
sleep 5
/opt/tomcat9/bin/startup.sh