• centos7之zabbix服务器的常规优化及其它设置


    一、硬件需求分析

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

    二、服务器配置文件优化

      2、服务器配置文件说明

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

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

      

    更改zabbix的admin密码:

    use zabbix;

     更改密码为12345678

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

    mysql报警too many connection

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

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

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

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

    set global max_connections = 1000;
    

      

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Tarjan强联通分量【模板】
    codevs——T2488 绿豆蛙的归宿
    POJ——T1679 The Unique MST
    POJ——T1125 Stockbroker Grapevine
    POJ——T1789 Truck History
    linux基础(5)- nginx服务、nfs服务
    8-15
    最佳加法表达式(动态规划)
    Zipper(动态规划)
    8-14
  • 原文地址:https://www.cnblogs.com/lei0213/p/9333779.html
Copyright © 2020-2023  润新知