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
12
g "github.com/gosnmp/gosnmp"
21
var Client = &g.GoSNMP{
22
Target: "192.168.91.20",
26
Timeout: time.Duration(2) * time.Second,
27
Logger: g.NewLogger(log.New(os.Stdout, "", 0)),
29
err := Client.Connect()
31
log.Fatalf("Connect() err: %v", err)
33
defer Client.Conn.Close()
34
var mySnmpPDU = []g.SnmpPDU{{
35
Name: "1.3.6.1.4.1.318.1.1.4.4.2.1.3.15",
39
setResult, setErr := Client.Set(mySnmpPDU)
41
log.Fatalf("SNMP set() fialed due to err: %v", setErr)
43
for i, variable := range setResult.Variables {
44
fmt.Printf("%d: oid: %s ", i, variable.Name)
46
// the Value of each variable returned by Get() implements
47
// interface{}. You could do a type switch...
48
switch variable.Type {
50
fmt.Printf("string: %s\n", string(variable.Value.([]byte)))
52
// ... or often you're just interested in numeric values.
53
// ToBigInt() will return the Value as a BigInt, for plugging
54
// into your calculations.
55
fmt.Printf("number: %d\n", g.ToBigInt(variable.Value))