一.配置文件优化

server端配置文件添加如下

  1. StartPollers=160
  2. #zabbix_server的进程数
  3. StartPollersUnreacheable=80
  4. #默认情况下,ZABBIX会启用指定进程用于探测某些不可达主机的(含IPMI场景);若使用场景中含有代理端,建议保持默认;若直接agent较多,可视具体情况调整
  5. StartTrappers=20
  6. #Trappers初始子进程数
  7. StartPingers=100
  8. #用于设置启用icmp协议PING主机方式启动子进程数量,若单台代理所管理机器超过500台,建议加大此数值
  9. StartDiscoverers=120
  10. #用于设置自动发现主机的子进程数量,若单台代理所管理机器超过500台,可以考虑加大此数值(仅适用于直接AGENT场景)
  11. Cachesize=1024M
  12. #配置缓存的大小(以字节为单位)。用于存储主机,项目和触发器数据的共享内存大小。范围是128K-8G
  13. startDBSyncers=16
  14. #DB同步进程数量
  15. HistoryCacheSize=1024M
  16. #历史缓存的大小(以字节为单位)。用于存储历史数据的共享内存大小。范围是128K-2G
  17. TrendCacheSize=1024M
  18. #用于设置划分多少系统共享内存用于存储计算出来的趋势数据,此参数值从一定程度上可影响数据库读压力,范围是128K-2G

