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