Linux下Zabbix5.0 LTS监控基础原理及安装部署(图文教程)
Zabbix 是什么?
- zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置,能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
- zabbix 由2部分构成,zabbix server 与可选组件 zabbix agent;zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。
Zabbix监控系统运行大概流程:
Zabbix由zabbix server与可选组件zabbix agent两部分组成。
- Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集功能,可以在运行 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OS X,Windows多平台。
- Zabbix Agent 安装在需要被监控的目标服务器上,主要完成对硬件信息与操作系统有关的内存,CPU 等信息收集。
- Zabbix Server可以单独监视远程服务器的服务状态,同时也可以与Zabbix Agent结合。可以轮询Zabbix Agent主动接收监视数据(trapping传递 方式),同时还可以被动接收Zabbix Agent发送的数据。
- 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy。
- 被动:server向agent请求获取监控项的数据,agent返回数据。
那实际监控中是用主动的还是被动的呢?这里主要涉及两个地方:
- (1) 新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。
- (2) agentd配置文件中StartAgents参数的设置,如果为0,表示禁止被动模式,否则开启。一般建议不要设置为0,因为监控项目很多时,可以部分使用主动,部分使用被动模式。
Zabbix监控常用架构:
- (1) server-agentd模式:这个是最简单的架构了,常用于监控主机比较少的情况下。
- (2) server-proxy-agentd模式:这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。
Zabbix官方站点:【文档、源码包、rpm包】下载提供了两种版本:LTS版(Long Term Support)和标准版。
Zabbix YUM安装部署过程如下:
属性 | Zabbix Server | Zabbix Client |
节点 | ZabbixServer-01 | ZabbixClient-01 |
系统 | CentOS Linux release 7.5.1804 (Minimal) | CentOS Linux release 7.5.1804 (Minimal) |
内核 | 3.10.0-862.el7.x86_64 | 3.10.0-862.el7.x86_64 |
SELinux | setenforce 0 | disabled | setenforce 0 | disabled |
Firewlld | systemctl stop/disable firewalld | systemctl stop/disable firewalld |
IP地址 | 172.16.70.37 |
172.16.70.171 |
第一部分:ZabbixServer-01 上操作。
# 准备环境
[root@ZabbixServer-01 ~] # cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@ZabbixServer-01 ~] # uname -r
3.10.0-862.el7.x86_64
[root@ZabbixServer-01 ~] # setenforce 0
[root@ZabbixServer-01 ~] # sed -i_bak$(date +%Y%m%d) '7s#enforcing#disabled#' /etc/selinux/config
[root@ZabbixServer-01 ~] # systemctl stop firewalld && systemctl disable firewalld
[root@ZabbixServer-01 ~] # yum install -y vim net-tools lsof wget curl lrzsz
# 安装NTP
[root@ZabbixServer-01 ~] # yum install -y ntp
[root@ZabbixServer-01 ~] # systemctl start ntpd && systemctl enable ntpd
# 安装zabbix noarch.rpm
[root@ZabbixServer-01 ~] # rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 修改/etc/yum.repos.d/zabbix.repo,将[zabbix-frontend]下的enabled改为1【注意项】
[root@ZabbixServer-01 ~] # sed -i_bak$(date +%Y%m%d) '11s#enabled=0#enabled=1#' /etc/yum.repos.d/zabbix.repo
[root@ZabbixServer-01 ~] # yum clean all
[root@ZabbixServer-01 ~] # yum repolist | grep zabbix
zabbix /x86_64 Zabbix Official Repository - x86_64 200
zabbix-frontend /x86_64 Zabbix Official Repository frontend - x86_64 183
zabbix-non-supported /x86_64 Zabbix Official Repository non-supported - x8 5
# 安装zabbix server和agent
[root@ZabbixServer-01 ~] # yum install -y zabbix-server-mysql zabbix-agent zabbix-get
# 安装Software Collections便于后续安装高版本的php
[root@ZabbixServer-01 ~] # yum install -y centos-release-scl
# 安装zabbix FE和相关环境
[root@ZabbixServer-01 ~] # yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
# 安装centos7默认的mariadb数据库
[root@ZabbixServer-01 ~] # yum install -y mariadb mariadb-server
[root@ZabbixServer-01 ~] # systemctl start mariadb && systemctl enable mariadb
# 安全初始化mariadb并配置root密码
[root@ZabbixServer-01 ~] # mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): # 空密码,直接回车
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y /n ] Y # 是否设置root密码
New password: # root密码
Re-enter new password: # 再次输入root密码
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users ? [Y /n ] Y # 是否删除匿名账号
... Success!
Normally, root should only be allowed to connect from 'localhost' . This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y /n ] Y # 是否禁止root远程登录
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y /n ] Y # 是否删除test库和test库的访问权限
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y /n ] Y # 是否刷新授权表使其立即生效
... Success!
Cleaning up...
All done ! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
# 测试root登录,并授权
[root@ZabbixServer-01 ~] # mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 创建zabbix数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 创建zabbix用户
MariaDB [(none)]> create user zabbix@localhost identified by 'zabbix@01' ;
Query OK, 0 rows affected (0.00 sec)
# 授权zabbix权限
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)
# 刷新授权,使其立即生效
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 查看用户权限
MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------+-------------------------------------------+
| user | host | password |
+--------+-----------+-------------------------------------------+
| root | localhost | *A35F952D7E492A65F4DB82E1ECBFB4BBBC415BFF |
| root | 127.0.0.1 | *A35F952D7E492A65F4DB82E1ECBFB4BBBC415BFF |
| root | ::1 | *A35F952D7E492A65F4DB82E1ECBFB4BBBC415BFF |
| zabbix | localhost | *A35F952D7E492A65F4DB82E1ECBFB4BBBC415BFF |
+--------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> show grants for zabbix@ 'localhost' ;
+---------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix' @ 'localhost' IDENTIFIED BY PASSWORD '*A35F952D7E492A65F4DB82E1ECBFB4BBBC415BFF' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix' @ 'localhost' |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
# 测试zabbix用户登录
[root@ZabbixServer-01 ~] # mysql -u zabbix -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show grants for current_user();
+---------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix' @ 'localhost' IDENTIFIED BY PASSWORD '*A35F952D7E492A65F4DB82E1ECBFB4BBBC415BFF' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix' @ 'localhost' |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
# 导入zabbix数据库,zabbix数据库用户为zabbix,密码为zabbix@01
[root@ZabbixServer-01 ~] # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
# 编辑配置文件/etc/zabbix/zabbix_server.conf,设置数据库密码
[root@ZabbixServer-01 ~] # sed -i_bak$(date +%Y%m%d) '/# DBPassword=/a\DBPassword=zabbix@01' /etc/zabbix/zabbix_server.conf
# 编辑配置文件/etc/zabbix/zabbix_agentd.conf,设置ZabbixServerIP,Hostname
[root@ZabbixServer-01 ~] # sed -i_bak$(date +%Y%m%d) 's/^Server=127.0.0.1/Server=127.0.0.1,172.16.70.37/' /etc/zabbix/zabbix_agentd.conf
[root@ZabbixServer-01 ~] # sed -i 's/^ServerActive=127.0.0.1/ServerActive=127.0.0.1,172.16.70.37/' /etc/zabbix/zabbix_agentd.conf
[root@ZabbixServer-01 ~] # sed -i 's/^Hostname=Zabbix server/Hostname=ZabbixServer-01/' /etc/zabbix/zabbix_agentd.conf
[root@ZabbixServer-01 ~] # grep -E '^Server|^Hostname' /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,172.16.70.37
ServerActive=127.0.0.1,172.16.70.37
Hostname=ZabbixServer-01
# 编辑配置文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,修改时区
[root@ZabbixServer-01 ~] # sed -i_bak$(date +%Y%m%d) '$c php_value[date.timezone] = Asia/Shanghai' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 重启服务并设置开启自启动
[root@ZabbixServer-01 ~] # systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@ZabbixServer-01 ~] # systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@ZabbixServer-01 ~] # netstat -nutpl | grep -E 'zabbix|mysql|php|http'
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2120 /zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2127 /zabbix_server
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2118 /php-fpm : maste
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1991 /mysqld
tcp6 0 0 :::10050 :::* LISTEN 2120 /zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN 2127 /zabbix_server
tcp6 0 0 :::80 :::* LISTEN 2117 /httpd
[root@ZabbixServer-01 ~] # hostname -I
172.16.70.37
浏览器访问 http: //172 .16.70.37 /zabbix
首次访问时需要进行一些初始化的设置,我们按照提示操作即可,点击“Next setp”。
检查各个组件配置是否正常,全部显示“OK”,点击“Next setp”。
默认数据库端口3306,若在安装数据库自定义了端口,则需要在这修改,点击“Next setp”。
可选配置,当有多台ZabbixServer时,可在这设置“Name”,会显示在页面标签,以便区分,点击“Next setp”。
检查所填的信息,如有误点击“Back”返回修改,无误,点击“Next setp”。
点击“Finish”完成配置。
登录账号默认为 Admin,默认密码:zabbix
首页,仪表盘。
设置中文模式。
此时,页面已成为中文模式。
语言设置为中文时,页面乱码如图,有小方块,影响阅读。
Windows10字体路径,选择想更换的字体,复制粘贴至桌面。
再次回到ZabbixServer-01机操作。
[root@ZabbixServer-01 ~] # cd /usr/share/zabbix/assets/fonts/
[root@ZabbixServer-01 fonts] # mv graphfont.ttf graphfont.ttf.bak
[root@ZabbixServer-01 fonts] # rz # 上传粘贴在桌面文字
[root@ZabbixServer-01 fonts] # ls
graphfont.ttf.bak simsun.ttc
[root@ZabbixServer-01 fonts] # mv simsun.ttc simsun.ttf # 修改拓展名
[root@ZabbixServer-01 fonts] # ls
graphfont.ttf.bak simsun.tt
# 修改Zabbix的配置文件/usr/share/zabbix/include/defines.inc.php
[root@ZabbixServer-01 ~] # sed -i_bak$(date +%Y%m%d) 's/graphfont/simsun/g' /usr/share/zabbix/include/defines.inc.php
解析:将下面两行graphfont改为simsun
define( 'ZBX_GRAPH_FONT_NAME' , 'graphfont' ); // font file name
define( 'ZBX_FONT_NAME' , 'graphfont' );
[root@ZabbixServer-01 ~] # systemctl restart zabbix-server
第二部分:ZabbixClient-01 上操作。
# 准备环境
[root@ZabbixClient-01 ~] # cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@ZabbixClient-01 ~] # uname -r
3.10.0-862.el7.x86_64
[root@ZabbixClient-01 ~] # setenforce 0
[root@ZabbixClient-01 ~] # sed -i '7s#enforcing#disabled#' /etc/selinux/config
[root@ZabbixClient-01 ~] # systemctl stop firewalld && systemctl disable firewalld
[root@ZabbixClient-01 ~] # yum install -y vim net-tools lsof wget curl
# 安装NTP
[root@ZabbixClient-01 ~] # yum install -y ntp
[root@ZabbixClient-01 ~] # systemctl start ntpd && systemctl enable ntpd
# 安装zabbix-agent/sender
[root@ZabbixClient-01 ~] # rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@ZabbixClient-01 ~] # yum install -y zabbix-agent zabbix-sender
# 修改配置文件/etc/zabbix/zabbix_agentd.conf
[root@ZabbixClient-01 ~] # sed -i.bak '117s/Server=127.0.0.1/Server=172.16.70.37/;158s/ServerActive=127.0.0.1/ServerActive=172.16.70.37/' /etc/zabbix/zabbix_agentd.conf
[root@ZabbixClient-01 ~] # sed -i '169s/Hostname=Zabbix server/Hostname=ZabbixClient-01/' /etc/zabbix/zabbix_agentd.conf
# 解析
Server=172.16.70.37 # Zabbix Server服务器IP(被动)
ServerActive=172.16.70.37 # Zabbix Server服务器IP(主动)
Hostname=ZabbixClient-01 # 本机能被server端识别的名称
# 启动服务
[root@ZabbixClient-01 ~] # systemctl start zabbix-agent
[root@ZabbixClient-01 ~] # netstat -nuptl | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4839 /zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 4839 /zabbix_agentd
[root@ZabbixClient-01 ~] # ps -ef |grep zabbix
zabbix 4839 1 0 11:33 ? 00:00:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd .conf
zabbix 4840 4839 0 11:33 ? 00:00:00 /usr/sbin/zabbix_agentd : collector [idle 1 sec]
zabbix 4841 4839 0 11:33 ? 00:00:00 /usr/sbin/zabbix_agentd : listener #1 [waiting for connection]
zabbix 4842 4839 0 11:33 ? 00:00:00 /usr/sbin/zabbix_agentd : listener #2 [waiting for connection]
zabbix 4843 4839 0 11:33 ? 00:00:00 /usr/sbin/zabbix_agentd : listener #3 [waiting for connection]
zabbix 4844 4839 0 11:33 ? 00:00:00 /usr/sbin/zabbix_agentd : active checks #1 [idle 1 sec]
Zabbix Web设置,套用系统自带的模板。
zabbix 修改数据库密码对应的配置修改。
# vim /etc/zabbix/zabbix_server.conf
DBPassword=Zabbix@01
# vim /etc/zabbix/web/zabbix.conf.php
$DB[ 'PASSWORD' ] = 'Zabbix@01' ;
# systemctl restart 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 #说明:与AGNET\SNMP设备和其它外部设备通信超时设置,单位为秒;若采集数据不完整或网络繁忙,或从管理页面发现客户端状态变化频繁,可以考虑加大此数值。注意若此数值加大,应该考虑参数 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
zabbix_server.conf
1 NodeID=0 #分布式节点id号,0代表是独立服务器,默认是被注释掉的,不强制配置
2
3 ListenPort=10051 #zabbix server的端口,默认是10051,可以自行修改,范围是1024-32767 ,一般默认即可
4
5 SourceIP= #连接的源ip地址,默认为空,默认即可
6
7 LogFile=/tmp/zabbix_server.log #日志文件的存放位置
8
9 LogFileSize=1 #说明:日志达到多少M里就轮转;若此参数值为0时,则不轮转,日志将不断变大,建议设置成轮转。
10
11 DebugLevel=3 #指定调试级别,默认即可
12
13 PidFile=/tmp/zabbix_server.pid #pid文件的存放位置
14
15 DBHost=localhost #数据库主机名,当设置为localhost时,连接mysql通过sock
16
17 DBName=zabbix #指定存放zabbix数据数据库的名字
18
19 DBUser=zabbix #指定连接数据库的用户名
20
21 DBPassword=123456 #用户连接数据库需要的密码
22
23 DBSocket=/var/lib/mysql/mysql.sock #前文主机设置为localhost,用户连接数据库所用的sock位置,
24
25 DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置
26
27 StartPollers=5 #说明;初始化时,启动子进程数量,数量越多,则服务端吞吐能力越强,对系统资源消耗越大。
28
29 StartIPMIPollers=0 #说明:主要用于IPmi技术用于获取硬件状态场景。若无相关监控项,建议设置为0
30
31 StartTrappers=5 #用于设置诸如SNMP STRAPPER场景提交来的数据的接收进程数,若客户机SNMP TRAPPER技术较多,建议加大此参数值
32
33 StartPingers=1 #用于设置启用icmp协议PING主机方式启动线程数量,若单台代理所管理机器超过500台,建议加大此数值
34
35 StartDiscoverers=1 #用于设置自动发现主机的线程数量,若单台代理所管理机器超过500台,可以考虑加大此数值(仅适用于直接AGENT场景)
36
37 StartHTTPPollers=1#说明:用于设置WEB拨测监控线程数,可视具体情况增加或减少此数值。
38
39 JavaGateway=127.0.0.1 #JavaGateway的ip地址或主机名
40
41 JavaGatewayPort=10052 #JavaGateway的端口号
42
43 StartJavaPollers=5 #开启连接javagatey的进程数
44
45 SNMPTrapperFile=/tmp/zabbix_traps.tmp
46
47 StartSNMPTrapper=0 #如果设置为1,snmp trapper进程就会开启
48
49 ListenIP=0.0.0.0 #监听来自trapper的ip地址
50
51 ListenIP=127.0.0.1
52
53 HousekeepingFrequency=1 #说明:多少小时清理一次代理端数据库的history, alert, and alarms,以保持代理端数据库轻便,建议保持默认
54
55 MaxHousekeeperDelete=500 #每次轮询housekeeper这个任务的时候,超过这个阀值的行都会被清理。
56
57 SenderFrequency=30 #说明:多少秒后重试发送失败的报警信息
58
59 CacheSize=8M #说明:zabbix初始化时占用多少系统共享内存用于存储配置信息,HOST,ITEM,TRIGGER数据,视监控主机数量和监控项调整,建议调整到32M或者更大
60
61 CacheUpdateFrequency=60 #说明:zabbix更新操作系统CACHE配置,若管理页面操作不频繁,可以考虑加大参数值
62
63 StartDBSyncers=4 #将采集数据从CACHE同步到数据库线程数量,视数据库服务器I/O繁忙情况,和数据库写能力调整。数值越大,写能力越强。对数据库服务器I/O压力越大。
64
65 HistoryCacheSize=8M #说明:用于设置划分多少系统共享内存用于存储采集的历史数据,此数值越大,数据库读压力越小
66
67 TrendCacheSize=4M #说明:用于设置划分多少系统共享内存用于存储计算出来的趋势数据,此参数值从一定程度上可影响数据库读压力
68
69 HistoryTextCacheSize=16M #说明:指定划出多少系统共享内存用于存储 character, text or log history数据,若二级代理内存足够,建议可适当扩大此数值,可很大程度上解决系统I/O压力,和数据库读压力
70
71 ValueCacheSize=8M #说明:划出系统多少共享内存用于已请求的存储监控项信息,若监控项较多,建议加大此数值
72
73 NodeNoEvents=0 #说明:若节点为子结点,是否允许本地事件(events表)发送到主节点,1为不发送,但不影响此节点以下的节点的传播能力,视ZABBIX分布式系统架构设计开启或关闭。在不明架构前提下,建议保持默认
74
75 NodeNoHistory=0 #说明:若节点为子结点,是否允许本地历史数据发送到主节点,1为不发送,但不影响此节点以下的节点的传播能力,视ZABBIX分布式系统架构设计开启或关闭,在不明架构前提下,建议保持默认
76
77 Timeout=3 #说明:与AGNET\SNMP设备和其它外部设备通信超时设置,单位为秒;若采集数据不完整或网络繁忙,或从管理页面发现客户端状态变化频繁,可以考虑加大此数值。注意若此数值加大,应该考虑参数 StartPollers 是否有相应加大的必要。
78
79 TrapperTimeout=300 #说明:启用 trapper功能,用于进程等待超时设置。根据需要调整
80
81 UnreachablePeriod=45 #说明:当AGNET端处于不可用状态下,间隔多少秒后,尝试重新连接。建议根据具体情况设置。注意,若此数值过小,右agent端业务系统繁忙时,有可能造成报警信息误报
82
83 UnavailableDelay=60 #说明:当AGENT端处于可用状态下,间隔多少秒后,进行状态检查。若出现可正常采集数据,但管理页面AGENT状态不正常;若在网络,端口等均通畅情况下,AGENT状态仍不正常,可以考虑加大此数值
84
85 UnreachableDelay=15 #说明:当agent端处于不可达状态下,延迟多少秒后,进行重新尝试,建议保持默认,在AGENT接入调试阶段,可考虑减少此数值
86
87 AlertScriptsPath=/usr/local/zabbix/shell #监控报警脚本的存放路径
88
89 FpingLocation=/usr/local/sbin/fping #说明:IPv4 FPING命令路径,仅ROOT可用。注意使用此命令时,应该确认此命令是否存在
90
91 SSHKeyLocation= #说明:在服务端需要SSH到AGENT端且采用用KEY验证方式时使用。
92
93 LogSlowQueries=0 #说明:用于服务端数据库慢查询功能,单位是毫秒;1毫秒=0.001秒,若有服务端数据库监控慢查询的需求,可以视具体情况调整此数。
94
95 TmpDir=/tmp
96
97 Include=/usr/local/etc/zabbix_server.general.conf
98
99 Include=/usr/local/etc/zabbix_server.conf.d/ #子配置文件路径
100
101 StartProxyPollers=1 #在zabbix proxy被动模式下用此参数
102
103 ProxyConfigFrequency=3600#同上
104
105 ProxyDataFrequency
- 2、 /etc/zabbix/zabbix_agentd.conf详解【官方解析】
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= #指定用户自定义参数
zabbix_agentd.conf
********** 如果您认为这篇文章还不错或者有所收获,请点击右下角的【推荐】/【赞助】按钮,因为您的支持是我继续创作分享的最大动力! **********
作者:讲文张字
出处:https://www.cnblogs.com/zhangwencheng
版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接
出处:https://www.cnblogs.com/zhangwencheng
版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接