1
// Copyright 2012 The GoSNMP Authors. All rights reserved. Use of this
2
// source code is governed by a BSD-style license that can be found in the
11
g "github.com/gosnmp/gosnmp"
16
// Default is a pointer to a GoSNMP struct that contains sensible defaults
17
// eg port 161, community public, etc
18
g.Default.Target = "192.168.1.10"
19
err := g.Default.Connect()
21
log.Fatalf("Connect() err: %v", err)
23
defer g.Default.Conn.Close()
25
oids := []string{"1.3.6.1.2.1.1.4.0", "1.3.6.1.2.1.1.7.0"}
26
result, err2 := g.Default.Get(oids) // Get() accepts up to g.MAX_OIDS
28
log.Fatalf("Get() err: %v", err2)
31
for i, variable := range result.Variables {
32
fmt.Printf("%d: oid: %s ", i, variable.Name)
34
// the Value of each variable returned by Get() implements
35
// interface{}. You could do a type switch...
36
switch variable.Type {
38
fmt.Printf("string: %s\n", string(variable.Value.([]byte)))
40
// ... or often you're just interested in numeric values.
41
// ToBigInt() will return the Value as a BigInt, for plugging
42
// into your calculations.
43
fmt.Printf("number: %d\n", g.ToBigInt(variable.Value))