一、硬件需求分析

  1、首先我们来分析一个硬件需求,这里我以400个agent计算,CPU建议是4核,内存不要少于8GB,硬盘只要不是用了很久的主机就行,容量的话建议300GB基本就够使用好一段时间了,如果agent太多,可以使用分布式监控。

二、服务器配置文件优化

  2、服务器配置文件说明

  1. #zabbix-server的日志文件路径
  2. LogFile=/tmp/zabbix_server.log
  3. ##当日志文件达到多大时进行轮询操作
  4. LogFileSize=100
  5. #数据名称
  6. DBName=zabbix
  7. #数据库授权用户
  8. DBUser=zabbix
  9. #数据库授权用户的密码
  10. DBPassword=zabbix
  11. #一般情况下默认即可(模式认识5)
  12. StartPollers=50
  13. 初始的Unreachable主机检查进程(也就是不可达的进程数)
  14. StartPollersUnreachable=30
  15. ##打开的进程数
  16. StartTrappers=5
  17. #同上,意思是同时开多少个ping检测的进程,不易太大,特别耗cpu和数据库连接数
  18. StartPingers=10
  19. #同上,默认即可
  20. StartDiscoverers=5
  21. #这里只服务器IP地址,记得一定要添加上服务器的内网ip
  22. ListenIP=127.0.0.1,192.168.1.58
  23. #缓存的大小
  24. CacheSize=512M
  25. 多少秒更新一次配置缓存
  26. CacheUpdateFrequency=100
  27. #预先foke DB Syncers的数量,1.8.5以前最大值为64
  28. StartDBSyncers=10
  29. #历史数据缓存大小
  30. HistoryCacheSize=1024M
  31. #3.0.0开始支持,历史索引大小,一个监控项需要100bytes来存储
  32. HistoryIndexCacheSize=512M
  33. 趋势图历史数据缓存大小
  34. TrendCacheSize=512M
  35. #lue缓存大小,当缓存超标了,将会每隔5分钟往server日志里面记录
  36. ValueCacheSize=512M
  37. #处理trapper数据的超时时间
  38. Timeout=2
  39. #间隔多少秒再次检测主机是否可用
  40. UnavailableDelay=90
  41. 间隔多少秒再次检测主机是否可达。
  42. UnreachableDelay=90
  43. #短信报警模板路径
  44. AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
  45. #fping检测路径
  46. FpingLocation=/usr/local/sbin/fping
  47. 多慢的数据库查询将会被记录,单位:毫秒,0表示不记录慢查询。只有在DebugLevel=3时,这个配置才有效。
  48. LogSlowQueries=3000 

其它更改参数

