http://blog.51cto.com/jiayimeng/1879364
一、zabbix简介与环境准备
简介详见 ---> zabbix简介
环境准备: CentOS 7(node7):zabbix-server,web,mysql,agent
mariadb:5.5.50
zabbix组件:3.2.1
apache:2.4.6
二、安装与配置
1、安装数据库(mariadb),可直接yum安装
1
2
3
4
5
6
7
|
[root@node7 ~]
# vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http:
//yum
.mariadb.org
/10
.0
/centos7-amd64
gpgkey=https:
//yum
.mariadb.org
/RPM-GPG-KEY-MariaDB
gpgcheck=1
[root@node7 ~]
# yum -y install MariaDB-client MariaDB-server MariaDB-devel
|
2、配置数据库
2.1 配置数据库配置文件
1
2
3
|
[root@node7 ~]
# vim /etc/my.cnf
innodb_file_per_table = 1
skip_name_resolve = 1
|
2.2 创建zabbix库并授权普通用户远程访问
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@node7 ~]
# systemctl start mariadb
[root@node7 ~]
# mysql -e "grant all on *.* to 'root'@'localhost' identified by 'root';"
[root@node7 ~]
# mysql -uroot -proot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection
id
is 18
Server version: 5.5.50-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
MariaDB [(none)]> create database zabbix character
set
utf8 collate utf8_bin;
Query OK, 0 rows affected (0.43 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by
'zabbix'
;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> \q
Bye
|
3、安装zabbix
3.1 创建zabbix用户与组(普通用户)
1
2
|
[root@node7 ~]
# groupadd zabbix
[root@node7 ~]
# useradd -g zabbix zabbix
|
3.2 使用yum方式安装zabbix
1
2
3
4
|
[root@node7 ~]
# rpm -ivh
[root@node7 ~]
# yum clean all
[root@node7 ~]
# yum makecache
[root@node7 ~]
# yum install zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-agent zabbix-sender zabbix-get zabbix-web-mysql
|
3.3 将zabbix数据导入数据库
1
|
[root@node7 ~]
# zcat /usr/share/doc/zabbix-server-mysql-3.2.1/create.sql | mysql -uzabbix -pzabbix zabbix
|
3.4 查看导入数据,并测试zabbix用户远程登录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
[root@node7 ~]
# mysql -uzabbix -pzabbix
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection
id
is 21
Server version: 5.5.50-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
|
test
|
| zabbix |
+--------------------+
3 rows
in
set
(0.00 sec)
MariaDB [(none)]> use zabbix
Reading table information
for
completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]> show tables;
127 rows
in
set
(0.00 sec)
MariaDB [zabbix]> \q
Bye
|
3.5 配置zabbix-server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[root@node7 ~]
# vim /etc/zabbix/zabbix_server.conf
##日志文件
LogFile=
/var/log/zabbix/zabbix_server
.log
##定义日志文件大小,到达上限即开始滚动
LogFileSize=0
##Pid文件
PidFile=
/var/run/zabbix/zabbix_server
.pid
##数据库地址
DBHost=localhost,192.168.1.20,127.0.0.1,
##数据库名
DBName=zabbix
##zabbix登录数据库所用用户名
DBUser=zabbix
##登录数据库的密码
DBPassword=zabbix
##mysql.sock文件路径
# DBSocket=/tmp/mysql.sock 此处路径为编译安装时路径
DBSocket=
/var/lib/mysql/mysql
.sock
##数据库监听的端口
# DBPort=3306
|
3.6 zabbix-server高级配置详解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
|
1、server端拉取agent端的items,开启的空闲数默认为5
### Option: StartPollers
# Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollers=5
2、硬件级别的监控,默认启动空闲为0
### Option: StartIPMIPollers
# Number of pre-forked instances of IPMI pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartIPMIPollers=0
3、对不可达主机拉取数据
### Option: StartPollersUnreachable
# are started.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollersUnreachable=1
4、陷阱机制,即对于中途加入的主机主动发送的数据进行保存,陷阱池默认为5个
### Option: StartTrappers
# Number of pre-forked instances of trappers.
# in the frontend.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartTrappers=5
5、使用ICMP协议的
ping
对网络中主机进行在线状态检测
### Option: StartPingers
# Number of pre-forked instances of ICMP pingers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPingers=1
6、对网络中的主机
ping
主动扫描发现,对中途加入的主机进行上线。注意:主动发现很消耗带宽
### Option: StartDiscoverers
# Number of pre-forked instances of discoverers.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartDiscoverers=1
7、使用http协议请求网页资源,探测主机web服务是否正常
### Option: StartHTTPPollers
# Number of pre-forked instances of HTTP pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartHTTPPollers=1
8、对时序有关的监控项计时
### Option: StartTimers
# Number of pre-forked instances of timers.
# Timers process time-based trigger functions and maintenance periods.
# Only the first timer process handles the maintenance periods.
#
# Mandatory: no
# Range: 1-1000
# Default:
# StartTimers=1
9、
### Option: StartEscalators
# Number of pre-forked instances of escalators.
#
# Mandatory: no
# Range: 0-100
# Default:
# StartEscalators=1
10、监控java虚拟机
### Option: JavaGateway
# IP address (or hostname) of Zabbix Java gateway.
# Only required if Java pollers are started.
#
# Mandatory: no
# Default:
# JavaGateway=
11、监控java开启的端口
### Option: JavaGatewayPort
# Port that Zabbix Java gateway listens on.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# JavaGatewayPort=10052
12、server端拉取jdk的数据
### Option: StartJavaPollers
# Number of pre-forked instances of Java pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartJavaPollers=0
13、监控VMware虚拟机的各项参数
### Option: StartVMwareCollectors
# Number of pre-forked vmware collector instances.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartVMwareCollectors=0
14、监控VMware虚拟机的频率,默认60秒
### Option: VMwareFrequency
# How often Zabbix will connect to VMware service to obtain a new data.
#
# Mandatory: no
# Range: 10-86400
# Default:
# VMwareFrequency=60
15、监控VMware的服务
### Option: VMwarePerfFrequency
# How often Zabbix will connect to VMware service to obtain performance data.
#
# Mandatory: no
# Range: 10-86400
# Default:
# VMwarePerfFrequency=60
16、监控VMware的内存使用
### Option: VMwareCacheSize
# Size of VMware cache, in bytes.
# Shared memory size for storing VMware data.
# Only used if VMware collectors are started.
#
# Mandatory: no
# Range: 256K-2G
# Default:
# VMwareCacheSize=8M
17、VMware的超时时间
### Option: VMwareTimeout
#
# Mandatory: no
# Range: 1-300
# Default:
# VMwareTimeout=10
18、SNMP日志文件路径
### Option: SNMPTrapperFile
# Temporary file used for passing data from SNMP trap daemon to the server.
# Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.
#
# Mandatory: no
# Default:
# SNMPTrapperFile=/tmp/zabbix_traps.tmp
SNMPTrapperFile=
/var/log/snmptrap/snmptrap
.log
19、SNMP协议的陷阱机制,同上
### Option: StartSNMPTrapper
# If 1, SNMP trapper process is started.
#
# Mandatory: no
# Range: 0-1
# Default:
# StartSNMPTrapper=0
20、SNMP监听地址
### Option: ListenIP
# List of comma delimited IP addresses that the trapper should listen on.
# Trapper will listen on all network interfaces if this parameter is missing.
#
# Mandatory: no
# Default:
# ListenIP=0.0.0.0
# ListenIP=127.0.0.1
21、从数据库中移除过期数据
### Option: HousekeepingFrequency
# How often Zabbix will perform housekeeping procedure (in hours).
# Housekeeping is removing outdated information from the database.
#
# Mandatory: no
# Range: 0-24
# Default:
# HousekeepingFrequency=1
22、将上一项中的每一项任务删除
### Option: MaxHousekeeperDelete
# [housekeeperid], [tablename], [field], [value].
# will be deleted per one task in one housekeeping cycle.
#
# Mandatory: no
# Range: 0-1000000
# Default:
# MaxHousekeeperDelete=5000
23、对尚未发送的报警信息30秒重发送一次
### Option: SenderFrequency
# How often Zabbix will try to send unsent alerts (in seconds).
#
# Mandatory: no
# Range: 5-3600
# Default:
# SenderFrequency=30
24、配置缓存大小
### Option: CacheSize
# Size of configuration cache, in bytes.
# Shared memory size for storing host, item and trigger data.
#
# Mandatory: no
# Range: 128K-8G
# Default:
# CacheSize=8M
25、缓存刷新时间
### Option: CacheUpdateFrequency
# How often Zabbix will perform update of configuration cache, in seconds.
#
# Mandatory: no
# Range: 1-3600
# Default:
# CacheUpdateFrequency=60
26、数据库同步实例数
### Option: StartDBSyncers
# Number of pre-forked instances of DB Syncers.
#
# Mandatory: no
# Range: 1-100
# Default:
# StartDBSyncers=4
27、定义缓存的历史数据大小
### Option: HistoryCacheSize
# Size of history cache, in bytes.
# Shared memory size for storing history data.
#
# Mandatory: no
# Range: 128K-2G
# Default:
# HistoryCacheSize=16M
28、历史表单的缓存数据大小
### Option: HistoryIndexCacheSize
# Size of history index cache, in bytes.
# Shared memory size for indexing history cache.
#
# Mandatory: no
# Range: 128K-2G
# Default:
# HistoryIndexCacheSize=4M
29、趋势数据缓存大小
### Option: TrendCacheSize
#
# Mandatory: no
# Range: 128K-2G
# Default:
# TrendCacheSize=4M
30、用于缓存历史数据的大小,0为禁用
### Option: ValueCacheSize
# Size of history value cache, in bytes.
# Shared memory size for caching item history data requests.
# Setting to 0 disables value cache.
#
# Mandatory: no
# Range: 0,128K-64G
# Default:
# ValueCacheSize=8M
31、定义超时时间
### Option: Timeout
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=4
32、陷阱机制的超时时间
### Option: TrapperTimeout
# Specifies how many seconds trapper may spend processing new data.
#
# Mandatory: no
# Range: 1-300
# Default:
# TrapperTimeout=300
33、定义主机不可达的超时时间
### Option: UnreachablePeriod
# After how many seconds of unreachability treat a host as unavailable.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnreachablePeriod=45
34、在主机不可用期间,定期检查主机的时间
### Option: UnavailableDelay
# How often host is checked for availability during the unavailability period, in seconds.
# Mandatory: no
# Range: 1-3600
# Default:
# UnavailableDelay=60
35、在主机被监控期间检查的时间
### Option: UnreachableDelay
# How often host is checked for availability during the unreachability period, in seconds.
# Mandatory: no
# Range: 1-3600
# Default:
# UnreachableDelay=15
36、自定义报警脚本的路径,默认值取决于编译选项
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=
/usr/lib/zabbix/alertscripts
37、外部脚本的路径,默认值取决于编译选项
### Option: ExternalScripts
# Full path to location of external scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# ExternalScripts=${datadir}/zabbix/externalscripts
ExternalScripts=
/usr/lib/zabbix/externalscripts
38、执行
ping
检查时fping命令路径,fping可并行执行
### Option: FpingLocation
# Location of fping.
# Make sure that fping binary has root ownership and SUID flag set.
#
# Mandatory: no
# Default:
# FpingLocation=/usr/sbin/fping
39、V6
### Option: Fping6Location
# Location of fping6.
# Make sure that fping6 binary has root ownership and SUID flag set.
# Make empty if your fping utility is capable to process IPv6 addresses.
#
# Mandatory: no
# Default:
# Fping6Location=/usr/sbin/fping6
40、使用密钥为SSH登录认证
### Option: SSHKeyLocation
# Location of public and private keys for SSH checks and actions.
#
# Mandatory: no
# Default:
# SSHKeyLocation=
41、数据库查询时间,0为不登录慢速查询
### Option: LogSlowQueries
# How long a database query may take before being logged (in milliseconds).
# Only works if DebugLevel set to 3, 4 or 5.
# 0 - don't log slow queries.
#
# Mandatory: no
# Range: 1-3600000
# Default:
# LogSlowQueries=0
LogSlowQueries=3000
42、临时目录
### Option: TmpDir
# Temporary directory.
#
# Mandatory: no
# Default:
# TmpDir=/tmp
43、代理服务器拉取数据
### Option: StartProxyPollers
# Number of pre-forked instances of pollers for passive proxies.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartProxyPollers=1
44、用于被动模式的proxy,由sercer端发送配置信息
### Option: ProxyConfigFrequency
# How often Zabbix Server sends configuration data to a Zabbix Proxy in seconds.
# This parameter is used only for proxies in the passive mode.
#
# Mandatory: no
# Range: 1-3600*24*7
# Default:
# ProxyConfigFrequency=3600
45、用于被动模式的proxy,由sercer端拉取数据
### Option: ProxyDataFrequency
# How often Zabbix Server requests history data from a Zabbix Proxy in seconds.
# This parameter is used only for proxies in the passive mode.
#
# Mandatory: no
# Range: 1-3600
# Default:
# ProxyDataFrequency=1
46、禁止root用户运行zabbix,0为禁止
### Option: AllowRoot
# Allow the server to run as 'root'. If disabled and the server is started by 'root', the server
# will try to switch to the user specified by the User configuration option instead.
# Has no effect if started under a regular user.
# 0 - do not allow
# 1 - allow
#
# Mandatory: no
# Default:
# AllowRoot=0
47、禁止root用户后使用的普通用户
### Option: User
# Drop privileges to a specific, existing user on the system.
# Only has effect if run as 'root' and AllowRoot is disabled.
#
# Mandatory: no
# Default:
# User=zabbix
48、yum安装zabbix时创建的目录
### Option: Include
# You may include individual files or all files in a directory in the configuration file.
# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
# Include=/usr/local/etc/zabbix_server.general.conf
# Include=/usr/local/etc/zabbix_server.conf.d/
# Include=/usr/local/etc/zabbix_server.conf.d/*.conf
49、web监测时所用SSL协议证书路径
### Option: SSLCertLocation
# Location of SSL client certificates.
# This parameter is used only in web monitoring.
#
# Mandatory: no
# Default:
# SSLCertLocation=${datadir}/zabbix/ssl/certs
50、web监测时所用SSL协议密钥路径
### Option: SSLKeyLocation
# Location of private keys for SSL client certificates.
# This parameter is used only in web monitoring.
#
# Mandatory: no
# Default:
# SSLKeyLocation=${datadir}/zabbix/ssl/keys
51、web监测或SMTP身份认证
### Option: SSLCALocation
# If not set, system-wide directory will be used.
# This parameter is used only in web monitoring and SMTP authentication.
#
# Mandatory: no
# Default:
# SSLCALocation=
####### LOADABLE MODULES #######
52、模块路径
### Option: LoadModulePath
# Full path to location of server modules.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# LoadModulePath=${libdir}/modules
53、模块支持库的路径
### Option: LoadModule
# Format: LoadModule=
# The modules must be located in directory specified by LoadModulePath.
# It is allowed to include multiple LoadModule parameters.
#
# Mandatory: no
# Default:
# LoadModule=
54、CA证书的路径
### Option: TLSCAFile
# Full pathname of a file containing the top-level CA(s) certificates for
# peer certificate verification.
#
# Mandatory: no
# Default:
# TLSCAFile=
55、吊销证书的路径
### Option: TLSCRLFile
# Full pathname of a file containing revoked certificates.
#
# Mandatory: no
# Default:
# TLSCRLFile=
56、服务器证书文件
### Option: TLSCertFile
# Full pathname of a file containing the server certificate or certificate chain.
#
# Mandatory: no
# Default:
# TLSCertFile=
57、服务器密钥文件
### Option: TLSKeyFile
# Full pathname of a file containing the server private key.
#
# Mandatory: no
# Default:
# TLSKeyFile=
|
一般情况下,脚本路径可更改使用外,其余高级配置默认即可;如有需要,可自行更改配置。
3.7 启动zabbix-server
1
|
[root@node7 ~]
# systemctl start zabbix-server
|
4、配置php,并启动httpd服务
1
2
3
4
5
|
[root@node7 ~]
# vim /etc/httpd/conf.d/zabbix.conf
php_value
date
.timezone Asia
/Shanghai
[root@node7 ~]
# systemctl start httpd.service
此时确认iptanles规则放行或禁用,并关闭selinux
|
5、配置agent端,最少指出其server端地址,server端可配置多个
1
2
|
[root@node7 ~]
# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,192.168.1.20
|
6、登录web界面http://192.168.1.20/zabbix,初始用户名密码admin/zabbix,看到如下界面,即配置成功
6.1 配置zabbix-web连接数据库
6.2 成功登录