Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konfigurieren

Für init.d

Für Systemd

Überprüfen

Für init.d

Für Systemd

Fehlerbehebung

Einführung

In diesem Dokument wird beschrieben, wie Sie Servicedateien für init.d oder System für den EFM (Edge Fog Processing Module) Asset Manager erstellen.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie Linux kennen.

Verwendete Komponenten

Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Konfigurieren

Das EFM-Installationspaket enthält keine Servicedateien für init.d oder System out of the box.

Hier finden Sie ein einfaches Beispiel zum Erstellen einer Servicedatei für die Asset Manager-Komponente von EFM.

Für init.d

[root@cen7 ~]# cat /etc/init.d/assetmanager

#!/bin/bash

# parstream init script.

ASSETMANAGER_HOME="/opt/cisco/kinetic/asset_manager/"

ASSETMANAGER_USER="EFM"

case "$1" in

'start')

echo "Starting EFM Asset Manager daemon as user $ASSETMANAGER_USER"

sleep 2

su -c "cd $ASSETMANAGER_HOME;$ASSETMANAGER_HOME/bin/start.sh" $ASSETMANAGER_USER

;;

'stop')

echo "Stopping EFM Asset Manager daemons for user $ASSETMANAGER_USER"

su -c "cd $ASSETMANAGER_HOME;$ASSETMANAGER_HOME/bin/stop.sh" $ASSETMANAGER_USER

;;

*)

# usage

echo "usage: $0 start|stop"

exit 1

;;

esac

Stellen Sie sicher, dass Sie die Umgebungsvariablen an Ihre Umgebung anpassen: ASSETMANAGER_HOME und ASSETMANAGER_USER.

Nachdem die Datei erstellt wurde, stellen Sie sicher, dass sie als ausführbare Datei markiert ist.

Für Systemd

[root@cen7 ~]# cat /etc/systemd/system/efm-assetmanager.service

[Unit]

Description=EFM Asset Manager

After=network.target

[Service]

Type=forking

User=EFM

WorkingDirectory=/opt/cisco/kinetic/asset_manager/

ExecStart=/opt/cisco/kinetic/asset_manager/bin/start.sh

ExecStop=/opt/cisco/kinetic/asset_manager/bin/stop.sh

[Install]

WantedBy=multi-user.target

Stellen Sie sicher, dass Sie die Konfigurationsvariablen an Ihre Umgebung anpassen: User=.

Nachdem die Dienstdatei erstellt wurde, stellen Sie sicher, dass Sie die Daemon-Dateien im System aktualisieren:

[root@cen7 ~]# systemctl daemon-reload

Überprüfen

Um zu überprüfen, ob die Skripte/Servicedatei wie erwartet funktioniert, können Sie versuchen, den Dienst zu starten und zu beenden:

Für init.d

[root@cen7 ~]# /etc/init.d/assetmanager start

Starting EFM Asset Manager daemon as user EFM

[root@cen7 ~]# nohup: redirecting stderr to stdout

[root@cen7 ~]# /etc/init.d/assetmanager stop

Stopping EFM Asset Manager daemons for user EFM

Für Systemd

[root@cen7 ~]# systemctl start efm-assetmanager

[root@cen7 ~]#

[root@cen7 ~]# systemctl status efm-assetmanager

● efm-assetmanager.service - EFM Asset Manager

Loaded: loaded (/etc/systemd/system/efm-assetmanager.service; disabled; vendor preset: disabled)

Active: active (running) since Tue 2018-04-24 02:54:16 CEST; 5s ago

Process: 45098 ExecStop=/opt/cisco/kinetic/asset_manager/bin/stop.sh (code=exited, status=0/SUCCESS)

Process: 45235 ExecStart=/opt/cisco/kinetic/asset_manager/bin/start.sh (code=exited, status=0/SUCCESS)

Main PID: 45238 (java)

CGroup: /system.slice/efm-assetmanager.service

└─45238 java -classpath /opt/cisco/kinetic/asset_manager/lib/efm-servicelayer-1.5.0.12-fat.jar com.cisco.efm.application.ApplicationStarter

Apr 24 02:54:16 cen7 systemd[1]: Starting EFM Asset Manager...

Apr 24 02:54:16 cen7 systemd[1]: Started EFM Asset Manager.

[root@cen7 ~]#

[root@cen7 ~]# systemctl stop efm-assetmanager

Wie Sie sehen können, werden die EFM Asset Manager-Prozesse unter dem Benutzer gestartet, den Sie in den Servicedateien definiert haben, und alles wird bereinigt, nachdem die Dienste angefordert wurden.

Fehlerbehebung

Falls Probleme auftreten, überprüfen Sie Folgendes:

- Konfigurierbare Parameter in der init.d- oder Systemd-Servicedatei (Benutzer, Pfade)

- Für SystemD: Die Ausgabe des Systemstatus "efm-assetmanager"

- Die Ausgabe von journalctl —unit=efm-assetmanager