Zabbix安装配置手册- -
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Zabbix 手册
目录
Ⅰ Zabbix简介 (1)
一、Zabbix介绍 (1)
二、Zabbix系统架构 (4)
1.Zabbix架构: (4)
2.Zabbix架构说明: (5)
Ⅱ Zabbix安装 (8)
一、Zabbix安装 (8)
1、安装基础包 (8)
2、启动httpd、mysql (9)
3、配置防火墙 (9)
4、配置PHP参数 (9)
5、修改httpd 的FQDN 错误 (10)
6、下载zabbix-3.0.3tar.gz (10)
7、添加zabbix 用户和组 (11)
8、安装zabbix-server (11)
9、创建zabbix 数据库以及相关表 (11)
10、配置软连接和启动文件信息 (12)
11、修改/etc/init.d 目录下的zabbix_server 和zabbix_agentd 启动文件(配置
server和agent) (12)
12、通过web 站点配置zabbix (14)
二、Zabbix 监控机配置 (19)
1. 登录 (19)
2. 添加主机(Hosts) (20)
3. 创建模板 (26)
4.添加告警动作(Actions) (28)
5.添加告警方式(Medias) (29)
6.添加用户(Users) (30)
Ⅲ Zabbix配置 (32)
一、Client端配置 (32)
二、zabbix_server.conf 配置文件详解 (33)
三、zabbix_agentd.conf 配置文件详解 (41)
ⅠZabbix简介
一、Zabbix介绍
Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent(代理),也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警.其灵活的扩展性和丰富的功能是其他监控系统所不能比的。
相对来说,它的总体功能做得非常优秀,其界面如图1-1、图1-2。
图1-1
图1-2
1.Zabbix的优点
a)Zabbix是一个自由开放源代码的产品,用户可以对源代码进行任意
修改和二次开发。
Zabbix采用GNU General Public License(GPL)version2 开源协议。
b)安装和配置简单,用户仅仅需要一些简单的学习,即可完成监控的
搭建工作。
c)搭建环境简单,基于开源软件构建平台,仅需要Linux、Apache
(或Nginx)、MySQL(或PostgreSQL/Oracle)、PHP即可,无需专用操作系统支持,也无需专用硬件。
d)Zabbix-Agent完全支持Linux、UNIX、Windows、AIX、BSD和
Solaris的监控,Server和Agent都采用C语言编程,对系统的资源占用非常小,数据采集的性能和速度非常快。
e)将数据采集持久存储到数据库,便于对数据的二次分析。
f)非常丰富的扩展能力,很轻松地自定义监控项和实现数据采集,几
乎能监控所有的数据。
例如,可以监控网站的访问次数,监控UPS和天气温度等。
毫不夸张地说,在Zabbix的世界里,往往有你想不到的事情,没有办不到的事情。
g)开源社区的运作模式,有各种论坛、邮件列表、IM及时沟通等。
2.Zabbix监控指标
表1-1
二、Zabbix系统架构
1.Zabbix架构:
Zabbix支持多种网络方式下的监控,可通过分布式的方式部署和安装监控代理,整个架构如所示。
Zabbix数据的采集不仅开源使用Agent方式,也可以使用其他方式,如SNMP、SSH、Telnet、IPMI等多种协议。
Zabbix的通用架构是C/S(Client/Server)架构,这个是最简单的架构了,常用于监控主机比较少的情况下。
分布式架构为C/P/S
(Client/Proxy/Server), 这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。
Zabbix-Server将采集到的数据持久地存储到数据库中,用前端UI友好地展示给用户.
2.Zabbix架构说明:
1)重要组件介绍
a)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计
数据及操作数据都由它组织进行;
b)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数
据库等数据发往server端或proxy端;
c)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集
部分数据转发到server,可以减轻server的压力;
d)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
e)web interface:zabbix的GUI接口;
2)监控流程
一个监控系统运行的大概的流程是这样的:
agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到
zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。
这里agent收集数据分为主动和被动两种模式:主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
主动监测通信过程如下:
zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active items数据值server或者proxy。
很多人会提出疑问:zabbix多久获取一次active items?它会根据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试。
分两个部分:
获取ACTIVE ITEMS列表
•Agent打开TCP连接(主动检测变成Agent打开)
•Agent请求items检测列表
•Server返回items列表
•Agent 处理响应
•关闭TCP连接
•Agent开始收集数据
主动检测提交数据过程如下:
•Agent建立TCP连接
•Agent提交items列表收集的数据
•Server处理数据,并返回响应状态
•关闭TCP连接
被动监测通信过程如下:
•Server打开一个TCP连接
•Server发送请求agent.ping\n
•Agent接收到请求并且响应<HEADER><DATALEN>1
•Server处理接收到的数据1
•关闭TCP连接
这里,有人可以看出来,被动模式每次都需要打开一个tcp连接,这样当监控项越来越多时,就会出现server端性能问题了。
那实际监控中是用主动的还是被动的呢?这里主要涉及两个地方:
1)、新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。
2)、agent配置文件中StartAgents参数的设置,如果为0,表示禁止被动模式,否则开启。
一般建议不要设置为0,因为监控项目很多时,可以部分使用主动,部分使用被动模式。
ⅡZabbix安装
一、Zabbix安装
我们采用最新版Zabbix3.0.3和centos6.7源码包安装,运行环境LAMP (Linux+Apache+Mysql+PHP)。
1、安装基础包
由于3.0以上都需要php 5.4以上的版本所以需要先装php
基础软件包安装,采用yum安装
yum -y install wget vim tree gcc gcc-c++ autoconf httpd mysql mysql-server httpd-manual mod_ssl mod_perl mod_auth_mysql mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp net-snmp-devel curl-devel php55w php55w-bcmath php55w-cli php55w-common php55w-devel php55w-fpm php55w-gd php55w-imap php55w-ldap php55w-mbstring php55w-mcrypt php55w-mysql php55w-odbc php55w-pdo php55w-pear php55w-pecl-igbinary php55w-xml php55w-xmlrpc php55w-opcache php55w-intl php55w-pecl-memcache
2、启动httpd、mysql
# service httpd start
# service mysqld start
# chkconfig httpd on
# chkconfig mysqld on
3、配置防火墙
在iptables 中放行80,10050,10051 端口
# iptables -I INPUT -p tcp -m multiport --destination-port 80,10050:10051 -j ACCEPT
保存iptables规则
# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
4、配置PHP参数
zabbix的运行需要特定的php参数支持,修改如下
# sed -i "s@;date.timezone =@date.timezone = Asia/Shanghai@g" /etc/php.ini
# sed -i "s@max_execution_time = 30@max_execution_time =
300@g" /etc/php.ini
# sed -i "s@post_max_size = 8M@post_max_size = 32M@g" /etc/php.ini
# sed -i "s@max_input_time = 60@max_input_time = 300@g" /etc/php.ini
# sed -i "s@memory_limit = 128M@memory_limit = 128M@g" /etc/php.ini
#sed-i"s@;mbstring.func_overload=****************_overload= 2@g" /etc/php.ini
5、修改httpd 的FQDN 错误
echo "ServerName localhost:80" >>/etc/httpd/conf/httpd.conf
# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
6、下载zabbix-3.0.3tar.gz
、
下载地址/download.php
7、添加zabbix 用户和组
# groupadd -g 201 zabbix
# useradd -g zabbix -u 201 -s /sbin/nologin zabbix
8、安装zabbix-server
# tar xf zabbix-3.0.3.tar.gz
# cd zabbix-3.0.3
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
# make && make install
9、创建zabbix 数据库以及相关表
# mysql -e "create database zabbix default charset utf8;"
# mysql -e "grant all on zabbix.* to zabbix@localhost identified by 'zabbix';"
# mysql -uzabbix -pzabbix zabbix<./database/mysql/schema.sql
# mysql -uzabbix -pzabbix zabbix<./database/mysql/images.sql
# mysql -uzabbix -pzabbix zabbix<./database/mysql/data.sql
10、配置软连接和启动文件信息
mkdir /var/log/zabbix
chown zabbix.zabbix /var/log/zabbix
ln -s /usr/local/zabbix/etc/ /etc/zabbix
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp misc/init.d/fedora/core/zabbix_* /etc/init.d
chmod 755 /etc/init.d/zabbix_*
11、修改/etc/init.d 目录下的zabbix_server 和zabbix_agentd 启动文件(配置server和agent)
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_server
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_agentd
修改/etc/zabbix/zabbix_server.conf
sed -i "s@DBUser=root@DBUser=zabbix@g" /etc/zabbix/zabbix_server.conf
sed -i "s@#DBPassword=@DBPassword=zabbix@g"
/etc/zabbix/zabbix_server.conf
sed -i "s@# DBPassword=@DBPassword=zabbix@g" /etc/zabbix/zabbix_server.conf
修改/etc/zabbix/zabbix_agentd.conf,这里的IP 地址写的是zabbix_server 的IP 地址,即192.168.32.147
sed -i "s@Server=127.0.0.1@Server=127.0.0.1,192.168.32.147@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@ServerActive=127.0.0.1@ServerActive=$IP:10051@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@tmp/zabbix_agentd.log@var/log/zabbix/zabbix_agentd.log@g" /etc/zabbix/zabbix_agentd.conf
sed -i "s@^# UnsafeUserParameters=0@UnsafeUserParameters=1\n@g"
/etc/zabbix/zabbix_agentd.conf
复制zabbix 站点的文件到/var/www/html 目录下
# cp -r frontends/php/ /var/www/html/zabbix/ 在zabbix安装包目录下
# chown -R apache.apache /var/www/html/zabbix/
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
# service zabbix_server start
Starting zabbix_server: [ OK ]
# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]
12、通过web 站点配置zabbix
以上步骤配置完后通过http://ip/zabbix 网页端进行后续配置
PHP 配置检查界面,结果是OK 表示正常,如果是fail 状态,请修改相关的php 配置参数,并重启httpd 服务
这里的数据库相关信息,在上文中有配置,具体请查看上文
调整zabbix 语言
居然没有中文选项
通过#find / -name locales.inc.php查找到文件地址将false改成true
有中文选项了
zabbix 语言设置成中文后,有乱码解决如下
1.从windows 下控制面板->字体->选择一种中文字库例如“楷体”
2.将字体上传至/var/www/html/zabbix/fonts 目录下
3.修改zabbix 页面管理的中文字体设置
# vim /var/www/html/zabbix/include/defines.inc.php
#修改如下2 行
define('ZBX_FONT_NAME', 'simkai');
define('ZBX_GRAPH_FONT_NAME', 'simkai');
17、更改一下时区
#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、Zabbix 监控机配置
一次完整的监控流程可以简单描述为:
Host Groups(设备组)->Hosts(设备)->Applications(监控项组)->Items(监控项)->Triggers(触发器)->Actions(告警动作)->Medias (告警方式)->User Groups(用户组)->Users(用户)
对于实际使用的时候,一般都是采用模板进行监控配置。
使用过cacti 的都知道,可以先添加主机,然后选择对应模板即可,zabbix 中同样存在此功能。
1.登录
在浏览器中输入http://10.25.3.72/进入监控软件登陆界面,默认的登陆用户名admin,密码zabbix,登陆的界面如图所示。
登录界面图
Zabbix主界面
2.添加主机(Hosts)
主机是Zabbix 监控的基本载体,所有的监控项都是基于主机的。
通过配置->主机->创建主机(Configuration->Hosts->Create Host)来创建监控设备。
a)添加应用集
b)添加监控项(Items)
Item 是监控项,是监控的基本元素,每一个监控项对应一个被监控端的采集值。
在配置->主机(Configuration->Hosts)界面,我们能看到每个主机(host)所包含的监控项(items)总数,点击对应主机的监控项,可以看到具体的每个监控信息,这些监控项(items)可以引用自模板(templates),也可以自己创建。
注意:当我们需要监控的服务器的时候,一般是链接模板,如需自定义监控项,则需要在此处添加监控项。
c)添加触发器(Triggers)
Trigger 是触发器,当监控项(Items)采集值满足触发器(triggers)的触发条件时,就会产生actions。
每一个触发器(triggers)必须对应一个监控项(Item),但一个监控项(Items)可以对应多个触发器(trigger)。
通过设置多个触发器(trigger),实现触发条件的不同,从而达到不同级别的报警。
默认的模板中只有一个触发器(trigger)。
同样,通过点击配置->主机->触发器(Configuration->Hosts->Triggers)中某个触发器(trigger)的名字,可以修改触发器(trigger)的属性。
(注意:引用自模板(template)的触发值是不能单独修改的,必须在模板(template)
中修改,或是复制一个同样的触发器(trigger)再修改,然后禁用掉之前的。
)新增触发器可以通过点击右上角的创建触发器来创建。
表达式(Expression)中选择对应的监控项(item)、触发方式及触发值,严重性(Severity)是告警级别,根据触发器(trigger)的严重性来选择。
Zabbix 提供多种trigger 触发方式供选择,常用的我们可以选择last value </>/=/#/N(最近一次采集值),或是选择maximal value for period of time (一段时间内的最大值),等等。
可以根据实际需要来设定触发方式。
d)创建图形(Graphs)
3.创建模板
zabbix 模板中可以包含监控项、触发器、web 监控、图表等等项目,一一创建这些项目之后,在后续的主机只需要套用这个模板,那么主机便可以监控模板里面所配置的监控项目。
点击Configuration(配置)—Templates(模板)—create template(创建模板),
a)添加模板
b)创建模板
模板链接(linked template)
添加items, triggers, graphs,low-level discovery rules,web scenarios,screens与在单台host 添加item,trigger,graphs 等等的方法是一样,这边我就不再重复了。
添加完毕之后,一个模板也就这么完成了。
4.添加告警动作(Actions)
Action 是告警动作,当触发器条件被满足时,就会执行指定的动作(action)。
通过配置->动作->创建动作(Configuration->Actions->Create Action)来创建告警动作(Action)。
5.添加告警方式(Medias)
Media,即告警方式,Zabbix 可以提供四类告警方式(Media):Email/SMS/Jabber/Script,通过管理->告警媒介类型(Administrator->Media Type) 来修改或新增告警方式
Email 方式最常用的,填入相关的SMTP 信息,即可通过邮件方式发送告警。
有以下几种方式
Email 方式用邮件
Script 方式可以通过自己编写程序或脚本的方式发送告警信息。
SMS 方式要在server 主机上接入短信modem。
Jabber 方式是一种linux 下的即时通讯工具,通过Jabber 发送即时消息。
6.添加用户(Users)
在管理->用户(Administrator->Users) 可以添加用户和用户组通过用户群组(User Group)可以限制用户的权限,zabbix 自带的用户组的权限限制基本能满足我们的要求。
创建用户时可以根据用户的不同作用划分到不同的组,告警方式(media)中填入告警接受地址及告警接受时间等信息。
用户权限的控制
ⅢZabbix配置
一、Client端配置
Zabbix的snmp通过获取设备特定的oid值来对设备进行监控,可以监控的对象基本包含所有能使用snmp协议的设备,日常监控的设备大多为交换机,路由器以及防火墙居多,整个监控比较直观清晰。
(此次我们用一台华为4500三层交换机作为监控对象进行配置)。
Client配置:
开启设备的SNMP服务(不同设备配置SNMP的方式不同,但是原理是一样的)
1.snmp-agent(启动snmp服务)
2.snmp-agent community read public #设置pubic具有只读权限,
public可以自行修改成任何字符,相当于密码
3.snmp-agent community write private #设置private具有读写权限,
private可以自行修改成任何字符,相当于密码
4.snmp-agent sys-info version all #snmp的版本支持,最好设置为
all,也可以设置为v1,v2,v3
5.snmp-agent target-host trap address udp-domain 10.25.3.72 params
securityname private #trap报文的目的地址,也就是你的监控服务器的IP 地址
6.snmp-agent trap source Vlan-interface5 #通过哪个端口发送trap
报文
二、zabbix_server.conf 配置文件详解
Proxy是Server的代理,功能类似Server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到Server。
所以配置与Server大同小异。
●AlertScriptsPath
默认值:/usr/local/share/zabbix/alertscripts
说明:告警脚本目录
●AllowRoot
默认值:0 说明:是否允许使用root启动,0:不允许,1:允许,默认情况下她会使用zabbix用户来启动zabbix进程,不推荐使用root。
●CacheSize
取值范围:128K-8G
默认值:8M
说明:配置缓存,用于存储host,item,trigger数据,2.2.3版本之前最大支持2G,目前最大支持8G,一般用不了多少的。
●CacheUpdateFrequency
取值范围:1-3600
默认值:60
说明:多少秒更新一次配置缓存
●DBSocket
默认值:/tmp/mysql.sock
说明:mysql sock文件路径
●HistoryCacheSize
取值范围:128K-2G
默认值:8M
说明:
历史记录缓存大小,用于存储历史记录
●HistoryTextCacheSize
取值范围:128K-2G
默认值:16M
说明:文本类型历史记录的缓存大小,存储character, text 、log历史记录
●HousekeepingFrequency
取值范围:0-24
默认值:1
说明:housekeep执行频率,默认每小时回去删除一些过期数据。
如果server
重启,那么30分钟之后才执行一次,接下来,每隔一小时在执行一次。
●LogFileSize
取值范围:0-1024
默认值:1
0表示禁用日志自动rotation,如果日志达到了限制,并且rotation失败,老日志文件将会被清空掉,重新生成一个新日志。
●LogSlowQueries
取值范围:0-3600000
默认值:0
多慢的数据库查询将会被记录,单位:毫秒,0表示不记录慢查询。
只有在DebugLevel=3时,这个配置才有效。
●MaxHousekeeperDelete
取值范围:0-1000000
默认值:5000
housekeeping一次删除的数据不能大于MaxHousekeeperDelete
●ProxyConfigFrequency
取值范围:1-604800
默认值:3600
proxy被动模式下,server多少秒同步配置文件至proxy。
●ProxyDataFrequency
取值范围:1-3600
默认值:1
被动模式下,zabbix server间隔多少秒向proxy请求历史数据
●SenderFrequency
取值范围:5-3600
默认值:30
间隔多少秒,再尝试发送为发送的报警
●SNMPTrapperFile
默认值:/tmp/zabbix_traps.tmp
SNMP trap发送到server的数据临时存放文件。
●StartDBSyncers
取值范围:1-100
默认值:4
预先foke DB Syncers的数量,1.8.5以前最大值为64
●Timeout
取值范围:1-30
默认值:3
agent,snmp,external check的超时时间,单位为秒
●TrendCacheSize
取值范围:128K-2G
默认值:4M
历史数据缓存大小
●UnavailableDelay
取值范围:1-3600
默认值:60
间隔多少秒再次检测主机是否可用
●UnreachableDelay
取值范围:1-3600
默认值:15
间隔多少秒再次检测主机是否可达
●UnreachablePeriod
取值范围:1-3600
默认值:45
检测到主机不可用,多久将它置为不可达
➢yum 安装mysql 优化(根据实际情况配置可能不同)
cd / tmp
mkdir zabbixtmp
chown mysql:mysql zabbixtmp
vi /etc/fstab #配置/etc/fstab文件
tmfs /tmp/zabbixtmp tmpfs rw,uid=mysql,gid=mysql,size=1G,nr_inodes=10k,mode=0700 0 0
vim /etc/f
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks tmpdir=/tmp/zabbixtmp
join_buffer_size = 1024M
sort_buffer_size = 1024M
max_connections = 20000
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES innodb_buffer_pool_size = 20G
innodb_flush_method = O_DIRECT
innodb_additional_mem_pool_size = 128M
innodb_log_files_in_group = 3
innodb_log_file_size = 1024M
innodb_log_buffer_size = 1024M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 120
innodb_flush_method = O_DIRECT
innodb_max_dirty_pages_pct = 75
innodb_thread_concurrency = 32
innodb_open_files = 65535
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
错误:
mysql修改后如果出现此错误
mySQL Plugin 'InnoDB' init function returned error.
cd /var/lib/mysql
调查得知,只要删除MySQL目录下的ib_logfile0和ib_logfile1两个文件,就可以解决问题了。
(为防止返回不成功,先移开为好)
vim /var/www/html/zabbix/include/defines.inc.php
define('DEFAULT_LATEST_ISSUES_CNT', 80);
三、zabbix_agentd.conf 配置文件详解
●Alias
key 的别名,例如Alias=erid:vfs.file.regexp[/etc/passwd,^xxx:.:([0-9]+),,,,\1],或者xxx 的用户ID。
你可以使用key:vfs.file.regexp[/etc/passwd,^xxx:.: ([0-9]+),,,,\1],也可以使用erid。
备注: 别名不能重复,但是可以有多个alias 对应同一个key。
●AllowRoot
默认值:0
是否允许使用root 身份运行zabbix,如果值为0,并且是在root 环境下,zabbix 会尝试使用zabbix 用户运行,如果
不存在会告知zabbix 用户不存在。
0 - 不允许
1 - 允许
●BufferSend
取值范围:1-3600
默认值:5
数据存储在buffer 中最长多少秒
●BufferSize
取值范围:2-65535
默认值:100
buffer 最大值,如果buffer 满了,zabbix 将会将检索到的数据发送给zabbix server 或者proxy
●DebugLevel
取值范围:0-5
默认值:3
指定日志级别
0 - basic information about starting and stopping of Zabbix processes
1 - critical 级别
2 - error 级别
3 - warnings 级别
4 - debug 级别
5 - extended debugging (与级别4 一样. 只能使用runtime control 来设置.)
●EnableRemoteCommands
默认值:0
是否运行zabbix server 在此服务器上执行远程命令
0 - 禁止
1 - 允许
●HostMetadata
取值范围:0-255 字符
仅用于主机自动注册功能,如果当前值为定义,那么它的值默认为HostMetadataItem 的值。
这个选项在2.2.0 之后加入,并且确保支付不能超过限制,以及字符串必须是UTF8,否则服务器无法启动zabbix 自动注册请参考:zabbix 客户端自动注册(84)
●HostMetadataItem
功能同上,如果HostMetadata 值未设置,这个配置才有效。
支持使用UserParameters、alias、system.run[]
●Hostname
默认值:HostnameItem 配置的值
主机名,必须唯一,区分大小写。
Hostname 必须和zabbix web 上配置的一直,否则zabbix 主动监控无法正常工作。
为什么呢?因为agent 拿着这个主机名去问server,我有配置主动监控项吗?server 拿着这个主机名去配置里面查询,然后返回信息。
支持字符:数字字母、'.'、' '、'_'、'-',不超过64 个字符
●HostnameItem
默认值:system.hostname
设置主机名,只有当HostMetadata 没设置,她才生效。
不支持UserParameters 、aliases,支持system.run[]
●Include
包含自配置文件,不同的配置写到不同的文件中,然后include ,配置文件会显得规范。
例如:
/absolute/path/to/config/files/*.conf. Zabbix 2.4.0 开始支持正则表达式。
●ListenIP
默认值:0.0.0.0
监听IP 地址,默认为所有接口,多个ip 之间使用逗号分隔
●ListenPort
取值范围:1024-32767
默认值10050
监听端口
●LoadModule
加载模块文件,可以写多个
格式: LoadModule=
必须配置LoadModulePath,指定模块目录
zabbix 模块请参考:zabbix 加载扩展模块第三方库支持(92)
●LoadModulePath
模块路径,绝对路径,如上
●LogFile
日志文件路径
如果未配置,日志会记录到syslog 中
●LogFileSize
取值范围:0-1024
默认值:1
日志文件大小,单位为MB。
0 - 关闭自动轮滚.
备注:如果日志文件到达了最大值并且文件轮滚失败,那么老日志文件会被清空掉。
●LogRemoteCommands
默认值:0
记录原型执行的shell 命令日志,级别为warrning
0 - disabled
1 – enabled
●MaxLinesPerSecond
取值范围:1-1000
默认值:100
处理监控类型为log 何eventlog 日志时,agent 每秒最大发送的行数。
默认为100 行
zabbix 日志监控请参考:zabbix 监控日志文件MySQL 日志为例(95)
●PidFile
默认值:/tmp/zabbix_agentd.pid
PID 文件名
●RefreshActiveChecks
取值范围:60-3600
默认值:120
多久时间(秒)刷新一次主动监控配置信息,如果刷新失败,那么60 秒之后会重试一次
●Server
zabbix server 的ip 地址,多个ip 使用逗号分隔
●ServerActive
zabbix 主动监控server 的
●SourceIP
zabbix 对外连接的出口IP 地址
●StartAgents
取值范围:0-100
默认值:3
zabbix 启动之后开启被动监控的进程数量,如果设置为0,那么zabbix 被动监控被禁用,并且不会监听相应端口,
也就是说10050 端口不会开启。
●Timeout
默认值:1-30
默认值:3
超时时间
●UnsafeUserParameters
取值范围:0,1
默认值:0
允许所有字符的参数传递给用户定义的参数。
●User
默认值:zabbix
运行zabbix 程序的用户,如果AllowRoot 被禁用,才有效果
UserParameter
用户自定义key,格式: UserParameter=,
例如:serParameter=system.test,who|wc -l。