二、zabbix_server配置文件详解

  1. ############一般参数############
  2. # ListenPort=10051 #trapper的监听端口,端口范围1024-32767,默认是10051
  3. #SourceIP= #出站连接的源IP地址。默认为空
  4. # LogType=file #指定日志消息写入的位置:system是写到syslog里面,file是写到本地指定的位置,console是标准输出到屏幕,这里默认是file
  5. LogFile=/var/zabbix/zabbix_server.log #这里一般要修改到我们指定位置的
  6. # LogFileSize=1 #日志文件的最大大小(MB)就轮询日志。0 - 禁用自动日志旋转。范围是0-1024,默认是1M大小就轮询。
  7. # DebugLevel=3 #日志调试级别,0-有关Zabbix进程启动和停止的基本信息,1-关键信息,2是错误信息,3是warnings级别,4是debug信息,5是扩展调试信息
  8. # PidFile=/tmp/zabbix_server.pid #pid文件的保存位置,也可以写到指定目录下
  9. # DBHost=localhost #连接数据库的主机地址,默认是localhost
  10. DBName=zabbix #连接数据库的库名称
  11. # DBSchema= #模式名称。用于IBM DB2和PostgreSQL。
  12. DBUser=zabbix #连接指定数据库的用户名
  13. DBPassword=zabbix #连接指定数据库用户名的密码
  14. # DBSocket=/tmp/mysql.sock #MySQL套接字的路径。
  15. # DBPort=3306 #数据库的端口号
  16. ############高级参数############
  17. #StartPollers=5 #初始化时,启动子进程数量,数量越多,则服务端吞吐能力越强,对系统资源消耗越大。范围是0-1000如非特殊默认即可
  18. # StartIPMIPollers=0 #主要用于IPMI技术用于获取硬件状态场景。若无相关监控项,建议设置为0
  19. # StartPollersUnreachable=1 #默认情况下,ZABBIX会启用指定进程用于探测某些不可达主机的(含IPMI场景);若使用场景中含有代理端,建议保持默认;若直接agent较多,可视具体情况调整
  20. # StartTrappers=5 #Trappers初始子进程数
  21. # StartPingers=1 #用于设置启用icmp协议PING主机方式启动子进程数量,若单台代理所管理机器超过500台,建议加大此数值
  22. StartDiscoverers=1 #用于设置自动发现主机的子进程数量,若单台代理所管理机器超过500台,可以考虑加大此数值(仅适用于直接AGENT场景)
  23. # StartHTTPPollers=1 #HTTP主动监测的进程数
  24. # StartTimers=1 #计时器的预分支实例数。定时器处理基于时间的触发功能和维护期。 只有第一个定时器进程处理维护期。
  25. # StartEscalators=1 #用于处理动作中的步骤的进程的数量
  26. # JavaGateway= #Zabbix Java网关的IP地址(或主机名).仅在Java轮询器启动时才需要。
  27. # JavaGatewayPort=10052 #Zabbix Java网关侦听的端口。
  28. # StartJavaPollers=0 #Java轮询器的预分支实例数。
  29. # StartVMwareCollectors=0 #用于设置监控VMWARE Esxi主机实例时使用,若为0则不启用,若要监控ESXI主机,此值最少为1 ;视监控ESXI数量设置对应数值
  30. # VMwareFrequency=60 #Zabbix将连接到VMware服务以获取新数据的频率。默认是60秒
  31. # VMwarePerfFrequency=60 #Zabbix将连接到VMware服务以获取性能数据的频率。默认是60秒
  32. # VMwareCacheSize=8M #划出多少共享内存用于存储VMWARE数据,范围是256K-2G
  33. # VMwareTimeout=10 #指定vmware收集器等待VMware服务响应的秒数。
  34. # SNMPTrapperFile=/tmp/zabbix_traps.tmp #指定SNMP TRAPPER时的临时文件,用于代理端启用SNMP TRAPPER功能时使用,必须与zabbix_trap_receiver.pl或SNMPTT配置文件中的相同。
  35. # StartSNMPTrapper=0 #是否启用 snmptrapper功能 ,默认不启用=0,启用=1(配合参数SNMPTrapperFile使用)
  36. ListenIP=127.0.0.1 #监听地址,留空则会在所有的地址上监听,可以监听多个IP地址,ip之间使用逗号分隔,默认是0.0.0.0
  37. # HousekeepingFrequency=1 #多少小时清理一次代理端数据库的 history, alert, and alarms,以保持代理端数据库轻便,范围是0-24
  38. # MaxHousekeeperDelete=5000 #每次最多删除历史数据的行数,范围是0-1000000
  39. # SenderFrequency=30 #多少秒后重试发送失败的报警信息,范围是5-3600
  40. # CacheSize=8M #配置缓存的大小(以字节为单位)。用于存储主机,项目和触发器数据的共享内存大小。范围是128K-8G
  41. # CacheUpdateFrequency=60 #Zabbix更新缓存数据的频率,单位为秒,范围是1-3600
  42. # StartDBSyncers=4 #DB同步进程数量
  43. # HistoryCacheSize=16M #历史缓存的大小(以字节为单位)。用于存储历史数据的共享内存大小。范围是128K-2G
  44. # HistoryIndexCacheSize=4M #历史索引缓存的大小(以字节为单位)。用于索引历史缓存的共享内存大小。范围是128K-2G
  45. # TrendCacheSize=4M #用于设置划分多少系统共享内存用于存储计算出来的趋势数据,此参数值从一定程度上可影响数据库读压力,范围是128K-2G
  46. # ValueCacheSize=8M #历史值缓存的大小,以字节为单位。 用于缓存项历史数据请求的共享内存大小。 设置为0将禁用值缓存。范围是0,128K-64G
  47. Timeout=4 #指定等待代理,SNMP设备或外部检查的时间(以秒为单位)。
  48. # TrapperTimeout=300 #Trapper处理新数据的最长时间,单位是秒,范围是1-300
  49. # UnreachablePeriod=45 #当主机不可达多少秒后,设置为主机不可用,单位是秒,范围是1-3600
  50. # UnavailableDelay=60 #当主机不可用了,多久检查一次该主机的可用性,单位为秒,范围是1-3600
  51. # UnreachableDelay=15 #当主机不可到达了,多久检查一次该主机的可用性,单位为秒,范围是1-3600
  52. # AlertScriptsPath=${datadir}/zabbix/alertscripts #监控报警脚本路径,取决于编译时候的datadir参数
  53. # ExternalScripts=${datadir}/zabbix/externalscripts #自定义脚本存储路径
  54. # FpingLocation=/usr/sbin/fping #fping的位置 确保fping二进制有root权限和SUID标志设置。
  55. # Fping6Location=/usr/sbin/fping6 #fping6的位置 确保fping6二进制有root权限和SUID标志设置。
  56. # SSHKeyLocation= #用于SSH检查和操作的公钥和私钥的位置。
  57. LogSlowQueries=3000 #数据库查询在记录之前可能需要多长时间(以毫秒为单位)。仅当DebugLevel设置为3,4或5时才可用。0 - 不记录慢查询。范围是1-3600000
  58. # TmpDir=/tmp #临时目录
  59. # StartProxyPollers=1 #启用多少子进程与代理端通信,若代理端较多可考虑加大此数值,范围是0-250
  60. # ProxyConfigFrequency=3600 #proxy被动模式下,server多少秒同步配置文件至proxy。该参数仅用于被动模式下的代理。范围是1-3600*24*7
  61. # ProxyDataFrequency=1 #被动模式下,zabbix server间隔多少秒向proxy请求历史数据
  62. # AllowRoot=0 #是否允许以root身份运行服务端,0是不允许如果禁用并且服务器由“root”启动,服务器将尝试切换到用户配置选项指定的用户。,1是允许。
  63. # User=zabbix #运行使用的用户
  64. # Include= #可以将单个文件或所有文件包含在配置文件中的目录中。安装Zabbix将在/usr/local/etc中创建include目录,除非在编译期间进行修改。
  65. # SSLCertLocation=${datadir}/zabbix/ssl/certs #SSL客户端证书的位置。 此参数仅用于Web监控。
  66. # SSLKeyLocation=${datadir}/zabbix/ssl/keys #SSL客户端证书的私钥位置。此参数仅用于Web监控。
  67. # SSLCALocation= #SSL CA钥文件目录
  68. # LoadModulePath=${libdir}/modules #服务器模块位置的完整路径。 默认值取决于编译选项。
  69. # LoadModule= #<br><div id="inner-editor"></div>260/5000在服务器启动时加载模块。 模块用于扩展服务器的功能。 格式:LoadModule = <module.so>模块必须位于LoadModulePath指定的目录中。 允许包含多个LoadModule参数。
  70. # TLSCAFile= #包含用于对等证书验证的顶级CA证书的文件的完整路径名。
  71. # TLSCRLFile= #包含撤销证书的文件的完整路径名。
  72. # TLSCertFile= #包含服务器证书或证书链的文件的完整路径名。
  73. # TLSKeyFile= #包含服务器私钥的文件的完整路径名。

