Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Configurar

Para init.d

Para o sistema

Verificar

Para init.d

Para o sistema

Troubleshoot

Introduction

Este documento descreve como criar arquivos de serviço para init.d ou System para o Gerenciador de Ativos do EFM (Edge Fog Processing Module).

Prerequisites

Requirements

A Cisco recomenda que você conheça o Linux.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

O pacote de instalação do EFM não contém arquivos de serviço para init.d ou System prontos para uso.

Aqui você pode encontrar um exemplo simples para criar um arquivo de serviço para o componente Asset Manager do EFM.

Para 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

Assegure-se de ajustar as variáveis de ambiente para corresponder ao ambiente: ASSETMANAGER_HOME e ASSETMANAGER_USER.

Depois que o arquivo for criado, verifique se ele está marcado como executável.

Para o sistema

[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

Assegure-se de ajustar as variáveis de configuração para corresponder ao seu ambiente: User=.

Depois que o arquivo de serviço for criado, certifique-se de atualizar os arquivos daemon em systemd:

[root@cen7 ~]# systemctl daemon-reload

Verificar

Para verificar se os scripts/arquivos de serviço funcionam conforme esperado, você pode tentar iniciar e interromper o serviço:

Para 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

Para o sistema

[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

Como você pode ver, os processos do EFM Asset Manager são iniciados sob o usuário que você definiu nos arquivos de serviço e tudo é limpo depois de ser solicitado a interromper os serviços.

Troubleshoot

Caso tenha problemas para começar, verifique estes:

- Parâmetros configuráveis no arquivo de serviço init.d ou System (usuário, caminhos)

- Para SystemD: A saída de systemctl status efm-assetmanager

- A saída de journalctl — unit=efm-assetmanager