zoukankan      html  css  js  c++  java
  • zabbix 性能优化

    Zabbix 安装好就放在那不管了,以为不需要调优。直到最近出现了如下一堆告警。

    描述下我们的环境

    硬件:8核 32G

    软件:Centos7.6 Zabbix4.0、Httpd2.4、PHP7.3、MySQL5.6

    出现告警时,查看系统资源使用率并不高。猜测是 Zabbix-Server 的配置问题,修改如下配置,已去掉不相关

    # 本机通过socket连接更快
    DBSocket=/home/work/mysqldata/data/mysql.sock
    # 轮询进程的初始实例数量。默认5
    StartPollers=30
    # 不可达主机 (包括IPMI 和 Java)的轮询进程的初始实例数量。默认1
    StartPollersUnreachable=20
    # trappers进程实例数量。Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入连接。默认5 
    StartTrappers=15
    # 自动发现子进程实例个数。默认1
    StartDiscoverers=5
    # HTTP 轮询器子进程实例个数。默认1
    StartHTTPPollers=5
    #Zabbix 执行 housekeeping 的频率 (单位为小时)。housekeeping负责从数据库中删除过期的信息。默认1
    HousekeepingFrequency=24
    #Zabbix 缓存更新频率, 单位秒。默认60
    CacheUpdateFrequency=180
    # 历史缓存数据大小, 单位字节.存储历史数据。默认8
    HistoryCacheSize=64M
    # 历史索引缓存大小, 单位字节.
    # 用于索引历史缓存中历史数据的共享内存大小.
    #缓存一个item大概需要索引的大小为100字节.item代表一个监控项,按照100000个监控项来算:100000*100/1024/1024=9.6M
    HistoryIndexCacheSize=10M
    # 历史数据缓存大小, 单位bytes.
    # 缓存item历史数据请求的共享内存大小.
    # 0即禁止缓存 (不建议).
    # 当缓存大小超过共享内存时,每5分钟会向服务器日志写入一条警告信息.
    ValueCacheSize=128M
    

    以上是Zabbix层面的优化,如果是系统资源不足,则要考虑如下几个层面。

    服务器硬件

    想通过几个简单的配置让服务器提高成倍的性能,想法很好,但是基本不太现实。简单的说,你需要搭配更好的CPU、更大的内存,更快的硬盘:条件允许的花,可以考虑购买SSD,它比更大的cpu和更大的内存带来的效果更好,或者考虑使用SAS 15K硬盘,组raid等等,总之一句话,配置优化不动的情况,增加硬件投入,别绞尽脑汁搜索:zabbix如何优化之类的文章,你在浪费时间。

    操作系统

    使用最新的操作系统,优化、定制化操作系统内核。应该会有些作用,但是肯定不大。

    数据库优化

    DBsock优化

    如果MySQL和zabbix server在同一台服务器上,socket连接要比tcp连接要更快。

    数据库分离

    将数据库服务器独立,数据库和zabbix资源互相独立,例如:可以购买一台RDS

    数据库引擎

    使用MySQL5.6或者更高版本,自从MySQL被Oracle收购了,它的性能确实有不少的提升。请一定选择innodb,别选择myisam,因为zabbix在innodb的性能比在myisam快1.5倍,而且myisam不安全,zabbix监控数据量很大,一旦表坏了,那就是一个悲剧。

    mysql分区,history等等表数据量较大,可以试着分区替身性能。

    其他优化

    1、减少history保存时间

    2、减少item获取间隔时间

    3、减少不必要的监控项

  • 相关阅读:
    kafka.errors.UnsupportedCodecError: UnsupportedCodecError: Libraries for snappy compression codec not found 解决方案
    查看运行的容器完整命令
    python 生成requirements.txt文件
    解决matplotlib 中文乱码
    django 显示本地图片
    JniLibs和Jni的区别
    Error:No such property: GradleVersion for class: JetGradlePlugin
    Flutter 导包或者其他三方工程的时候出现Flutter 导包错误 Target of URI doesn't exist
    Flutter工程泡在真机上时,xocde提示 codesign 想要访问你的钥匙串中的秘钥
    Flutter 工程报错 Failed to create provisioning profile.
  • 原文地址:https://www.cnblogs.com/fsckzy/p/10899778.html
Copyright © 2011-2022 走看看