三、zabbix_agent配置文件详解

  1. ############一般参数############
  2. # PidFile=/tmp/zabbix_agentd.pid #pid文件位置
  3. LogFile=/tmp/zabbix_agentd.log #log文件的位置,如果不设置则使用syslog也就是写入/var/log/message
  4. # LogFileSize=1 #日志轮询大小默认是1MB
  5. # DebugLevel=3 #日志级别
  6. # SourceIP= #出站连接的源IP地址,当系统有多个IP的时候需要制定哪个IP与代理或服务端通信
  7. # EnableRemoteCommands=0 #是否允许来自Zabbix服务器的远程命令。0为不允许,1为允许。
  8. # LogRemoteCommands=0 #是否开启日志记录shell命令作为警告,0表示不允许,1表示允许。
  9. #####被动检查相关(被动模式:被动模式下,由代理或服务端主动请求AGENT,去获取所采集到的监控数据)
  10. Server=192.168.1.103 #在有代理情况下,此IP地址应该填写代理服务器的IP,反之,若无代理服务器,则此IP应设置为服务端,多IP用逗号隔开
  11. # ListenPort=10050 #agent的监听服务端或者代理的连接端口,范围是1024-32767,默认是10050
  12. # ListenIP=0.0.0.0 #监听IP
  13. # StartAgents=3 #在被动模式下,agent启动时启动的子进程数量,范围是0-100, 如果设置为0,则禁用被动检查,并且代理将不会在任何TCP端口上侦听。
  14. #####主动检查相关(主动模式:在主动模式下,AGENT端(即采集客户端)将所采集的结果,主动提交给代理服务器或服务器,而此种情况下,代理服务器或服务器将被动接收采集信息)
  15. # ServerActive= #主动模式下,代理端口的IP,如果没有指定端口则默认为10051端口,若需要更改端口,则为IP:port的形式
  16. # Hostname= #唯一,区分大小写的主机名。需要活动检查,并且必须与服务器上配置的主机名匹配。 如果未定义,则从HostnameItem获取值。手工自定义一个主机名,可以和系统的主机名一样,也可以不一样
  17. # HostnameItem=system.hostname #这里的优先级低于上面的Hostname。system.hostname是ZABBIX内置的一个自动获取主机名的方法
  18. # HostMetadata= #用于定义当前主机唯一标识符,范围是0-255,仅适用于自动发现情况下,默认不定义。如果未定义,则将从HostMetadataItem获取值。
  19. # HostMetadataItem= #定义用于获取主机元数据的项目的可选参数。主机自动注册过程使用主要的元数据。 在自动注册请求期间,如果指定项目返回的值超过255个字符,代理将记录一条警告消息。 仅当未定义HostMetadata时才使用此选项。
  20. # RefreshActiveChecks=120 #被监控的主机多久(秒)重新请求代理或服务端刷新一监控列表。范围为60-3600秒。ZABBIX运行原理为:,zabbix客户端启动后,在等待RefreshActiveChecks秒后,
  21. #开始从代理或服务端请求并下载监控项信息,保存在本地专门的buffersend中,再过RefreshActiveChecks秒后,重新获取监控项信息。这就是为什么当配置监控项,要过一会才能生效的原因。这个数值,就是等待时间。建议,不要将此数值设置过小,以免加大AGENT端和服务端及数据库的压力,建议为120秒。
  22. # BufferSend=5 #多少秒后,将BUFFER中的数据提交到代理或服务端。范围(1-3600)此数值的大小决定了采集后,提交数据的及时性,数值越小,则提交得越频繁,
  23. #对服务器压力越大,同时对AGENT端系统资源消耗越大,则表现出来的现象是报警非常及时,建议根据实际情况自行考虑,也可保持默认,若发现ZABBIX消耗资源较多,建议加大此数值。
  24. # BufferSize=100 #此参数作用设置保存采集数据在内存中的容量大小。若此agent端监控项较多,建议加大此数值。BufferSize与BufferSend之间有联系的。当达到bUFFERSEND或Buffersize已满时,都会触发数据提交动作。范围是2-65535
  25. # MaxLinesPerSecond=100 #代理将每秒发送到Zabbix服务器或代理处理的最大新行数,范围是1-1000
  26. ############高级参数############
  27. # Default: #设置项目键的别名。 它可以用来代替较长和更简单的长而复杂的项目密钥。可能存在多个别名参数。 不允许具有相同别名键的多个参数。 不同的别名键可以引用相同的项目键。例如:Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
  28. # Timeout=3 #gant采集一个数据的超时时间,但是是秒,范围是1-30
  29. # AllowRoot=0 #是否允许ROOT帐号运行此客户端。0:不允许,1:允许
  30. # User=zabbix #运行agent的用户
  31. # Include= #加载目录路径或扩展配置文件路径
  32. #######用户定义的监控参数#######
  33. # UnsafeUserParameters=0 #是否启用用户自定义监控脚本,1启用,0不启用。由于ZABBIX实现监控方法的多样性,一般都采用脚本来实现监控数据的采集,所以,建议开启,否则功能将受限。
  34. # UserParameter= #用户定义的参数进行监控。 可以有几个用户定义的参数。格式:UserParameter = <key>,<shell命令>请参见“zabbix_agentd”目录中的示例。
  35. #######扩展模块#######
  36. # LoadModulePath=${libdir}/modules #扩展模块路径
  37. # LoadModule= #扩展模块路径

