client

package
v1.43.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2024 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Overview

Package clinet : Web APIを利用したクライントライブラリです。

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AiListEntWebAPI

type AiListEntWebAPI struct {
	ID          string  // 内部ID
	NodeID      string  // ノードの内部ID
	NodeName    string  // ノード名
	PollingName string  // ポーリング名
	Score       float64 // スコア
	Count       int     // 件数
	LastTime    int64   // 最終分析日時
}

AiListEntWebAPIは、AI分析リストのデータ構造です。

type ArpFilter

type ArpFilter struct {
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04
	IP        string // IPアドレス
	MAC       string // MACアドレス
}

ArpFilterは、ARPログの検索条件を指定します。

type ArpWebAPI

type ArpWebAPI struct {
	Time      int64  // 検知日時
	State     string // 状態
	IP        string // IPアドレス
	MAC       string // MACアドレス
	Vendor    string // ベンダー
	OldMAC    string // 前のMACアドレス
	OldVendor string // 前のベンダー
}

ArpWebAPIは、ARPログです。

type EventLogFilter

type EventLogFilter struct {
	Level     string // ログのレベル
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04
	Type      string // ログのタイプ
	NodeID    string // ログの対象ノードのID
	Event     string // イベントに含まれる文字列(正規表現)
}

EventLogFilterは、イベントログの検索条件です。

type EventLogsWebAPI

type EventLogsWebAPI struct {
	EventLogs []*datastore.EventLogEnt // イベントログの検索結果
	NodeList  []selectEntWebAPI        // ノード名選択肢
}

EventLogsWebAPIは、イベントログの検索結果です。

type NetflowFilter

type NetflowFilter struct {
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04	StartDate string
	SrcDst    bool   // 双方向検索
	IP        string // 双方向検索の場合のIPアドレス
	Port      string // 双方向検索の場合のポート番号
	SrcIP     string // 送信元IP
	SrcPort   string // 送信元ポート
	DstIP     string // 宛先IP
	DstPort   string // 宛先ポート
	Protocol  string // プロトコル
	TCPFlag   string // TCPフラグ
	NextTime  int64  // 継続検索の場合の時刻(nano Sec)
	Filter    int    // 累計の検索数
}

NetflowFilterは、NetFlow/IPFIXの検索条件です。

type NetflowWebAPI

type NetflowWebAPI struct {
	Logs     []*NetflowWebAPILogEnt // ログの検索結果
	NextTime int64                  // 継続検索の次回の時刻(nano Sec)
	Process  int                    // 総ログ件数
	Filter   int                    // フィルターした件数
	Limit    int                    // 上限
}

NetflowWebAPIは、NetFlow/IPFIXログの検索結果です。

type NetflowWebAPILogEnt

type NetflowWebAPILogEnt struct {
	Time     int64   // ログの受信日時
	Src      string  // 送信元ホスト名
	SrcIP    string  // 送信元IP
	SrcMAC   string  // 送信元MACアドレス
	SrcPort  int     // 送信元ポート番号
	DstIP    string  // 宛先IP
	DstMAC   string  // 宛先MACアドレス
	DstPort  int     // 宛先ポート番号
	Dst      string  // 宛先ホスト名
	Protocol string  // プロコトル
	TCPFlags string  // TCPフラグ
	Packets  int64   // パケット数
	Bytes    int64   // バイト数
	Duration float64 // 通信期間
}

NetflowWebAPILogEntは、NetFlow/IPFIXログのデータ構造です。

type PollingsWebAPI

type PollingsWebAPI struct {
	Pollings []*datastore.PollingEnt
	NodeList []selectEntWebAPI
}

PollingsWebAPIは、ポーリングの応答データの構造です。

type SFlowCounterFilter

type SFlowCounterFilter struct {
	Remote    string // 送信元
	Type      string // 種別
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04
	NextTime  int64  // 継続検索の開始時刻(nano Sec)
	Filter    int    // 累計検索件数
}

SFlowCounterFilterは、SFlow Counterログの検索条件です。

type SFlowCounterWebAPI

type SFlowCounterWebAPI struct {
	Logs     []*SFlowCounterWebAPILogEnt // 検索結果のログ
	NextTime int64                       // 継続検索の次回時刻
	Process  int                         // 総ログ数
	Filter   int                         // フィルターした件数
	Limit    int                         // 上限
}

