summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/snmptrap/configuration.rst
blob: 2c8afe235812797fb97e9e4caabdf70cde1c308b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

Configuration
=============

**SNMPTRAP** configuration is controlled via a single JSON 'transaction'.
This transaction can be:

    - a reply from config binding services

    - a locally hosted JSON file

The format of this message is described in the SNMPTRAP package, under:

    ``<base install dir>/spec/snmptrap-collector-component-spec.json``

There should also be a template JSON file with example/default values found at:

    ``<base install dir>/etc/snmptrapd.json``

If you are going to use a local file, the env variable below must be defined before SNMPTRAP runs.  There is a default value set in the SNMPTRAP startup script (bin/snmptrapd.sh):

    ``export CBS_SIM_JSON=../etc/snmptrapd.json``

In either scenario, the format of the config message/transaction is the same.  An example is described below.

JSON CONFIG
^^^^^^^^^^^

The format of the JSON configuration that drives all behavior of SNMPTRAP is probably best described using an example.  One can be found below:

.. code-block:: json

    {
        "snmptrapd": {
            "version": "1.3.0",
            "title": "ONAP SNMP Trap Receiver"
        },
        "protocols": {
            "transport": "udp",
            "ipv4_interface": "0.0.0.0",
            "ipv4_port": 6162,
            "ipv6_interface": "::1",
            "ipv6_port": 6162
        },
        "cache": {
            "dns_cache_ttl_seconds": 60
        },
        "publisher": {
            "http_timeout_milliseconds": 1500,
            "http_retries": 3,
            "http_milliseconds_between_retries": 750,
            "http_primary_publisher": "true",
            "http_peer_publisher": "unavailable",
            "max_traps_between_publishes": 10,
            "max_milliseconds_between_publishes": 10000
        },
        "streams_publishes": {
            "sec_fault_unsecure": {
                "type": "message_router",
                "aaf_password": null,
                "dmaap_info": {
                    "location": "mtl5",
                    "client_id": null,
                    "client_role": null,
                    "topic_url": "http://localhost:3904/events/ONAP-COLLECTOR-SNMPTRAP"
                },
                "aaf_username": null
            }
        },
        "files": {
            "runtime_base_dir": "/opt/app/snmptrap",
            "log_dir": "logs",
            "data_dir": "data",
            "pid_dir": "tmp",
            "arriving_traps_log": "snmptrapd_arriving_traps.log",
            "snmptrapd_diag": "snmptrapd_prog_diag.log",
            "traps_stats_log": "snmptrapd_stats.csv",
            "perm_status_file": "snmptrapd_status.log",
            "eelf_base_dir": "/opt/app/snmptrap/logs",
            "eelf_error": "error.log",
            "eelf_debug": "debug.log",
            "eelf_audit": "audit.log",
            "eelf_metrics": "metrics.log",
            "roll_frequency": "hour",
            "minimum_severity_to_log": 2
        },
        "trap_config": {
            "sw_interval_in_seconds": 60,
            "notify_oids": {
                ".1.3.6.1.4.1.9.0.1": {
                    "sw_high_water_in_interval": 102,
                    "sw_low_water_in_interval": 7,
                    "category": "logonly"
                },
                ".1.3.6.1.4.1.9.0.2": {
                    "sw_high_water_in_interval": 101,
                    "sw_low_water_in_interval": 7,
                    "category": "logonly"
                },
                ".1.3.6.1.4.1.9.0.3": {
                    "sw_high_water_in_interval": 102,
                    "sw_low_water_in_interval": 7,
                    "category": "logonly"
                },
                ".1.3.6.1.4.1.9.0.4": {
                    "sw_high_water_in_interval": 10,
                    "sw_low_water_in_interval": 3,
                    "category": "logonly"
                }
            }
        }
    }