参数 是否必须 范围 默认值 描述
AlertScriptsPath   /usr/local/share/zabbix/alertscripts 自定义告警脚本的路径,取决于编译时候的datadir参数
AllowRoot   0 是否允许Zabbix以root用户启动,设为0的时候server默认会用zabbix用户启动,1则可以以root启动,此参数在2.2.0开始才支持
CacheSize 128K-8G 8M 用于缓存主机、监控项、触发器的数据,在2.2.3之前最大值为2G
CacheUpdateFrequency 1-3600 60 Zabbix更新缓存数据的频率,单位为秒
DBHost   localhost 数据库的主机地址
DBName     数据库名
DBPassword     数据库密码
DBPort 1024-65535 3306 数据库端口
DBSchema     DB2、PG的Schema名称
DBSocket   /tmp/mysql.sock MySQL Socket的路径
DBUser     DB用户名
DebugLevel 0-5 3 Debug级别,0:ZabbixServer启停信息。1:关键信息。2:错误信息。3:警告信息;4:调试级别。5:全部日志信息
ExternalScripts   /usr/local/share/zabbix/externalscripts 脚本路径,与编译的datadir有关
FpingLocation   /usr/sbin/fping Fpgin的路径,确保是root用户下并且设置了SUID标签
HistoryCacheSize 125K-2G 16M 缓存历史数据的内存大小
HistoryIndexCacheSize 125k-2G 4M 3.0.0开始支持,历史索引大小,一个监控项需要100bytes来存储
HousekeepingFrequency 0-24 1 Housekeeper清理历史数据的频率
Include     用来包含其他配置文件,例如/absolute/path/to/config/files/*.conf,2.4.0之后才开始支持
JavaGateway     2.0.0开始支持,Zabbix Java网关地址
JavaGatewayPort 1024-32767 10052 Zabbix Java网关侦听的端口
ListenIP 0.0.0.0 从1.8.3开始支持多个IP  
ListenPort 1024-32767 10051 侦听Trap的端口
LoadModule     扩展模块
LoadModulePath     扩展模块路径
LogFile     日志文件的名称
LogFileSize 0-1024 1 单位为MB,每份日志文件最大的大小,0表示禁用日志轮转
LogType   file 日志输出的类型,file:文件日志,system:写到syslog,console:控制台,3.0.0开始支持
LogSlowQueries 0-3600000 0 慢查询日志,0:不记录,1.8.2开始支持
MaxHousekeeperDelete 0-1000000 5000 每个HouseKeeper任务删除的最大记录数,1.8.2开始支持
PidFile   /tmp/zabbix_server.pid PID文件名
ProxyConfigFrequency 1-604800 3600 ZabbixServer向Proxy更新配置文件的频率
SenderFrequency 5-3600 30 Zabbix发送未发送成功的告警频率,单位为秒
SNMPTrapperFile   /tmp/zabbix_traps.tmp SNMPTrapServer临时文件,必须和zabbix_trap_receiver.pl的名字相同,2.0.0开始支持
SourceIP     出口IP
SSHKeyLocation     SSH公钥目录
SSLCertLocation否     SSL客户端认证文件,2.4开始支持  
SSLKeyLocation     SSL私钥文件目录,2.4开始支持
SSLCALocation     SSL CA钥文件目录
StartDBSyncers 1-100 4 DB同步进程数量,1.8.3开始支持,1.8.5之前最大为64
StartDiscoverers 0-250 1 自动发现的进程数量,1.8.5之前最大值为255
StartEscalators 1-100 1 检查escalations的进程,这张表好像是告警事件表哟
StartHTTPPollers 0-1000 1 初始的HTTP Poller进程
StartIPMIPollers 0-1000 1 初始的IPMI Poller进程
StartJavaPollers 0-1000 1 初始的JavaPoller进程
StartPingers 0-1000 1 ICMP pinger的初始进程
StartPollersUnreachable 0-1000 1 初始的Unreachable主机检查进程
StartPollers 0-1000 5 Server的初始进程
StartProxyPollers 0-250 1 代理Poller的初始进程数
StartSNMPTrapper 0-1 0 是否开启SNMPTrapper进程
StartTimers 0-1000 1 timers进程的初始数量,它是一个用于处理时间相关的告警进程
StartTrappers 0-1000 5 ZabbixTraper(sender等功能用)的初始进程数量
StartVMwareCollectors 0-250 0 采集VMWare信息的初始进程量
Timeout 1-30 3 等待Agent的时间,单位为秒
TLSCAFile     TLS证书文件
TLSCertFile     TLS证书文件
TLSCRLFile     TLS证书文件
TLSKeyFile     TLS证书文件
TmpDir   /tmp 临时文件目录
TrapperTimeout 1-300 300 Trapper处理新数据的最长时间
TrendCacheSize 128K-2G 4M 趋势数据缓存的大小
UnavailableDelay 1-3600 60 当主机不可用了,多久检查一次该主机的可用性,单位为秒
UnreachableDelay 1-3600 15 当主机不可到达了,多久检查一次该主机的可用性,单位为秒
UnreachablePeriod 1-3600 45 当主机不可达多少秒后,设置为主机不可用
User   zabbix 非root运行的账号
ValueCacheSize 0,128k-64G 8M 历史数据缓存大小,0为不缓存,
VMwareCacheSize 256K-2G 8M VMWare检查可用的缓存大小
VMwareFrequency 10-86400 60 获取VMWare数据之间的间隔
VMwarePerfFrequency 10-86400 60 获取VMWare性能计数器之间的间隔
VMwareTimeout 1-300 10 等待VMWare返回数据的最长时间

3、备份和优化

  1、首先所有的配置都是在书库里面,其实也可以前端直接导出就行,但是比较麻烦,所以我比较喜欢数据库备份,简单粗暴。因为这里我使用的是mariadb10.3的版本数据库,所以不能用原来的xtrabackup工具备份数据量,版本10开始就可以使用mariabackup工具,用法基本和xtrabackup工具相同。

  2、做好配置文件的备份。

  3、数据库的优化,这里需要提一下,mariadb默认最大连接数是151个,如果你上面参数调的太大的话,需要在数据库里面增加max_connection参数,否则数据库会报错。

  4、缓存问题,我们先看看下面的图。注意buff/cache这个参数,如果不定时清理缓存的话,这个值就会越来越大,最后导致内存溢出,数据库崩溃。

  

  脚本很简单如下,每4个小时清除一下缓存。

  1. * */4 * * * /usr/bin/echo 3 > /proc/sys/vm/drop_caches

  

