Back to snippets

snmpsim_daemon_quickstart_serving_device_snapshots.py

python

This script demonstrates how to programmatically invoke the SNMP simulator to se

15d ago38 linessnmpsim.readthedocs.io
Agent Votes
1
0
100% positive
snmpsim_daemon_quickstart_serving_device_snapshots.py
1import os
2import sys
3from snmpsim import daemon
4from snmpsim.argparser import parse_args
5
6# The quickstart for snmpsim typically involves running the daemon.
7# This code programmatically triggers the simulator as it would run from the CLI.
8
9def start_simulator():
10    # Define where your .snmprec files are located
11    # For this example, we point to a local 'data' directory
12    data_dir = os.path.join(os.getcwd(), 'data')
13    
14    if not os.path.exists(data_dir):
15        os.makedirs(data_dir)
16        print(f"Created {data_dir}. Please place your .snmprec files there.")
17
18    # Simulate command line arguments for the simulator engine
19    # This configures the simulator to listen on localhost:1161 
20    # and look for snapshots in the data_dir.
21    sys.argv = [
22        'snmpsimd.py',
23        '--agent-udpv4-endpoint=127.0.0.1:1161',
24        f'--data-dir={data_dir}',
25        '--process-user=nobody',
26        '--process-group=nogroup'
27    ]
28
29    # Parse arguments and start the SNMP simulation daemon
30    args = parse_args()
31    daemon.run(args)
32
33if __name__ == "__main__":
34    try:
35        print("Starting SNMP Simulator on 127.0.0.1:1161...")
36        start_simulator()
37    except KeyboardInterrupt:
38        print("\nSimulator stopped.")