gosnmp

Форк
0
46 строк · 1.2 Кб
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
3
// LICENSE file.
4

5
package main
6

7
import (
8
	"fmt"
9
	"log"
10

11
	g "github.com/gosnmp/gosnmp"
12
)
13

14
func main() {
15

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()
20
	if err != nil {
21
		log.Fatalf("Connect() err: %v", err)
22
	}
23
	defer g.Default.Conn.Close()
24

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
27
	if err2 != nil {
28
		log.Fatalf("Get() err: %v", err2)
29
	}
30

31
	for i, variable := range result.Variables {
32
		fmt.Printf("%d: oid: %s ", i, variable.Name)
33

34
		// the Value of each variable returned by Get() implements
35
		// interface{}. You could do a type switch...
36
		switch variable.Type {
37
		case g.OctetString:
38
			fmt.Printf("string: %s\n", string(variable.Value.([]byte)))
39
		default:
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))
44
		}
45
	}
46
}
47

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.