更改zabbix的admin密码:

  1. use zabbix;

 更改密码为12345678

  1. update users set passwd=md5('12345678') where alias = 'Admin';

mysql报警too many connection

设置zabbix_server配置文件的时候,mysql报警too many connection

查看默认数据库最大连接数(mysql默认是151):

  1. select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';

修改为1000,可以根据自己的配置尝试逐渐提高。

  1. set global max_connections = 1000;

  

centos7之zabbix服务器的常规优化的更多相关文章

  1. centos7作为web服务器优化

    centos7作为web服务器优化 原文 http://itindex.net/detail/51140-centos7-web-服务器 1.加大打开文件数的限制(open files) 查看 uli ...

  2. centos7安装ZABBIX 3.0+ 邮件报警【OK】

    设置主机名: vi /etc/hosts 10.0.0.252 zabbix-server hostnamectl set-hostname   关闭防火墙: systemctl stop firew ...

  3. zabbix服务器监控suse系统教程

    zabbix服务器监控suse系统教程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 花了近一个星期才学会了如何监控window和linux主机的基本信息以及报价情况(我已经把笔记 ...

  4. 微软IIS服务器的最佳优化工具- IIS Tuner

      dudu的 <让Windows Server 2008 + IIS 7+ ASP.NET 支持10万个同时请求>,里面涉及到需要手工调整参数的地方.在这篇文章中,我们给你介绍一个IIS ...

  5. CentOS7安装Zabbix

    一.Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  6. centos7之zabbix的web检测

    一.web监控 Web scenarios(Web 场景)是用来监控Web程序的,可以监控到Web程序的下载速度.返回码及响应时间,还支持把一组连续的Web动作作为一个整体进行监控. 1.web监控的 ...

  7. zabbix服务器与客户端(Linux+Windows)的搭建

    zabbix监控搭建 一.搭建LNMP环境(MySQL) 创建数据库以及授权zabbix账户 mysql> create database zabbix character set utf8; ...

  8. CentOS7 搭建 SVN 服务器

    CentOS7 搭建 SVN 服务器 介绍SVN: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上 ...

  9. centos7下zabbix安装与部署

    1.Zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

随机推荐

  1. NewBuiltBottomSheetDialog【新建底部对话框】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 演示在底部选项卡上方弹出底部对话框效果. 效果图 代码分析 NewBuiltBottomSheetDialog继承BottomShe ...

  2. Devexpress 常用的功能

    一 .GridControl的删除操作 private void rILinkEditInfoDel_Click(object sender, EventArgs e) { if (XtraMessa ...

  3. JavaScript引擎浅析

    前言 该文章是为大家整理一个关于js的知识网络,重点是知识的罗列及之间的联系,所以实例可能会有所不足,导致可能没有对应知识的人看不懂,希望大家能够结合其他资料来学习这篇文章,并整理出自己的知识体系. ...

  4. 盘点 Python 中的那些冷知识(二)

    上一篇文章分享了 Python中的那些冷知识,地址在这里 盘点 Python 中的那些冷知识(一) 今天将接着分享!! 06. 默认参数最好不为可变对象 函数的参数分三种 可变参数 默认参数 关键字参 ...

  5. 20190329-盒尺寸、boder-

    目录 1.盒尺寸四家庭 width:宽度 height:高度 margin:外边距 padding:内边距 盒模型: 2.border边框 border简写:border-position(top | ...

  6. MySQL索引初探

    一.什么是索引? 帮助数据库系统实现高效获取数据的数据结构 索引可以帮助我们快速地定位到数据而不需要每次搜索的时候都遍历数据库中的每一行. 二.常见实现方式有哪些? 常见索引模型有三种:哈希表.有序数 ...

  7. git 提交项目代码到码云步骤 以及出现错误解决办法

    git initgit remote add origin 项目地址git add .git commit -m "注释"git push origin master 出现错误 $ ...

  8. 详细QRCode生成二维码和下载实现案例

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using ThoughtWo ...

  9. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  10. Redmine入门-安装

    Redmine提供了两种方式安装,如果仅仅只是使用Redmine,建议采用一键安装的方式,快捷方便.如果需要做二次开发或者更多的个性化处理,可以采用源码安装方式,下面分别介绍两种安装方式. ----- ...