المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

التكوين

ل init.d

ل SystemD

التحقق من الصحة

ل init.d

ل SystemD

استكشاف الأخطاء وإصلاحها

المقدمة

يوضح هذا المستند كيفية إنشاء ملفات خدمة ل init.d أو System ل EFM (وحدة معالجة Edge Fog) Asset Manager.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بنظام التشغيل Linux.

المكونات المستخدمة

لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

التكوين

لا تحتوي حزمة تثبيت EFM على ملفات خدمة ل init.d أو Systemd خارج المربع.

هنا يمكنك العثور على مثال بسيط لإنشاء ملف خدمة لمكون مدير الأصول في EFM.

ل 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

تأكد من ضبط متغيرات البيئة لتطابق بيئتك: AssetManager_HOME و AssetManager_USER.

بعد إنشاء الملف، تأكد من وضع علامة عليه كملف تنفيذي.

ل 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

تأكد من ضبط متغيرات التكوين لتطابق بيئتك: user=.

بعد إنشاء ملف الخدمة، تأكد من أنك قمت بتحديث ملفات الأداة المساعدة في النظام:

[root@cen7 ~]# systemctl daemon-reload

التحقق من الصحة

للتحقق مما إذا كان ملف الخدمة/البرامج النصية يعمل كما هو متوقع، يمكنك محاولة بدء الخدمة وإيقافها:

ل 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

ل 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

كما ترى، يتم بدء عمليات إدارة أصول EFM تحت إشراف المستخدم الذي قمت بتعريفه في ملفات الخدمة، ويتم تنظيف كل شيء بعد أن يتم طلبه لإيقاف الخدمات.

استكشاف الأخطاء وإصلاحها

في حالة حدوث مشاكل للبدء، تحقق من ما يلي:

- المعلمات القابلة للتكوين في ملف خدمة init.d أو SystemD (المستخدم والمسارات)

- بالنسبة لنظام SystemD: إخراج وضع EFM-AssetManager للنظام

- إخراج JournalCtl — unit=efm-assetmanager