StartAgents=0          #客户端agent模式,仅为主动模式,值为0的时候,被监控端的zabbix_agentd 不监听本地端口,所以无法在 netstat -tunpl 中查看到zabbix_agentd进程

四、zabbix_proxy.conf配置文件详解

# cat /etc/zabbix/zabbix_proxy.conf  #这是zabbix代理的配置文件

  1. ############一般参数############
  2. # ProxyMode=0 #代理操作模式。 0 - 代理在主动模式,1 - 代理在被动模式
  3. # Server= #Zabbix服务器的IP地址(或主机名)。Active Proxy将从服务器获取配置数据。当 Proxy 处于被动模式时,该参数将被忽略。
  4. # ServerPort=10051 #Zabbix Server 监听端口,同上只在 Proxy 为主动模式时生效
  5. Hostname=Zabbix proxy #手工设置zabbix获取的主机名称
  6. # HostnameItem=system.hostname #如果上面没设置就按这里通过zabbix的内置函数获取
  7. # ListenPort=10051 #自己本地的监听端口
  8. # SourceIP= #多IP下要设置
  9. # LogType=file #日志的存储类型
  10. LogFile=/tmp/zabbix_proxy.log #日志的存储位置
  11. # LogFileSize=1 #日志轮询大小
  12. # DebugLevel=3 #日志级别
  13. # PidFile=/tmp/zabbix_proxy.pid #pid位置
  14. # DBHost=localhost #连接哪个主机库
  15. DBName=zabbix_proxy #数据库名称
  16. # DBSchema=
  17. DBUser=zabbix #数据库用户名
  18. # DBPassword= #数据库密码
  19. # DBSocket=/tmp/mysql.sock #数据库sock位置
  20. # DBPort=3306 #数据库端口
  21. #########代理特定参数#########
  22. # ProxyLocalBuffer=0 #即使数据已经与服务器同步,代理将在本地保留数据N小时。如果本地数据将被第三方应用程序使用,则可以使用此参数。范围是0-720
  23. # ProxyOfflineBuffer=1 #如果与Zabbix Server无连接,代理将保留数据N小时。 较旧的数据将丢失。范围是1-720
  24. # HeartbeatFrequency=60 #心跳消息的频率(秒)用于监视服务器端的代理服务器的可用性。 0 - 心跳消息被禁用。 对于被动模式下的代理,该参数将被忽略。范围是0-3600
  25. # ConfigFrequency=3600 #代理在几秒钟内从Zabbix Server检索配置数据的频率。 对于被动模式下的代理,该参数将被忽略。范围是1-3600*24*7
  26. # DataSenderFrequency=1 #代理将每N秒将收集的数据发送到服务器。 对于被动模式下的代理,该参数将被忽略。范围是1-3600
  27. #########高级参数############(这就跟zabbix_agentd.conf一样了,就不重复了)

