由于工作原因,最近在搞zabbix,所有写些配置文件详解,留着日后查阅
-----
# zabbix-server配置文件详解
This is a configuration file for Zabbix Server process
#说明:服务端节点Id,0表示只有一台服务端;主要用于服务端分布式部署时,视使用者设计ZABBIX系统架构调整
NodeID=0
#说明:服务端监听端口用于接收二级代理或直连AGENT的采集数据
ListenPort=10051
#说明:服务端监听IP,建议指定
#SourceIP=
#说明:zabbix服务端日志路径,视具体情况指定
#LogFile=/smp/sncmon/zabbix_server.log
#说明:日志达到多少M里就轮转;若此参数值为0时,则不轮转,日志将不断变大,建议设置成轮转
#LogFileSize=1
#说明:日志级别0~4,单位时间内生成日志的量不断增大
DebugLevel=3
Option: DebugLevel
Specifies debug level
0 - no debug 无日志
1 - critical information 灾难日志,日志量较少
2 - error information 错误级别,日志量大于CRITICAL级别
3 - warnings 告警级别,日志量大于ERROR级别
4 - for debugging (produces lots of information)调试级别,日志量大于WARNING
#说明:zabbix服务端程序PID路径
PidFile=/tmp/zabbix_server.pid
#说明:指定数据库信息,对于mysql,若设置为localhost则mysql用SOCKET来连接(需配合参数 DBSocket 使用),否则用IP连接;若DHHOST值为空,则默认连接PostgreSQL
#DBHost=localhost
#说明:服务端连接数据库的库名
#DBName=smp
#说明:专门用于 IBM DB2数据库的连接信息
#DBSchema=
#说明:连接数据库的用户
DBUser=
#说明:连接数据库的密码
DBPassword=123
#说明:指定MYSQL的SOCK连接路径
DBSocket=/tmp/mysql.sock
#说明:指定连接数据库的端口
DBPort=3306
#说明;初始化时,启动子进程数量,数量越多,则服务端吞吐能力越强,对系统资源消耗越大
StartPollers=5
#说明:主要用于IPmi技术用于获取硬件状态场景。若无相关监控项,建议设置为0
#StartIPMIPollers=0
#说明:默认情况下,ZABBIX会启用指定进程用于探测某些不可达主机的(含IPMI场景);若使用场景中含有代理端,建议保持默认;若直接agent较多,可视具体情况调整
#StartPollersUnreachable=1
#说明:用于设置诸如SNMP STRAPPER场景提交来的数据的接收进程数,若客户机SNMP TRAPPER技术较多,建议加大此参数值
StartTrappers=5
#说明:用于设置启用icmp协议PING主机方式启动线程数量,若单台代理所管理机器超过500台,建议加大此数值
#StartPingers=1
#说明:用于设置自动发现主机的线程数量,若单台代理所管理机器超过500台,可以考虑加大此数值(仅适用于直接AGENT场景)
#StartDiscoverers=1
#说明:用于设置WEB拨测监控线程数,可视具体情况增加或减少此数值。
#StartHTTPPollers=1
#说明:各实例计时器数量,主要用于触发器,标有维护标识的主机,但只第一个计时器用于计算维护标识主机。
StartTimers=1
#说明:JAVAGATEWAY 的IP地址或主机名
#JavaGateway=
#说明:JavaGateway的端口号
JavaGatewayPort=10052
#说明:开启连接JavaGateway的进程数,StartJavaPollers设置的值要小于等于START_POLLERS设置的值。 # StartJavaPollers=0
#说明:用于设置监控VMWARE Esxi主机实例时使用,若为0则不启用,若要监控ESXI主机,此值最少为1 ;视监控ESXI数量设置对应数值
StartVMwareCollectors=0
#说明:代理端访问 VMWARE service的频率,单位:秒
VMwareFrequency=60
#说明:划出多少共享内存用于存储VMWARE数据
#VMwareCacheSize=8M
#说明:指定SNMP TRAPPER 时的临时文件,用于代理端启用SNMP TRAPPER功能时使用
SNMPTrapperFile=/tmp/zabbix_traps.tmp
#说明:是否启用 snmptrapper功能 ,默认不启用=0,启用=1(配合参数SNMPTrapperFile使用)
#StartSNMPTrapper=0
#说明:启用SNMPTRAPPER里 ,接收端监听的IP,此参数与StartSNMPTrapper,SNMPTrapperFile 联合使用
ListenIP=0.0.0.0
ListenIP=127.0.0.1
#说明:多少小时清理一次代理端数据库的 history, alert, and alarms,以保持代理端数据库轻便,建议保持默认
#HousekeepingFrequency=1
#说明:多少秒后重试发送失败的报警信息
#SenderFrequency=30
#说明;zabbix初始化时占用多少系统共享内存用于存储配置信息,HOST,ITEM,TRIGGER数据,视监控主机数量和监控项调整,建议调整到32M或者更大
CacheSize=8M
#说明:zabbix更新操作系统CACHE频率,若管理页面操作不频繁,可以考虑加大参数值
CacheUpdateFrequency=60
#说明:将采集数据从CACHE同步到数据库线程数量,视数据库服务器I/O繁忙情况,和数据库写能力调整。数值越大,写能力越强。对数据库服务器I/O压力越大。
StartDBSyncers=4
#说明:用于设置划分多少系统共享内存用于存储采集的历史数据,此数值越大,数据库读压力越小
#HistoryCacheSize=8M
#说明:用于设置划分多少系统共享内存用于存储计算出来的趋势数据,此参数值从一定程度上可影响数据库读压力
#TrendCacheSize=4M
#说明:指定划出多少系统共享内存用于存储 character, text or log history数据,若二级代理内存足够,建议可适当扩大此数值,可很大程度上解决系统I/O压力,和数据库读压力
HistoryTextCacheSize=16M
#说明:划出系统多少共享内存用于已请求的存储监控项信息,若监控项较多,建议加大此数值
ValueCacheSize=8M
#说明:若节点为子结点,是否允许本地事件(events表)发送到主节点,1为不发送,但不影响此节点以下的节点的传播能力,视ZABBIX分布式系统架构设计开启或关闭。在不明架构前提下,建议保持默认
#NodeNoEvents=0
#说明:若节点为子结点,是否允许本地历史数据发送到主节点,1为不发送,但不影响此节点以下的节点的传播能力,视ZABBIX分布式系统架构设计开启或关闭,在不明架构前提下,建议保持默认
NodeNoHistory=0
#说明:与AGNET\SNMP设备和其它外部设备通信超时设置,单位为秒,默认是30秒;若采集数据不完整或网络繁忙,或从管理页面发现客户端状态变化频繁,可以考虑加大此数值。注意若此数值加大,应该考虑参数 StartPollers 是否有相应加大的必要。
#Timeout=3
#说明:启用 trapper功能,用于进程等待超时设置。根据需要调整
TrapperTimeout=300
#说明:当AGNET端处于不可用状态下,间隔多少秒后,尝试重新连接。建议根据具体情况设置。注意,若此数值过小,右agent端业务系统繁忙时,有可能造成报警信息误报
#UnreachablePeriod=45
#说明:当AGENT端处于可用状态下,间隔多少秒后,进行状态检查。若出现可正常采集数据,但管理页面AGENT状态不正常;若在网络,端口等均通畅情况下,AGENT状态仍不正常,可以考虑加大此数值
#UnavailableDelay=60
#说明:当agent端处于不可达状态下,延迟多少秒后,进行重新尝试,建议保持默认,在AGENT接入调试阶段,可考虑减少此数值
UnreachableDelay=15
#说明:监控报警脚本路径,非研发人员不建议修改此参数值
AlertScriptsPath=${datadir}/zabbix/alertscripts
#说明:自定义脚本存储路径,非研发人员不建议修改此参数值
ExternalScripts=${datadir}/zabbix/externalscripts
#说明:IPv4 FPING命令路径,仅ROOT可用。注意使用此命令时,应该确认此命令是否存在
FpingLocation=/usr/sbin/fping
#说明:IPv6 FPING命令路径,仅ROOT可用。注意使用此命令时,应该确认此命令是否存在
Fping6Location=/usr/sbin/fping6
#说明:在服务端需要SSH到AGENT端且采用用KEY验证方式时使用。非研发人员,不建议修改或设置
SSHKeyLocation=
#说明:用于服务端数据库慢查询功能,单位是毫秒;1毫秒=0.001秒,若有服务端数据库监控慢查询的需求,可以视具体情况调整此数。
LogSlowQueries=0
#说明:zabbix服务端工作的临时目录
TmpDir=/tmp
#说明:启用多少子进程与代理端通信,若代理端较多可考虑加大此数值
StartProxyPollers=1
#说明:zabbix服务端将配置文件数据同步到代理端的频率,仅适用于代理端为被动模式情况 下
ProxyConfigFrequency=3600
#说明:zabbix服务端请求代理端采集的数据的频率,仅适用代理端为被动模式情况下
ProxyDataFrequency=1
#说明:是否允许以root身份运行服务端
#AllowRoot=0
#说明:在一些情况下,软件的参数配置文件很长,为了方便管理,将配置文件切割成N个配置文件,但为了主配置参数文件的简洁,便会启用INCLUDE参数,以方便程序读取指定目录下的所有配置文件
Include=
#Include=/usr/local/etc/zabbix_server.general.conf
Include=/usr/local/etc/zabbix_server.conf.d/
#指定本地模块路径,非研发人员不建议修改
#LoadModulePath=${libdir}/modules
#指定本地模块路径,非研发人员不建议修改
#LoadModule=
-----
# zabbix-proxy配置文件详解
一般情况下是不需要使用分布式监控代理程序的,使用满足以下条件
1. Zabbix-server端性能不够的情况,使用proxy做分布式缓解server端的压力
2. 例北京公司是zabbix-server,上海分部也有数量庞大的主机需要监控,这时在上海部署proxy(代理)由一台代理把数据汇总总部server端监控,上海本地也监控,存储数据。
配置详解
Server=192.168.70.133
#指定zabbix server的IP地址或主机名
Hostname=zabbix-proxy-1.35
#定义监控代理的主机名,需和zabbix server前端配置时指定的节点名相同
LogFile=/tmp/zabbix_proxy.log
#指定日志文件的位置
PidFile=/tmp/zabbix_proxy.pid
#pid文件的位置
DBName=zabbix_proxy
#数据库名
DBUser=zabbix
#连接数据库的用户
DBPassword=123456
#连接数据库用户的密码
ConfigFrequency=60
#zabbix proxy从zabbix server取得配置数据的频率
DataSenderFrequency=60
#zabbix proxy发送监控到的数据给zabbix server的频率
DBPassword=123456
#连接数据库用户的密码
ConfigFrequency=60
#zabbix proxy从zabbix server取得配置数据的频率
DataSenderFrequency=60
#zabbix proxy发送监控到的数据给zabbix server的频率
-----
# zabbix-agnet配置文件详解
#说明:指定程程序PIDFILE路径,可修改到其它路径,但SNC不建议修改
PidFile=/smp/sncmon/zabbix_agentd.pid
#说明:客户端AGENT运行产生的日志文件路径,可修改到其它路径,如/var/log/zabbix_agnetd.log,视具体情况修改,也可保持默认
LogFile=/smp/sncmon/zabbix_agentd.log
#说明:AGENT产生日志大小控制,默认1M,若为0,则表示不产生任何日志,数字范围(1-1024M)不建议关闭日志功能,建议保持默认
LogFileSize=1
#说明:0~4级别,日志产生量在相同单位时间,生成的日志量为递增,即0级别日志量最少,4级别最多,默认3级别,建议视具体情况,自行把握
#0 - no debug 无日志级别
#1 - critical information 灾难信息级别
#2 - error information 一般错误信息级别
#3 - warnings 警告级别
#4 - for debugging (produces lots of information) 调试级别
DebugLevel=3
#SourceIP=IP地址
#说明:当系统设置有多个IP时,需要指定一个IP与二级代理或服务端通信,若系统只有一个IP,也建议指定一个IP
SourceIP=192.168.1.3
#EnableRemoteCommands=0或1
#说明:是否允许在本地执行远程命令,建议设置为“允许”,因为SNC对命令下发功能进行了二次开发,功能强大,极大的方便日志运维工作
#0 - not allowed 不允许
#1 - allowed 允许
EnableRemoteCommands=1
#说明:在参数EnableRemoteCommands=1的情况下,执行远程命令是否保存操作日志,若已设置EnableRemoteCommands=1
#建议LogRemoteCommands=1,以便 日后查证。若EnableRemoteCommands=0,此参数不生效
#0 - disabled 不产生日志
#1 - enabled 产生日志
LogRemoteCommands=1
#与被动模式有关的参数设置
#什么是被动模式?
#被动模式下,由二级代理或服务端主动请求AGENT,去获取所采集到的监控数据
#Server=IP地址或主机名,建议IP地址
#说明:在有二级代理情况下,此IP地址应该填写二级代理服务器的IP,反之,若无二级代理服务器,则此IP应设置为服务端#IP
Server=192.168.1.14
#Range: 1024-32767 (监控端口范围)
#ListenPort=数字
#说明:此AGENT端以本地服务的形式运行,需要监听端口,强烈建议设置为10050,以便移动整个系统统一规划管理,当然,特殊情况下可修改为1024-32767 未使用的端口
ListenPort=10050
##ListenIP=IP地址
#说明:对应的ListenPort监听到哪个IP上面,建议指定IP时,不用0.0.0.0
#ListenIP=192.168.1.6
#Range: 0-100 数字范围(0-100)
#StartAgents=数字
#说明:在被动模式下,此参数用于设置控制监听进程可启用的子进程的数量,若监控项较多且采集很频繁,建议加大此数值
;若此数值为0,则禁止使用被动模式。另外,一般情况,不建议修改此数值,当且仅当某些监控项无法采集到数据,或数据采集数据有延迟现象时,可调整。第四,启用线程越多,则相对越耗系统资源
StartAgents=5
#主动模式相关参数设置
#什么时主动模式?
#在主动模式下,AGENT端(即采集客户端)将所采集的结果,主动提交给二级代理服务器或服务器,而此种情况下,二级代理服务器或服务器将被动接收采集信息
#ServerActive=IP地址或IP地址:端口号
#说明:在主动模式下,ServerActive为二级代理服务器或服务器,默认端口为10051,若需更改端口,则为#ServerActive=IP:port,非特殊情况下,不建议修改。
ServerActive=192.168.1.14
#Hostname=主机名
#说明:手工自定义一个主机名,可以和系统的主机名一样,也可以不一样,此参数可根据实际情况启用或关闭,建议关闭此参数,并启用HostnameItem参数
#Hostname=Zabbix server
#HostnameItem:自动获取主机名
#说明:system.hostname是ZABBIX内置的一个自动获取主机名的方法,为了方便配置,建议打开此参数而关闭Hostname参数#。注意:HostnameItem的优化级低于Hostname,当两个参数都启用且配置的情况下,ZABBIX获取的主机名,将以Hostname为#准
HostnameItem=system.hostname
#Range: 0-255 characters 0-255个字符
#HostMetadata=字符串
#说明:用于定义当前主机唯一标识符,最大长度255个,仅适用于自动发现情况下,默认不定义,建议不定义
#HostMetadata=
#说明;用于获取主机的HostMetadata,建议保持默认
#HostMetadataItem=
#RefreshActiveChecks=数字
#说明:被监控的主机多久(秒)重新请求二级代理或服务端刷新一监控列表。范围为60-3600秒。ZABBIX运行原理为:,zabbix客户端启动后,在等待RefreshActiveChecks秒后,开始从二级代理或服务端请求并下载监控项信息,保存在本地专门的buffersend中,再过RefreshActiveChecks秒后,重新获取监控项信息。这就是为什么当配置监控项,要过一会才能生效的原因。这个数值,就是等待时间。建议,不要将此数值设置过小,以免加大AGENT端和服务端及数据库的压力,建议为120秒。
RefreshActiveChecks=120
#BufferSend=数字
#说明:多少秒后,将BUFFER中的数据提交到二级代理或服务端。范围(1-36600)此数值的大小决定了采集后,提交数据的及时性,数值越小,则提交得越频繁,对服务器压力越大,同时对AGENT端系统资源消耗越大,则表现出来的现象是报警非常及时,建议根据实际情况自行考虑,也可保持默认,若发现ZABBIX消耗资源较多,建议加大此数值。
#BufferSize=数值
#说明:此参数作用设置保存采集数据在内存中的容量大小。若此agent端监控项较多,建议加大此数值。BufferSize与BufferSend之间有联系的。当达到bUFFERSEND或Buffersize已满时,都会触发数据提交动作。
BufferSize=100
#MaxLinesPerSecond=数值
#说明:定义了AGENT在1秒内发送的日志行数,用于避免网络或cpu过载,建议保持默认
MaxLinesPerSecond=100
#高级参数设置
#设置参数的别名。它可以替代长和复杂的一个小而简单的一个有用的参数名称
#alias_name=long_command
#Timeout=数值
#说明:当agent采集一个数据时,多长少算超时。建议保持默认
Timeout=30
#AllowRoot=0或1
#说明:是否允许ROOT帐号运行此客户端。0:不允许,1:允许,当一个脚本执行需要以ROOT身份执行的,则此开关必须打开,建议根据实际情况开启或关闭,
AllowRoot=0
Include=目录路径或扩展配置文件路径
#说明:从配置文件可管理性或扩展性考虑,若需配置大量参数的且为了方便后续管理可以启用此参数,建议根据实际情况考虑,不过,一般情况下无须启用
Include=/usr/local/etc/zabbix_agentd.userparams.conf
Include=/usr/local/etc/zabbix_agentd.conf.d/
#自定义监控脚本
#UnsafeUserParameters=0或1
#说明:是否启用用户自定义监控脚本,1启用,0不启用。由于ZABBIX实现监控方法的多样性,一般都采用脚本来实现监控数据的采集,所以,建议开启,否则功能将受限。
UnsafeUserParameters=1
#说明:扩展模块路径,强烈建议不要改动,除非你具有AGENT 开发能力
LoadModulePath=${libdir}/modules
#说明:扩展模块路径,强烈建议不要改动,除非你具有AGENT 开发能力
#LoadModule=
#说明:用户自定义监控脚本,当且仅当UnsafeUserParameters=1时UserParameter生效。以下为SNC初始自定监控脚本,不建议修改,已有选项,但可自义添加。
#自定义监控项配置语法
#UserParameter=key,command