SFlowCounterWebAPIは、SFlow Counterログの検索結果です。

type SFlowCounterWebAPILogEnt

type SFlowCounterWebAPILogEnt struct {
	Time                      int64 // 受信時刻
	datastore.SFlowCounterEnt       // カウンターサンプルのデータ
}

SFlowCounterWebAPILogEntは、SFlowCounterログです。

type SFlowFilter

type SFlowFilter struct {
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04	StartDate string
	SrcDst    bool   // 双方向検索
	IP        string // 双方向検索のIP
	Port      string // 双方向検索のポート
	SrcIP     string // 送信元IP
	SrcPort   string // 送信元ポート番号
	DstIP     string // 宛先IP
	DstPort   string // 宛先ポート
	Protocol  string // プロトコル
	TCPFlag   string // TCPフラグ
	Reason    string // 切断理由
	NextTime  int64  // 継続検索の開始時刻(nano Sec)
	Filter    int    // 累計検索件数
}

SFlowFilterはSFlowログ検索条件です。

type SFlowWebAPI

type SFlowWebAPI struct {
	Logs     []*SFlowWebAPILogEnt // 検索結果のログ
	NextTime int64                // 継続検索の次回時刻(nano Sec)
	Process  int                  // 総ログ数
	Filter   int                  // フィルターした件数
	Limit    int                  // 上限
}

SFlowWebAPIは、SFlowログの検索結果です。

type SFlowWebAPILogEnt

type SFlowWebAPILogEnt struct {
	Time     int64  // ログ受信日時
	Src      string // 送信元ホスト
	SrcIP    string // 送信元IP
	SrcMAC   string // 送信元MACアドレス
	SrcPort  int    // 送信元ポート番号
	DstIP    string // 宛先IP
	DstMAC   string // 宛先MACアドレス
	DstPort  int    // 宛先ポート番号
	Dst      string // 宛先ホスト名
	Protocol string // プロトコル
	TCPFlags string // TCPフラグ
	Bytes    int64  // バイト数
	Reason   int    // 切断理由
}

SFlowWebAPILogEntは、SFlowログです。

type SnmpTrapFilter

type SnmpTrapFilter struct {
	StartDate   string // 検索の開始日 例:2006-01-02
	StartTime   string // 検索の開始時刻 例: 15:04
	EndDate     string // 検索の終了日 例:2006-01-02
	EndTime     string // 検索の終了時刻 例: 15:04
	FromAddress string // TRAPの送信元アドレス
	TrapType    string // TRAPの種別
	Variables   string // TRAPに付帯したMIB
}

SnmpTrapFilterは、SNMP TRAPログの検索条件です。

type SnmpTrapWebAPI

type SnmpTrapWebAPI struct {
	Time        int64  // TRAPの受信日時
	FromAddress string // TRAPの送信元アドレス
	TrapType    string // TRAPの種別
	Variables   string // TRAPに付帯したMIB
}

SnmpTrapWebAPIは、SNMP TRAPログです。

type SyslogFilter

type SyslogFilter struct {
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04
	Level     string // レベル
	Type      string // ログのタイプ
	Host      string // ログの送信元ホスト
	Tag       string // ログのタグ
	Message   string // ログのメッセージ
	Extractor string // 抽出パターン
	NextTime  int64  // 継続ログの開始時刻(nano Sec)
	Filter    int    // ログの累積件数
}

SyslogFilterは、syslogの検索条件です。

type SyslogWebAPI

type SyslogWebAPI struct {
	Logs          []*SyslogWebAPILogEnt // sysylogの検索結果
	ExtractHeader []string              // 抽出データのヘッダ
	ExtractDatas  [][]string            // 抽出データ
	NextTime      int64                 // 継続検索の開始時刻(nano Sec)
	Process       int                   // ログの総数
	Filter        int                   // フィルター後の件数
	Limit         int                   // 検索上限
}

SyslogWebAPIは、syslogの検索結果です。

type SyslogWebAPILogEnt

type SyslogWebAPILogEnt struct {
	Time     int64  // タイムスタンプ(nano Sec)
	Level    string // レベル
	Host     string // 送信元ホスト
	Type     string // ログの種別
	Tag      string // タグ
	Message  string // メッセージ
	Severity int    // Severity
	Facility int    // Facility
}

SyslogWebAPILogEntは、syslogのデータ構造です。

type TWSNMPApi

