1// +build !windows 2 3/* 4** Zabbix 5** Copyright (C) 2001-2021 Zabbix SIA 6** 7** This program is free software; you can redistribute it and/or modify 8** it under the terms of the GNU General Public License as published by 9** the Free Software Foundation; either version 2 of the License, or 10** (at your option) any later version. 11** 12** This program is distributed in the hope that it will be useful, 13** but WITHOUT ANY WARRANTY; without even the implied warranty of 14** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15** GNU General Public License for more details. 16** 17** You should have received a copy of the GNU General Public License 18** along with this program; if not, write to the Free Software 19** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20**/ 21 22package agent 23 24type AgentOptions struct { 25 LogType string `conf:"optional,default=file"` 26 LogFile string `conf:"optional,default=/tmp/zabbix_agent2.log"` 27 LogFileSize int `conf:"optional,range=0:1024,default=1"` 28 DebugLevel int `conf:"optional,range=0:5,default=3"` 29 PidFile string `conf:"optional"` 30 ServerActive string `conf:"optional"` 31 RefreshActiveChecks int `conf:"optional,range=30:3600,default=120"` 32 Timeout int `conf:"optional,range=1:30,default=3"` 33 Hostname string `conf:"optional"` 34 HostnameItem string `conf:"optional"` 35 HostMetadata string `conf:"optional"` 36 HostMetadataItem string `conf:"optional"` 37 HostInterface string `conf:"optional"` 38 HostInterfaceItem string `conf:"optional"` 39 BufferSend int `conf:"optional,range=1:3600,default=5"` 40 BufferSize int `conf:"optional,range=2:65535,default=100"` 41 EnablePersistentBuffer int `conf:"optional,range=0:1,default=0"` 42 PersistentBufferPeriod int `conf:"optional,range=60:31536000,default=3600"` 43 PersistentBufferFile string `conf:"optional"` 44 ListenIP string `conf:"optional"` 45 ListenPort int `conf:"optional,range=1024:32767,default=10050"` 46 StatusPort int `conf:"optional,range=1024:32767"` 47 SourceIP string `conf:"optional"` 48 Server string `conf:"optional"` 49 UserParameter []string `conf:"optional"` 50 UnsafeUserParameters int `conf:"optional,range=0:1,default=0"` 51 ControlSocket string `conf:"optional"` 52 Alias []string `conf:"optional"` 53 TLSConnect string `conf:"optional"` 54 TLSAccept string `conf:"optional"` 55 TLSPSKIdentity string `conf:"optional"` 56 TLSPSKFile string `conf:"optional"` 57 TLSCAFile string `conf:"optional"` 58 TLSCRLFile string `conf:"optional"` 59 TLSCertFile string `conf:"optional"` 60 TLSKeyFile string `conf:"optional"` 61 TLSServerCertIssuer string `conf:"optional"` 62 TLSServerCertSubject string `conf:"optional"` 63 64 AllowKey interface{} `conf:"optional"` 65 DenyKey interface{} `conf:"optional"` 66 67 Plugins map[string]interface{} `conf:"optional"` 68} 69