Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Configurer

Pour init.d

Pour le système

Vérifier

Pour init.d

Pour le système

Dépannage

Introduction

Ce document décrit comment créer des fichiers de service pour init.d ou Systemd pour EFM (Edge Fog Processing Module) Asset Manager.

Conditions préalables

Exigences

Cisco vous recommande d'avoir des connaissances sur Linux.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Configurer

Le package d'installation d'EFM ne contient pas de fichiers de service pour init.d ou System prêts à l'emploi.

Vous trouverez ici un exemple simple pour créer un fichier de service pour le composant Asset Manager d'EFM.

Pour 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

Veillez à ajuster les variables d'environnement en fonction de votre environnement : ASSETMANAGER_HOME et ASSETMANAGER_USER.

Une fois le fichier créé, assurez-vous qu'il est marqué comme exécutable.

Pour le système

[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

Veillez à ajuster les variables de configuration en fonction de votre environnement : User=.

Une fois le fichier de service créé, assurez-vous que vous mettez à jour les fichiers démon dans systemd :

[root@cen7 ~]# systemctl daemon-reload

Vérifier

Pour vérifier si les scripts/fichiers de service fonctionnent comme prévu, vous pouvez essayer de démarrer et d'arrêter le service :

Pour 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

Pour le système

[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

Comme vous pouvez le voir, les processus d'EFM Asset Manager démarrent sous l'utilisateur que vous avez défini dans les fichiers de service et tout est nettoyé après qu'il a été demandé d'arrêter les services.

Dépannage

Si vous rencontrez des problèmes au début, vérifiez les points suivants :

- Paramètres configurables dans le fichier de service init.d ou System (utilisateur, chemins)

- Pour SystemD : sortie de systemctl status efm-assetmanager

- Le résultat de journalctl —unit=efm-assetmanager