type TWSNMPApi struct {
	URL                string // TWSNMP FCのURL
	Token              string // JWTアクセストークン
	InsecureSkipVerify bool   // HTTPSで通信する時にサーバー証明書の検証を行わない
	Timeout            int    // タイムアウト
}

TWSNMPApiは、TWSNMP FCと通信するためのデータ構造です。

func NewClient

func NewClient(url string) *TWSNMPApi

NewClientは新しいクライアントを作成します。

func (*TWSNMPApi) Delete

func (a *TWSNMPApi) Delete(path string) error

DeleteはTWSNMP FCにDELETEリクエストを送信します。

func (*TWSNMPApi) DeleteLog

func (a *TWSNMPApi) DeleteLog(id string) error

DeleteLogは、idで指定されたログを全て削除します。

func (*TWSNMPApi) DeleteNodes

func (a *TWSNMPApi) DeleteNodes(ids []string) error

DeleteNodesは、ノードを削除します。

Example
c := NewClient("http://127.0.0.1:8080")
err := c.Login("twsnmp", "twsnmp")
if err != nil {
	log.Fatal(err)
}
err = c.DeleteNodes([]string{"node id"})
if err != nil {
	log.Fatal(err)
}
Output:

func (*TWSNMPApi) DeletePollings

func (a *TWSNMPApi) DeletePollings(ids []string) error

DeletePollingsは、ポーリングを削除します。

func (*TWSNMPApi) DeleteReport

func (a *TWSNMPApi) DeleteReport(t, id string) error

DeleteReportは,指定された種別とIDのレポートを削除します。

func (*TWSNMPApi) Get

func (a *TWSNMPApi) Get(path string) ([]byte, error)

GetはTWSNMP FCにGETリクエストを送信します。

func (*TWSNMPApi) GetAIList

func (a *TWSNMPApi) GetAIList() ([]*AiListEntWebAPI, error)

GetAIListはTWSNMP FCからAI分析リストを取得します。

func (*TWSNMPApi) GetArpLogs

func (a *TWSNMPApi) GetArpLogs(filter *ArpFilter) ([]*ArpWebAPI, error)

GetArpLogsはTWSNMP FCからARPログを取得します。

func (*TWSNMPApi) GetDevices

func (a *TWSNMPApi) GetDevices() ([]*datastore.DeviceEnt, error)

GetDevicesはTWSNMP FCからLANデバイスレポートを取得します。

func (*TWSNMPApi) GetEventLogs

func (a *TWSNMPApi) GetEventLogs(filter *EventLogFilter) (*EventLogsWebAPI, error)

GetEventLogsはTWSNMP FCからイベントログを取得します。

func (*TWSNMPApi) GetFlows

func (a *TWSNMPApi) GetFlows() ([]*datastore.FlowEnt, error)

GetFlowsはTWSNMP FCからフローレポートを取得します。

func (*TWSNMPApi) GetIPFIX

func (a *TWSNMPApi) GetIPFIX(filter *NetflowFilter) (*NetflowWebAPI, error)

GetIPFIXはTWSNMP FCからIPFIXログを取得します。

func (*TWSNMPApi) GetIPs

func (a *TWSNMPApi) GetIPs() ([]*datastore.IPReportEnt, error)

GetIPsはTWSNMP FCからIPレポートを取得します。

func (*TWSNMPApi) GetMonitor

func (a *TWSNMPApi) GetMonitor() ([]*datastore.MonitorDataEnt, error)

GetMonitorはTWSNMP FCからモニターレポートを取得します。

func (*TWSNMPApi) GetNetFlow

func (a *TWSNMPApi) GetNetFlow(filter *NetflowFilter) (*NetflowWebAPI, error)

GetNetFlowはTWSNMP FCからNetFlowログを取得します。

func (*TWSNMPApi) GetNodes

func (a *TWSNMPApi) GetNodes() ([]*datastore.NodeEnt, error)

GetNodesはTWSNMP FCからノードリストを取得します。

Example
c := NewClient("http://127.0.0.1:8080")
err := c.Login("twsnmp", "twsnmp")
if err != nil {
	log.Fatal(err)
}
nodes, err := c.GetNodes()
if err != nil {
	log.Fatal(err)
}
for _, n := range nodes {
	fmt.Printf("%+v\n", n)
}
Output:

func (*TWSNMPApi) GetPollingLogs

