@zhoro/ndce
v0.0.22
Published
A command executor for network devices that captures and stores output in a database for subsequent analysis
Downloads
194
Maintainers
Readme
About the project
This is a simple project to execute different commands on a remote network devices using telnet protocol. Stores the results in a database.
Supported devices
Supported devices:
- BDCOM OLTs
Supported BDCOM commands:
- enable
- show cpu
- show epon|gpon active onu
- show epon|gpon inactive onu
- show epon|gpon interface epon x/y:z onu ctc opt
- show epon|gpon onu information interface epon x/y
- show epon|gpon optical-transceiver-diagnostic interface epon x/y
- show mac-address-table dynamic
- show mac-address-table int x y/z:w
- show int status x/y:z
New commands can be easily added by extending the src/code/devices
modules.
Getting started
Create .env file with the following content:
DEBUG_MODE=ndce:main,ndce:network-device,ndce:telnet-transport,ndce:exShEponOnuInfoInterface
CLIENT_USERNAME=admin-x
CLIENT_PASSWORD=password-y
Where CLIENT_USERNAME and CLIENT_PASSWORD are the default credentials for the network device. Also set the following DB environment variables (example for postgresql):
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
Apply migrations:
npx prisma migrate deploy --schema=./node_modules/@zhoro/ndce/prisma/schema.prisma
In your code import the PrismaClient class and create an instance of it:
import {PrismaClient} from '@zhoro/ndce';
const prisma = new PrismaClient();
For more information about Prisma setup environment see here.
Usage
initDatabaseSample.ts
- example how to initialize or fill the database with sample datastart.ts
- sample commands executionexCron.ts
- sample cron job executionex*
- examples for different commands
Contact
email: '[email protected]'
project link: 'https://github.com/zhoro/ndce'
License
Distributed under the MIT License. See license.txt
for more information.