zabbix4.4安装
Posted zhaosanhuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix4.4安装相关的知识,希望对你有一定的参考价值。
1 Red Hat Enterprise Linux/CentOS
官方的 Zabbix 发行包适用于 RHEL 7、CentOS 7 和 Oracle Linux 7。在本文中,将使用 RHEL
来指代这三个操作系统。
一些 Zabbix agent 和 Zabbix proxy 发行包也适用于 RHEL 6 和 RHEL 5。
添加 Zabbix 软件仓库
安装软件仓库配置包,这个包包含了 yum(软件包管理器)的配置文件。
以我安装的4.4版本为例
RHEL 7:
# rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
RHEL 6:
# rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/6/x86_64/zabbix-release-4.4-1.el6.noarch.rpm
前端安装的先决条件
Zabbix 客户端需要额外的基础安装包。 您需要在运行 Zabbix 前端的系统中启用可选 rpms 的软件仓库:
RHEL 7:
# yum-config-manager --enable rhel-7-server-optional-rpms
安装 Server/proxy/前端
安装 Zabbix server(适用于 RHEL7,在 RHEL 6 上弃用)并使用 mysql 数据库:
# yum install zabbix-server-mysql
安装 Zabbix proxy 并使用 MySQL 数据库:
# yum install zabbix-proxy-mysql
安装 Zabbix 前端(适用于 RHEL 7,在 RHEL 6 上弃用)并使用 MySQL 数据库:
# yum install zabbix-web-mysql
安装Mysql
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh /root/tools/mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server -y
使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
对于 Zabbix proxy,导入初始的数据库 schema:
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix
这里主要 如果代理与服务端在同一台机器 需要加不同的库 不能共用
如果MySQL字符设置为utf8bm4 有可能报错,我将字符设置改为utf8 就可以了
ERROR 1709 (HY000) at line 89: Index column size too large. The maximum column size is 767 bytes.
为 Zabbix server/proxy 配置数据库
编辑 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已创建的数据库。例如:
# vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=<password>
在 DBPassword 参数中输入由 MySQL 或 PosgreSQL 创建的 Zabbix 数据库密码。
启动 Zabbix server 进程
systemctl start zabbix-server
并在系统启动时让它自启:
RHEL 7 或更高版本:
# systemctl enable zabbix-server
安装nginx
# yum install epel-release # rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # yum install nginx # systemctl start nginx.service # systemctl enable nginx.service
安装NGINX配置
yum install zabbix-nginx-conf
装完后 将NGINX zabbix的配置文件改好
修改php-fpm里面的时区,不然在安装界面会有提示文件为 /etc/php-fpm.d/zabbix.conf
系统会创建etc/zabbix/we目录
在目录里配置zabbix.conf.php
e<?php gx GUI configuration file. global $DB; $DB[‘TYPE‘] = ‘MYSQL‘; $DB[‘SERVER‘] = ‘127.0.0.1‘; $DB[‘PORT‘] = ‘3306‘; $DB[‘DATABASE‘] = ‘DBNAME‘; $DB[‘USER‘] = ‘DBUSER‘; $DB[‘PASSWORD‘] = ‘DBPASS‘; // Schema name. Used for IBM DB2 and PostgreSQL. $DB[‘SCHEMA‘] = ‘‘; $ZBX_SERVER = ‘ZABBIX_HOST‘; $ZBX_SERVER_PORT = ‘PORT‘; $ZBX_SERVER_NAME = ‘NAME‘; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
zabbix_server配置文件
1、/etc/zabbix/zabbix_server.conf详解 NodeID=0 #分布式节点id号,0代表是独立服务器,默认是被注释掉的,不强制配置 ListenPort=10051 #zabbix server的端口,默认是10051,可以自行修改,范围是1024-32767 ,一般默认即可 SourceIP= #连接的源ip地址,默认为空,默认即可 LogFile=/tmp/zabbix_server.log #日志文件的存放位置 LogFileSize=1 #说明:日志达到多少M里就轮转;若此参数值为0时,则不轮转,日志将不断变大,建议设置成轮转。 DebugLevel=3 #指定调试级别,默认即可 PidFile=/tmp/zabbix_server.pid #pid文件的存放位置 DBHost=localhost #数据库主机名,当设置为localhost时,连接mysql通过sock DBName=zabbix #指定存放zabbix数据数据库的名字 DBUser=zabbix #指定连接数据库的用户名 DBPassword=123456 #用户连接数据库需要的密码 DBSocket=/var/lib/mysql/mysql.sock #前文主机设置为localhost,用户连接数据库所用的sock位置, DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置 StartPollers=5 #说明;初始化时,启动子进程数量,数量越多,则服务端吞吐能力越强,对系统资源消耗越大。 StartIPMIPollers=0 #说明:主要用于IPmi技术用于获取硬件状态场景。若无相关监控项,建议设置为0 StartTrappers=5 #用于设置诸如SNMP STRAPPER场景提交来的数据的接收进程数,若客户机SNMP TRAPPER技术较多,建议加大此参数值 StartPingers=1 #用于设置启用icmp协议PING主机方式启动线程数量,若单台代理所管理机器超过500台,建议加大此数值 StartDiscoverers=1 #用于设置自动发现主机的线程数量,若单台代理所管理机器超过500台,可以考虑加大此数值(仅适用于直接AGENT场景) StartHTTPPollers=1#说明:用于设置WEB拨测监控线程数,可视具体情况增加或减少此数值。 JavaGateway=127.0.0.1 #JavaGateway的ip地址或主机名 JavaGatewayPort=10052 #JavaGateway的端口号 StartJavaPollers=5 #开启连接javagatey的进程数 SNMPTrapperFile=/tmp/zabbix_traps.tmp StartSNMPTrapper=0 #如果设置为1,snmp trapper进程就会开启 ListenIP=0.0.0.0 #监听来自trapper的ip地址 ListenIP=127.0.0.1 HousekeepingFrequency=1 #说明:多少小时清理一次代理端数据库的history, alert, and alarms,以保持代理端数据库轻便,建议保持默认 MaxHousekeeperDelete=500 #每次轮询housekeeper这个任务的时候,超过这个阀值的行都会被清理。 SenderFrequency=30 #说明:多少秒后重试发送失败的报警信息 CacheSize=8M #说明:zabbix初始化时占用多少系统共享内存用于存储配置信息,HOST,ITEM,TRIGGER数据,视监控主机数量和监控项调整,建议调整到32M或者更大 CacheUpdateFrequency=60 #说明:zabbix更新操作系统CACHE配置,若管理页面操作不频繁,可以考虑加大参数值 StartDBSyncers=4 #将采集数据从CACHE同步到数据库线程数量,视数据库服务器I/O繁忙情况,和数据库写能力调整。数值越大,写能力越强。对数据库服务器I/O压力越大。 HistoryCacheSize=8M #说明:用于设置划分多少系统共享内存用于存储采集的历史数据,此数值越大,数据库读压力越小 TrendCacheSize=4M #说明:用于设置划分多少系统共享内存用于存储计算出来的趋势数据,此参数值从一定程度上可影响数据库读压力 HistoryTextCacheSize=16M #说明:指定划出多少系统共享内存用于存储 character, text or log history数据,若二级代理内存足够,建议可适当扩大此数值,可很大程度上解决系统I/O压力,和数据库读压力 ValueCacheSize=8M #说明:划出系统多少共享内存用于已请求的存储监控项信息,若监控项较多,建议加大此数值 NodeNoEvents=0 #说明:若节点为子结点,是否允许本地事件(events表)发送到主节点,1为不发送,但不影响此节点以下的节点的传播能力,视ZABBIX分布式系统架构设计开启或关闭。在不明架构前提下,建议保持默认 NodeNoHistory=0 #说明:若节点为子结点,是否允许本地历史数据发送到主节点,1为不发送,但不影响此节点以下的节点的传播能力,视ZABBIX分布式系统架构设计开启或关闭,在不明架构前提下,建议保持默认 Timeout=3 #说明:与AGNETSNMP设备和其它外部设备通信超时设置,单位为秒;若采集数据不完整或网络繁忙,或从管理页面发现客户端状态变化频繁,可以考虑加大此数值。注意若此数值加大,应该考虑参数 StartPollers 是否有相应加大的必要。 TrapperTimeout=300 #说明:启用 trapper功能,用于进程等待超时设置。根据需要调整 UnreachablePeriod=45 #说明:当AGNET端处于不可用状态下,间隔多少秒后,尝试重新连接。建议根据具体情况设置。注意,若此数值过小,右agent端业务系统繁忙时,有可能造成报警信息误报 UnavailableDelay=60 #说明:当AGENT端处于可用状态下,间隔多少秒后,进行状态检查。若出现可正常采集数据,但管理页面AGENT状态不正常;若在网络,端口等均通畅情况下,AGENT状态仍不正常,可以考虑加大此数值 UnreachableDelay=15 #说明:当agent端处于不可达状态下,延迟多少秒后,进行重新尝试,建议保持默认,在AGENT接入调试阶段,可考虑减少此数值 AlertScriptsPath=/usr/local/zabbix/shell #监控报警脚本的存放路径 FpingLocation=/usr/local/sbin/fping #说明:IPv4 FPING命令路径,仅ROOT可用。注意使用此命令时,应该确认此命令是否存在 SSHKeyLocation= #说明:在服务端需要SSH到AGENT端且采用用KEY验证方式时使用。 LogSlowQueries=0 #说明:用于服务端数据库慢查询功能,单位是毫秒;1毫秒=0.001秒,若有服务端数据库监控慢查询的需求,可以视具体情况调整此数。 TmpDir=/tmp Include=/usr/local/etc/zabbix_server.general.conf Include=/usr/local/etc/zabbix_server.conf.d/ #子配置文件路径 StartProxyPollers=1 #在zabbix proxy被动模式下用此参数 ProxyConfigFrequency=3600#同上 ProxyDataFrequency=1
在网页上打开网络进行初始化配置
默认账号Admin
密码经过MD5加密后为5fce1b3e34b520afeffb37ce08c7cd66
默认密码为zabbix
PROXY安装:
安装 Zabbix proxy 并使用 MySQL 数据库:
yum install zabbix-proxy-mysql
创建库并授权
create database zabbix_proxy character set=utf8 COLLATE ‘utf8_bin‘; #zabbix 只支持 COLLATE ‘utf8_bin‘
grant all privileges on zabbix_proxy.* to zabbix@‘%‘ identified by "PASSWORD"
初始化代理数据库
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix_proxy
zabbix_proxy配置文件
3、/etc/zabbix/zabbix_proxy.conf详解 Server=192.168.70.133 #指定zabbix server的ip地址或主机名 Hostname=zabbix-proxy-1.35 #定义监控代理的主机名,需和zabbix server前端配置时指定的节点名相同 LogFile=/tmp/zabbix_proxy.log #指定日志文件的位置 PidFile=/tmp/zabbix_proxy.pid #pid文件的位置 DBName=zabbix_proxy #数据库名 DBUser=zabbix #连接数据库的用户 DBPassword=123456#连接数据库用户的密码 ConfigFrequency=60 #zabbix proxy从zabbix server取得配置数据的频率 DataSenderFrequency=60 #zabbix proxy发送监控到的数据给zabbix server的频率
zabbix_proxy.conf 文件中的 Hostname 参数必须于服务端配置的代理名称一致,否则会报找不到代理的错误
agent安装:
安装 Zabbix agent :
yum install zabbix-agent
zabbix_agentd配置文件
PidFile=/tmp/zabbix_agentd.pid #pid文件的存放位置 LogFile=/tmp/zabbix_agentd.log #日志文件的位置 LogFileSize=1 #当日志文件达到多大时进行轮询操作 DebugLevel=3 #日志信息级别 SourceIP= #连接的源ip地址,默认为空,即可 EnableRemoteCommands=0 #是否允许zabbix server端的远程指令, 0表示不允许, 1表示允许 LogRemoteCommands=0 #是否开启日志记录shell命令作为警告 0表示不允许,1表示允许 Server=127.0.0.1 #zabbix server的ip地址或主机名,可同时列出多个,需要用逗号隔开 ListenPort=10050 #zabbix agent监听的端口 ListenIP=0.0.0.0 #zabbix agent监听的ip地址 StartAgents=3 #zabbix agent开启进程数 ServerActive=127.0.0.1 #开启主动检查 Hostname=Zabbix server#在zabbix server前端配置时指定的主机名要相同,最重要的配置 RefreshActiveChecks=120 #主动检查刷新的时间,单位为秒数 BufferSend=5 #数据缓冲的时间 BufferSize=100 #zabbix agent数据缓冲区的大小,当达到该值便会发送所有的数据到zabbix server MaxLinesPerSecond=100 #zabbix agent发送给zabbix server最大的数据行 AllowRoot=0 #是否允许zabbix agent 以root用户运行 Timeout=3 #设定处理超时的时间 Include=/usr/local/etc/zabbix_agentd.userparams.conf Include=/usr/local/etc/zabbix_agentd.conf.d/ #包含子配置文件的路径 UnsafeUserParameters=0 #是否允许所有字符参数的传递 UserParameter= #指定用户自定义参数
在代理模式下 Server ServerActive 参数为proxy的地址
以上是关于zabbix4.4安装的主要内容,如果未能解决你的问题,请参考以下文章