func (a *TWSNMPApi) GetPollingLogs(id string, filter *TimeFilter) ([]*datastore.PollingLogEnt, error)

GetPollingLogsはTWSNMP FCからポーリングログを取得します。

Example
c := NewClient("http://127.0.0.1:8080")
err := c.Login("twsnmp", "twsnmp")
if err != nil {
	log.Fatal(err)
}
r, err := c.GetPollings()
if err != nil {
	log.Fatal(err)
}
for _, p := range r.Pollings {
	if p.LogMode > 0 {
		logs, err := c.GetPollingLogs(p.ID, &TimeFilter{})
		if err != nil {
			log.Fatal(err)
		}
		for _, l := range logs {
			fmt.Printf("%+v\n", l)
		}
	}
}
Output:

func (*TWSNMPApi) GetPollings

func (a *TWSNMPApi) GetPollings() (*PollingsWebAPI, error)

GetPollingsはTWSNMP FCからポーリングリストを取得します。

func (*TWSNMPApi) GetSFlow

func (a *TWSNMPApi) GetSFlow(filter *SFlowFilter) ([]*SFlowWebAPI, error)

GetSFlowはTWSNMP FCからSFlowログを取得します。

func (*TWSNMPApi) GetSFlowCounter

func (a *TWSNMPApi) GetSFlowCounter(filter *SFlowCounterFilter) (*SFlowCounterWebAPI, error)

GetSFlowCounterはTWSNMP FCからSFlow Counterログを取得します。

func (*TWSNMPApi) GetSensors

func (a *TWSNMPApi) GetSensors() ([]*datastore.SensorEnt, error)

GetSensorsはTWSNMP FCからセンサーレポートを取得します。

func (*TWSNMPApi) GetServers

func (a *TWSNMPApi) GetServers() ([]*datastore.ServerEnt, error)

GetServersはTWSNMP FCからサーバーレポートを取得します。

func (*TWSNMPApi) GetSnmpTraps

func (a *TWSNMPApi) GetSnmpTraps(filter *SnmpTrapFilter) ([]*SnmpTrapWebAPI, error)

GetSnmpTrapsはTWSNMP FCからSNMP Trapログを取得します。

func (*TWSNMPApi) GetSyslogs

func (a *TWSNMPApi) GetSyslogs(filter *SyslogFilter) (*SyslogWebAPI, error)

GetSyslogsはTWSNMP FCからsyslogを取得します。

func (*TWSNMPApi) GetUsers

func (a *TWSNMPApi) GetUsers() ([]*datastore.UserEnt, error)

GetUsersはTWSNMP FCからユーザーレポートを取得します。

func (*TWSNMPApi) Login

func (a *TWSNMPApi) Login(user, password string) error

LoginはTWSNMP FCにログインします。

Example
c := NewClient("http://127.0.0.1:8080")
err := c.Login("twsnmp", "twsnmp")
if err != nil {
	log.Fatal(err)
}
Output:

func (*TWSNMPApi) Post

func (a *TWSNMPApi) Post(path string, data []byte) ([]byte, error)

PostはTWSNMP FCにPOSTリクエストを送信します。

func (*TWSNMPApi) ResetReport

func (a *TWSNMPApi) ResetReport(t string) error

ResetReportは,指定された種別とIDのレポートのスコアを再計算します。

func (*TWSNMPApi) UpdateNode

func (a *TWSNMPApi) UpdateNode(node *datastore.NodeEnt) error

UpdateNodeは、ノードを追加または削除します。

Example
c := NewClient("http://127.0.0.1:8080")
err := c.Login("twsnmp", "twsnmp")
if err != nil {
	log.Fatal(err)
}
err = c.UpdateNode(&datastore.NodeEnt{
	Name: "test",
	X:    100,
	Y:    100,
})
if err != nil {
	log.Fatal(err)
}
Output:

func (*TWSNMPApi) UpdatePolling

func (a *TWSNMPApi) UpdatePolling(polling *datastore.PollingEnt) error

UpdatePollingは、ポーリングの追加または更新します。

type TimeFilter

type TimeFilter struct {
	StartDate string // 検索の開始日 例:2006-01-02
	StartTime string // 検索の開始時刻 例: 15:04
	EndDate   string // 検索の終了日 例:2006-01-02
	EndTime   string // 検索の終了時刻 例: 15:04
}

TimeFilterは、ポーリングログの時間範囲の条件を指定します。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL