三、 zabbix_agentd.conf 配置文件详解
? Alias key
的
别
名
,
例
如
Alias=xxx.userid:vfs.file.regexp[/etc/passwd,^xxx:.:([0-9]+),,,,\\1], 或者 xxx 的用户 ID。你可以使用 key: vfs.file.regexp[/etc/passwd,^xxx:.: ([0-9]+),,,,\\1],也可以使用 xxx.userid。
备注: 别名不能重复,但是可以有多个 alias 对应同一个 key。
? AllowRoot 默认值: 0
是否允许使用 root 身份运行 zabbix,如果值为 0,并且是在 root 环境下, zabbix 会尝试使用 zabbix 用户运行,如果 不存在会告知 zabbix 用户不存在。 0 - 不允许 1 - 允许
? BufferSend 取值范围: 1-3600 默认值: 5
数据存储在 buffer 中最长多少秒
~ 43 ~
? 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
~ 44 ~
是否运行 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 拿着这个主机名去配置里面查询,然后返回信息。
~ 45 ~
支持字符:数字字母、 '.'、 ' '、 '_'、 '-',不超过 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 监听端口
~ 46 ~
? LoadModule
加载模块文件,可以写多个 格式: LoadModule=
必须配置 LoadModulePath,指定模块目录
zabbix 模块请参考: zabbix 加载扩展模块第三方库支持( 92)
? LoadModulePath 模块路径,绝对路径,如上 ? LogFile 日志文件路径
如果未配置,日志会记录到 syslog 中
? LogFileSize 取值范围:0-1024 默认值: 1
日志文件大小,单位为 MB。 0 - 关闭自动轮滚.
备注:如果日志文件到达了最大值并且文件轮滚失败,那么老日志文件会被清空掉。
~ 47 ~
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
~ I ~
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. 登录 ........................................................................................................................ 20 2. 添加主机(Hosts) ................................................................................................ 21 3. 创建模板 ................................................................................................................ 27 4. 添加告警动作(Actions) ....................................................................................... 30 5. 添加 告警方式(Medias) ...................................................................................... 30 6. 添加用户(Users) ...................................................................................................... 32
Ⅲ Zabbix配置 ................................................................................................... 34
一、Client端配置 ........................................................................................ 34 二、zabbix_server.conf 配置文件详解 ....................................................... 35 三、zabbix_agentd.conf 配置文件详解 ...................................................... 43
~ II ~
~ III ~
Ⅰ Zabbix简介
一、Zabbix介绍
Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent(代理),也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警.其灵活的扩展性和丰富的功能是其他监控系统所不能比的。相对来说,它的总体功能做得非常优秀,其界面如图1-1、图1-2。
图1-1
~ 1 ~
图1-2
1. Zabbix的优点
a)
Zabbix是一个自由开放源代码的产品,用户可以对源代码进行任意
修改和二次开发。Zabbix采用GNU General PublicLicense(GPL)version2 开源协议。 b)
安装和配置简单,用户仅仅需要一些简单的学习,即可完成监控的
搭建工作。 c)
搭建环境简单,基于开源软件构建平台,仅需要Linux、Apache(或
Nginx)、MySQL(或PostgreSQL/Oracle)、PHP即可,无需专用操作系统支持,也无需专用硬件。 d)
Zabbix-Agent完全支持Linux、UNIX、Windows、AIX、BSD和Solaris
的监控,Server和Agent都采用C语言编程,对系统的资源占用非常小,数据采集的性能和速度非常快。 e)
将数据采集持久存储到数据库,便于对数据的二次分析。
~ 2 ~
? 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
~ 38 ~
取值范围: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
~ 39 ~
默认值:15
间隔多少秒再次检测主机是否可达 UnreachablePeriod
取值范围:1-3600 默认值:45
检测到主机不可用,多久将它置为不可达 ? yum 安装mysql 优化(根据实际情况配置可能不同)
cd / tmp
mkdir zabbixtmp
chown mysql:mysql zabbixtmp vi /etc/fstab #配置/etc/fstab文件
tmfs /tmp/zabbixtmp rw,uid=mysql,gid=mysql,size=1G,nr_inodes=10k,mode=0700
vim /etc/my.cnf [mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock user=mysql
~ 40 ~
tmpfs 0 0
?
# 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
~ 41 ~
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);
~ 42 ~
a) 添加模板
b) 创建模板
~ 28 ~
模板链接(linked template)
添加
items,
triggers,
graphs,low-level
discovery
rules,web
scenarios,screens与在单台 host 添加 item, trigger,graphs 等等的方法是
~ 29 ~
一样,这边我就不再重复了。添加完毕之后,一个模板也就这么完成了。
4. 添加告警动作(Actions)
Action 是告警动作,当触发器条件被满足时,就会执行指定的 动作(action)。通过 配置->动作->创建动作(Configuration->Actions->Create Action)来创建 告警动作(Action)。
5. 添加 告警方式(Medias)
Media,即告警方式,Zabbix 可以提供四类告警方式(Media):Email/SMS/Jabber/Script,通过管理->告警媒介类型(Administrator->Media Type)来修改或新增告警方式
Email 方式最常用的,填入相关的 SMTP 信息,即可通过邮件方式发送告警。
~ 30 ~
有以下几种方式
Email 方式用邮件
Script 方式可以通过自己编写程序或脚本的方式发送告警信息。 SMS 方式要在 server 主机上接入短信 modem。
Jabber 方式是一种 linux 下的即时通讯工具,通过 Jabber 发送即时消息。
~ 31 ~
6. 添加用户(Users)
在 管理->用户(Administrator->Users)可以添加用户和用户组通过 用户群组(User Group)可以限制用户的权限,zabbix 自带的用户组的权限限制基本能满足我们的要求。
创建用户时可以根据用户的不同作用划分到不同的组,告警方式(media)中填入告警接受地址及告警接受时间等信息。
用户权限的控制
~ 32 ~
~ 33 ~
Ⅲ 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-hosttrap address udp-domain 10.25.3.72 params
securityname private #trap报文的目的地址,也就是你的监控服务器的IP地址
6. snmp-agent trap source Vlan-interface5 #通过哪个端口发送trap
~ 34 ~
报文
二、 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
~ 35 ~
默认值:60
说明:多少秒更新一次配置缓存
? DBSocket
默认值:/tmp/mysql.sock 说明:mysql sock文件路径
? HistoryCacheSize
取值范围:128K-2G 默认值:8M 说明:
历史记录缓存大小,用于存储历史记录
? HistoryTextCacheSize
取值范围:128K-2G 默认值:16M
说明:文本类型历史记录的缓存大小,存储character, text 、log历史记录
? HousekeepingFrequency
取值范围:0-24
~ 36 ~
默认值:1
说明:housekeep执行频率,默认每小时回去删除一些过期数据。如果server重启,那么30分钟之后才执行一次,接下来,每隔一小时在执行一次。
? LogFileSize
取值范围:0-1024 默认值:1
0表示禁用日志自动rotation,如果日志达到了限制,并且rotation失败,老日志文件将会被清空掉,重新生成一个新日志。
? LogSlowQueries
取值范围:0-3600000 默认值:0
多慢的数据库查询将会被记录,单位:毫秒,0表示不记录慢查询。只有在DebugLevel=3时,这个配置才有效。
? MaxHousekeeperDelete
取值范围: 0-1000000 默认值:5000
housekeeping一次删除的数据不能大于MaxHousekeeperDelete
~ 37 ~