Introduction
Ce document décrit comment créer des fichiers de service pour init.d ou Systemd pour le gestionnaire d'actifs EFM (Edge Fog Processing Module).
Conditions préalables
Conditions requises
Cisco vous recommande de connaître Linux.
Components Used
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.
Configuration
Le package d'installation EFM ne contient pas de fichiers de service pour init.d ou Systemd.
Vous trouverez ici un exemple simple de création d'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
Assurez-vous d'ajuster les variables d'environnement pour qu'elles correspondent à votre environnement : ASSETMANAGER_HOME et ASSETMANAGER_USER.
Une fois le fichier créé, assurez-vous qu'il est marqué comme exécutable.
Pour 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
Assurez-vous d'ajuster les variables de configuration pour qu'elles correspondent à votre environnement : User=.
Une fois le fichier de service créé, assurez-vous de mettre à jour les fichiers de démon dans systemd :
[root@cen7 ~]# systemctl daemon-reload
Vérification
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 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 soit demandé d'arrêter les services.
Dépannage
Si vous rencontrez des problèmes de démarrage, vérifiez les points suivants :
- Paramètres configurables dans le fichier de service init.d ou Systemd (utilisateur, chemins d'accès)
- Pour SystemD : Sortie de systemctl status efm-assetmanager
- La sortie de journalctl —unit=efm-assetmanager