• 第三章 安装和部署


    [root@master zabbix]# grep -v ‘^#’ zabbix_server.conf | grep -v “^$”
    LogFile=/tmp/zabbix_server.log
    DBName=zabbix
    DBUser=root
    DBHost=192.168.33.220
    DBName=zabbix
    DBUser=zabbixuser
    DBPassword=zabbixpass
    StartPollers=30
    StartTrappers=20
    StartPingers=10
    StartDiscoverers=120
    MaxHousekeeperDelete=5000
    CacheSize=1024M
    StartDBSyncers=8
    HistoryCacheSize=1024M
    TrendCacheSize=128M
    HistoryTextCacheSize=512M
    AlertScriptsPath=/etc/zabbix/alertscripts
    LogSlowQueries=1000
    DBSocket=/tmp/mysql.sock

    对Zabbix-Server进行监控,在server 端也需要安装Zabbix-Agent

    客户端配置:

    [root@master zabbix_agentd.conf.d]# grep -v “^#” /etc/zabbix/zabbix_agentd.conf | grep -v “^$”
    LogFile=/tmp/zabbix_agentd.log

    Server=192.168.33.220 ##被动模式,Zabbix-Server 的IP地址
    ServerActive=192.168.33.220 ##主动模式
    Hostname=master
    UnsafeUserParameters=1
    Include= /etc/zabbix/zabbix_agentd.conf.d/

    Server: 被动模式,允许哪台服务器连接到Agent.

    ServerActive: 主动模式,向哪台服务器传送数据。

    一个Agent 是可以同时向多个服务端发送数据的,多个IP用逗号分隔。

    Server=127.0.0.1,192.168.33.220,表示Server 的IP 为127.0.0.1和192.168.33.220这两台 Zabbix-Server

    服务端可获取此Agent端的监控数据。

    3.7 Zabbix-Get 的使用:

    Zabbix-Get 是Zabbix 中的一个程序,用于Zabbix-Server 到Zabbix-Agent 的数据获取,通常可以用来验证Agent 的配置是否正确。

    [root@master tmp]# zabbix_get -s 192.168.32.174 -p 10050
    usage: zabbix_get [-hV] -s [-p ] [-I ] -k
    [root@master tmp]# zabbix_get -s 192.168.32.174 -p 10050 -k system.uanme

    -s Zabbix-Agent 的地址

    -p Zabbix-Agent 使用的端口

    -k 获取远程Zabbix-Agent 数据所使用的Key

    [root@master tmp]# zabbix_get -s 192.168.32.174 -p 10050 -k systen.uname
    ZBX_NOTSUPPORTED

    刚接触zabbix新手少部分会出现如下错误:
    Received empty response from Zabbix Agent at [192.168.1.2]. Assuming that agent dropped connection because of access permission
    大概意思是说没有权限访问agent端口10050,解决方法如下:

    1
    2

    cat zabbix_agentd.conf| grep Server=

    Server=192.168.1.2 # zabbix server ip地址
    如果你的server有多个IP地址,使用逗号分隔多个IP地址。

    3.8 Zabbix 相关术语(命令)

    1.zabbix_server

    zabbix_server 是Zabbix 服务端的核心程序。

    2.zabbix_proxy

    zabbix_proxy 是Zabbix 代理服务的程序,用于分布式监控proxy 模式中。

    3.zabbix_agent

    zabbix_agent 是用超级服务(xinetd)的方式来启动的,对应的配置文件为zabbix_aegnt.conf

    zabbix_agentd 是以独立进程的方式来启动的,对应的配置文件为zabbix_agentd.conf

    zabbix_agent是Zabbix 专用客户端的程序

    4.zabbix_java_gateway

    Zabbix 的java采集服务端,用于JMX的监控方式。

    5.zabbix_sender

    Zabbix 的Trapping 模式,将采集到的数据通过定时任务等主动发送给zabbix_server,对于这种方式的使用

    6.zabbix_get 是一个数据获取测试命令,相当于snmp中的snmpwalk

    3.9 Zabbix-Server 对数据的存储

    Zabbix-Server 将采集到的数据主要存储在History 和Trends 表中,其表结构为:

    在History表中,主要存储收集到的历史数据,而Trends 主要存储经过计算的历史数据,如每小时数据的最小值,最大值和平均值。

    下面看下Trends表,其创建表的语句如下:

    mysql> show create table trendsG;
    ***************** 1. row *****************
    Table: trends
    Create Table: CREATE TABLE trends (
    itemid bigint(20) unsigned NOT NULL,
    clock int(11) NOT NULL DEFAULT ‘0’,
    num int(11) NOT NULL DEFAULT ‘0’,
    value_min double(16,4) NOT NULL DEFAULT ‘0.0000’,
    value_avg double(16,4) NOT NULL DEFAULT ‘0.0000’,
    value_max double(16,4) NOT NULL DEFAULT ‘0.0000’,
    PRIMARY KEY (itemid,clock)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.09 sec)

    mysql> show create table trends_uintG;
    ***************** 1. row *****************
    Table: trends_uint
    Create Table: CREATE TABLE trends_uint (
    itemid bigint(20) unsigned NOT NULL,
    clock int(11) NOT NULL DEFAULT ‘0’,
    num int(11) NOT NULL DEFAULT ‘0’,
    value_min bigint(20) unsigned NOT NULL DEFAULT ‘0’,
    value_avg bigint(20) unsigned NOT NULL DEFAULT ‘0’,
    value_max bigint(20) unsigned NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (itemid,clock)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)

    ERROR:
    No query specified

    mysql> select table_name,(data_length+index_length)/1024/1024 as total_mb ,table_rows from information_schema.tables where table_schema=’zabbix’ order by 3 desc;
    +———————–+————+————+
    | table_name | total_mb | table_rows |
    +———————–+————+————+
    | history | 0.20312500 | 2157 |
    | history_uint | 0.20312500 | 1935 |
    | items_applications | 0.21875000 | 914 |
    | items | 0.46875000 | 748 |
    | functions | 0.07812500 | 336 |
    | graphs_items | 0.09375000 | 334 |
    | triggers | 0.12500000 | 308 |
    | applications | 0.03125000 | 177 |
    | events | 0.04687500 | 175 |
    | item_discovery | 0.04687500 | 166 |

    My understanding of calculating database size is to add the size of the tables to the size of the indexes; database = table(s) + index(es).

    计算数据库的大小是计算表的大小加上索引的大小

    SELECT concat( table_schema, ‘.’, table_name ) table_name,
    concat( round( data_length / ( 1024 *1024 ) , 2 ) , ‘M’ ) data_length,
    concat( round( index_length / ( 1024 *1024 ) , 2 ) , ‘M’ ) index_length,
    concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , ‘M’ ) total_size
    FROM information_schema.TABLES
    ORDER BY data_length DESC;

    在了解对Zabbix 的数据库进行分表的必要性后,下面介绍如何划分表的区间。首先,对Trends 表进行区间划分,这里的分区的标准是按天进行划分的。

    采用表分区后,需要关闭Housekeeper 的功能,此时如果需要清理历史数据,只需要对表区间对应的历史期限的数据进行删除即可。

    注意,对于Housekeeper 进程的关闭,可以在Zabbix2.0的zabbix_server.conf 中设置,设置完成后,重启zabbix_server服务,即可使修改后的配置生效。

    DisableHousekeeping=1 设置为1表示关闭

    在Zabbix2.2中,zabbix_server.conf 没有这个可配置的参数, Zabbix 2.2 的housekeeper 是在Web界面中进行的配置

    在Web页面中,依次找到Administration->General->Housekeeper,去掉勾选状态,即可关闭History和Trends的housekeeper功能。

    History 表主要存储收集到的历史数据,而Trends 主要存储经过计算的历史数据,如每小时数据的最小值

  • 相关阅读:
    什么是JSON?
    Linux命令 之 less
    oracle删除表语句
    DB2错误码(续)
    DB2错误号汇总
    HTTP 响应码
    硬盘 NTFS格式 与 exFAT格式 的比较
    关于spring的配置文件总结(转)
    logback与Spring、SpringMVC结合使用教程(转)
    在vue中使用elementUi的回到顶部backToTop组件
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351469.html
Copyright © 2020-2023  润新知