五、命令

zabbix_get命令

# /usr/local/zabbix/bin/zabbix_get -h   #这个主要是zabbix的server端或者是proxy端,来测试是否能从被监控的主机获取数据

  1. 用法:zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>
  2. 选项:
  3. -s --host <host name or IP> #指定主机的主机名或IP地址
  4. -p --port <port number> #指定主机上运行的代理端口号。 默认值为10050
  5. -I --source-address <IP address> #指定源IP地址
  6. -k --key <key of metric> #指定要检索的值的项目的键

例子:

# /usr/local/zabbix/bin/zabbix_get  -s  192.168.1.104  -p 10050 -I 192.168.1.103 -k “system.hostname”  #向192.168.1.104发起get请求,-p 是10050端口,-I 来源IP是192.168.1.103,-k 想获取的key

# /usr/local/zabbix/bin/zabbix_get  -s  192.168.1.105  -k “system.cpu.load[all,avg15]”  #向192.168.1.105获取load每15分钟的负载值(这是一个比较简单的写法一般也这么写)

zabbix优化,配合文件,zabbix_get命令的更多相关文章

  1. zabbix命令之:zabbix_get命令

    zabbix_get命令是在server端用来检查agent端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用zabbix_get来检查能否采集到数据,以便判断问题症结所在. zabbi ...

  2. 转 zabbix 优化方法 以及数据库查询方法 两则

    ###########sample 1 https://www.cnblogs.com/hanshanxiaoheshang/p/10304672.html (不错) 如何从zabbix server ...

  3. Linux 执行文件查找命令 which 详解

    某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查 ...

  4. Linux常用命令(第二版) --文件搜索命令

    文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到 ...

  5. linux命令之文件系统管理命令(下)

    1.mount:挂载文件系统 该命令可以将指定的文件系统挂载到指定目录(挂载点),在linux中必须先挂载所有的设备,才能够访问,挂载的目录必须事先存在并且最好为空. 参数 说明 -t(常用) 指定挂 ...

  6. Linux下的文件查找命令——find

    Linux下几个常见的文件查找命令: which       查看可执行文件的位置 whereis    寻找特定文件,查看文件的位置 locate       配合数据库查看文件位置 find    ...

  7. Linux文件查找命令find,xargs详述【转】

    转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...

  8. zabbix_get 命令介绍

    zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据,在测试自定义监控的时候特别有用 [root@crazy ...

  9. [转帖]Linux下主机间文件传输命令

    Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs   SCP命令: ...

随机推荐

  1. 实现一个简单的WebSocket聊天室

    WebSocket 简介 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主 ...

  2. Asp.Net SignalR 多平台的Client与Server

    多平台 SignalR在.Net的大环境下都可以做到即时通讯,也就是说都可以使用,客户端也不仅是js.下面就来一个控制台的Client 我们需要在nuget上下载包 Microsoft.AspNet. ...

  3. 看板中的WIP限制

    WIP限制并不是真的要限制你的进度,事实上正相反. 什么是WIP限制? 在敏捷开发中,WIP限制决定了每种情况下的工作流中可以存续的最大工作量.限制进行中的工作数量可以更容易辨识团队工作流中的无效工作 ...

  4. PHP大法

    Topic Link http://ctf5.shiyanbar.com/DUTCTF/index.php Notes: 1) 进去发现 根据提示查看是否存在.txt文件,打开之后发现有东西 2)分析 ...

  5. FIVE1

    Topic Link http://ctf5.shiyanbar.com/stega/FIVE1/1111110000000000.jpg 1) 直接放到HXD中,你会发现里面有一个zip文件 2)提 ...

  6. Data Source与数据库连接池简介 JDBC简介(八)

    DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法. 起源 为何放弃DriverManager DriverManager负责管理驱动 ...

  7. AppBoxFuture(三): 分而治之

      系统数据量达到一定程度后必将采用分库分表的方式来提高系统性能,但传统的分库分表方式也必将带来更高的开发复杂程度.新一代的NewSql及NoSql数据库由于天生的分布式存储基因,既保证了能够横向扩展 ...

  8. 痞子衡嵌入式:第一本Git命令教程(3)- 变动(status/diff)

    今天是Git系列课程第三课,前两课我们都是在做Git仓库准备工作,今天痞子衡要讲的是如何查看Git空间内发生的改动. 本地有了仓库,我们便可以在仓库所在目录下做文件增删改操作,为了确定改动操作的正确性 ...

  9. 记Android开发中的一些另类使用

    1.使用recyclerview,直接添加下列依赖就可以使用recyclerview,版本号与appcompat-v7版本号相同 compile 'com.android.support:design ...

  10. Yii2基本概念之——配置(Configurations)

    在Yii中创建新对象或者初始化已经存在的对象广泛的使用配置,配置通常包含被创建对象的类名和一组将要赋值给对象的属性的初始值,这里的属性是Yii2的属性.还可以在对象的事件上绑定事件处理器,或者将行为附 ...