前言php
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix组件主要分两个: zabbix-server和zabbix-agent。支持的监控协议有ICMP,IPMI,SNMP,HTTP以及zabbix协议(zabbix协议是最常使用的协议用来监控各被监控端)。
收集的数据存放在数据库中,数据库支持mysql,oracle等等。
第三个组件:zabbix web gui这个接口提供web页面来监控和管理各被监控端。
第四个组件:zabbix proxy(实现分布式监控专用组件非必要组件,被监控服务器超过一千以上可使用此组件。)html
本次实验逻辑架构以下前端
相关组件介绍node
zabbix_get进程去客户端收集数据,
zabbix_agentd进程经过监听在一个套接字上接收
zabbix_get的请求,经过zabbix_sender将
数据收集发送给服务器端,数据保存在zabbix数据库中,
zabbix_get这种方法主要用于测试,经过写脚本或远程执行命令的方式。
zabbix server本身自动会周期性的去被监控端收集数据,收集哪些数据在服务器端事先定义。
zabbix server ,zabbix database,zabbix web gui 能够部署在一台服务器上,为了提高性能能够放在不一样主机上。python
zabbix一些经常使用术语mysql
host(主机):要监控的网络设备,可由IP或DNS名称指定
host group(主机组):主机的逻辑容器,能够包含主机和模板,但同一个组内的主机和模板不能互相连接;主机组一般在给用户或用户组指派监控权限时使用(大体了解下就能够了)。
item(监控项):这个从名字上能够理解,具体要监控哪些指标由它定义。
trigger(触发器):就是超过了定义的合理范围,这家伙就会报警。
event(事件):这都是触发器产生的。
action(动做):对事件如何应对,好比要执行哪些操做。
escalation(报警升级):若是在定义的5分钟没反应,从warning级别升到high级别,就是要提醒别人要尽快处理。
media(媒介):发送报警的手段和通道,如Email。
remote command(远程命令):预约义的命令,可在被监控主机处于某个特定条件下时自动执行。
template(模板):用于快速定义被监控主机的预设条目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能够直接连接至单个主机。(这个概念不理解不过不要紧的,只要具体会怎么操做就能够了)
application(应用):一组item的集合。
以上术语的关系能够用下图表示(大体明白就行):linux
上图中的poller这个进程就是去各客户端获取数据的。
zabbix产生的数据主要由四部分组成:
配置数据(忽略)
历史数据:50bytes
历史趋势数据: 128bytes
事件数据:130bytes
历史数据:采样生成的数据
历史趋势数据:每小时的最大值、最小值、平均值、统计
经过对以上数据的计算,能够得出咱们须要一个多大的zabbix数据库,来定制磁盘硬件。
具体算法:
假设有60000个监控项,那每秒中处理的数据就有60000/60=1000条
历史数据大小=天数X每秒钟处理的数据量X24X3600X50Bytes
趋势数据:
每个趋势128Bytes,
大小=天数X监控项X24X128Bytes
事件数据:
每一个占据130Bytes
大小:天数X86400X130(假设每秒中产生一个事件)nginx
本次实验的zabbix软件版本 c++
装下面这个版本,红框内选中的web
http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/
实验所需机器3台,系统环境以下
3台机器,一台作zabbix-server,一台做为zabbix-agent,一台做为zabbix-proxy
1
2
3
4
5
|
[root@linux-node1 ~]
# uname -rm
2.6.32-504.el6.x86_64 x86_64
[root@linux-node1 ~]
# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root@linux-node1 ~]
#
|
安装zabbix相关包
复制连接地址,下载wget
noarch代表与处理器无关,src是源码包须要编译
执行以下命令,在Zabbix Server和Zabbix Agent上
1
2
3
4
|
mkdir
/tools
-p
cd
/tools/
wget http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/6/x86_64/zabbix-release-2
.4-1.el6.noarch.rpm
rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm
|
查看这个包安装了哪些
1
2
3
4
5
6
|
[root@linux-node1 tools]
# rpm -ql zabbix-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
/etc/yum
.repos.d
/zabbix
.repo
/usr/share/doc/zabbix-release-2
.4
/usr/share/doc/zabbix-release-2
.4
/GPL
[root@linux-node1 tools]
#
|
它建立了一个zabbix.repo文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@linux-node1 tools]
# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/6/
$basearch/
enabled=1
gpgcheck=1
gpgkey=
file
:
///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http:
//repo
.zabbix.com
/non-supported/rhel/6/
$basearch/
enabled=1
gpgkey=
file
:
///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
[root@linux-node1 tools]
#
|
Zabbix Server服务器安装以下包
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@linux-node1 tools]
# yum install zabbix zabbix-server zabbix-web zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Package zabbix-2.4.8-1.el6.x86_64 already installed and latest version
Package zabbix-server-2.4.8-1.el6.x86_64 already installed and latest version
Package zabbix-web-2.4.8-1.el6.noarch already installed and latest version
Package zabbix-server-mysql-2.4.8-1.el6.x86_64 already installed and latest version
Package zabbix-web-mysql-2.4.8-1.el6.noarch already installed and latest version
Package zabbix-agent-2.4.8-1.el6.x86_64 already installed and latest version
Nothing to
do
[root@linux-node1 tools]
#
|
因为Zabbix Server把数据存到mysql里,所以还须要安装mysql相关包
1
2
3
4
5
6
7
8
|
[root@linux-node1 tools]
# yum install -y mysql-server mysql
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Package mysql-server-5.1.73-8.el6_8.x86_64 already installed and latest version
Package mysql-5.1.73-8.el6_8.x86_64 already installed and latest version
Nothing to
do
[root@linux-node1 tools]
#
|
启动mysqld
1
2
3
|
[root@linux-node1 tools]
# /etc/init.d/mysqld start
Starting mysqld: [ OK ]
[root@linux-node1 tools]
#
|
复制配置文件替换默认的
1
2
3
|
[root@linux-node1 tools]
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
cp
: overwrite `
/etc/my
.cnf'? y
[root@linux-node1 tools]
#
|
在[mysqld]模块最后加入字符集的相关参数
1
2
3
|
character-
set
-server = utf8
init-connect =
'SET NAMES utf8'
collation-server = utf8_general_ci
|
加入以后以下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[mysqld]
port = 3306
socket =
/var/lib/mysql/mysql
.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character-
set
-server = utf8
init-connect =
'SET NAMES utf8'
collation-server = utf8_general_ci
|
重启mysql
1
2
3
4
|
[root@linux-node1 tools]
# /etc/init.d/mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[root@linux-node1 tools]
#
|
登陆mysql查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
[root@linux-node1 tools]
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection
id
is 3
Server version: 5.1.73-log Source distribution
Copyright (c) 2000, 2013, Oracle and
/or
its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and
/or
its
affiliates. Other names may be trademarks of their respective
owners.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
|
test
|
+--------------------+
3 rows
in
set
(0.00 sec)
mysql>
|
官网有关于Zabbix建库相关脚本
1
2
3
4
5
6
7
8
9
|
MySQL
shell> mysql -uroot -p<password>
mysql> create database zabbix character
set
utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by
'<password>'
;
mysql> quit;
shell> mysql -uzabbix -p<password> zabbix < database
/mysql/schema
.sql
# stop here if you are creating database for Zabbix proxy
shell> mysql -uzabbix -p<password> zabbix < database
/mysql/images
.sql
shell> mysql -uzabbix -p<password> zabbix < database
/mysql/data
.sql
|
建库和受权用户操做以下
1
2
3
4
5
6
7
8
9
|
mysql> create database zabbix character
set
utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by
'zabbix'
;
Query OK, 0 rows affected (0.00 sec)
mysql>
exit
Bye
[root@linux-node1 tools]
#
|
导入脚本操做以下
1
2
3
4
5
6
7
8
9
|
[root@linux-node1 tools]
# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create/
data.sql images.sql schema.sql
[root@linux-node1 tools]
# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create/
[root@linux-node1 create]
# ls
data.sql images.sql schema.sql
[root@linux-node1 create]
# mysql -uzabbix -pzabbix zabbix <schema.sql
[root@linux-node1 create]
# mysql -uzabbix -pzabbix zabbix <images.sql
[root@linux-node1 create]
# mysql -uzabbix -pzabbix zabbix <data.sql
[root@linux-node1 create]
#
|
检查
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
|
[root@linux-node1 create]
# mysql -uzabbix -pzabbix -e 'use zabbix;show tables;'
+-----------------------+
| Tables_in_zabbix |
+-----------------------+
| acknowledges |
| actions |
| alerts |
| application_template |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
| conditions |
| config |
| dbversion |
| dchecks |
| dhosts |
| drules |
| dservices |
| escalations |
| events |
| expressions |
| functions |
| globalmacro |
| globalvars |
| graph_discovery |
| graph_theme |
| graphs |
| graphs_items |
| group_discovery |
| group_prototype |
|
groups
|
|
history
|
| history_log |
| history_str |
| history_text |
| history_uint |
| host_discovery |
| host_inventory |
| hostmacro |
| hosts |
| hosts_groups |
| hosts_templates |
| housekeeper |
| httpstep |
| httpstepitem |
| httptest |
| httptestitem |
| icon_map |
| icon_mapping |
| ids |
| images |
| interface |
| interface_discovery |
| item_condition |
| item_discovery |
| items |
| items_applications |
| maintenances |
| maintenances_groups |
| maintenances_hosts |
| maintenances_windows |
| mappings |
| media |
| media_type |
| opcommand |
| opcommand_grp |
| opcommand_hst |
| opconditions |
| operations |
| opgroup |
| opmessage |
| opmessage_grp |
| opmessage_usr |
| optemplate |
| profiles |
| proxy_autoreg_host |
| proxy_dhistory |
| proxy_history |
| regexps |
| rights |
| screens |
| screens_items |
| scripts |
| service_alarms |
| services |
| services_links |
| services_times |
| sessions |
| slides |
| slideshows |
| sysmap_element_url |
| sysmap_url |
| sysmaps |
| sysmaps_elements |
| sysmaps_link_triggers |
| sysmaps_links |
| timeperiods |
| trends |
| trends_uint |
| trigger_depends |
| trigger_discovery |
| triggers |
| user_history |
|
users
|
| users_groups |
| usrgrp |
| valuemaps |
+-----------------------+
[root@linux-node1 create]
#
|
配置文件修改
修改apache相关配置
zabbix Server默认用的apache,安装Zabbix Server时,它自动帮咱们装好了apache
修改apache配置文件里zabbix.conf文件的时区,并取消注释。这里能够vim修改,也能够采用sed替换
1
2
3
4
5
6
7
8
9
|
[root@linux-node1 conf.d]
# cd /etc/httpd/conf.d/
[root@linux-node1 conf.d]
# ls
mod_dnssd.conf php.conf README welcome.conf zabbix.conf
[root@linux-node1 conf.d]
# grep -n timezone zabbix.conf
19:
# php_value date.timezone Europe/Riga
[root@linux-node1 conf.d]
# vim zabbix.conf
[root@linux-node1 conf.d]
# grep -n timezone zabbix.conf
19: php_value
date
.timezone Asia
/Shanghai
[root@linux-node1 conf.d]
#
|
查看下相关配置
1
2
3
4
5
6
7
8
9
10
11
|
[root@linux-node1 conf.d]
# head -10 zabbix.conf
#
# Zabbix monitoring system php web frontend
#
Alias
/zabbix
/usr/share/zabbix
<Directory
"/usr/share/zabbix"
>
Options FollowSymLinks
AllowOverride None
Order allow,deny
|
看看都有哪些东西
到这个目录下ls一下,看到都是php代码。zabbix前端都是php写的
它的server端是c和c++写的
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
|
[root@linux-node1 conf.d]
# cd /usr/share/zabbix/
[root@linux-node1 zabbix]
# ls
acknow.php chart.php index.php report5.php
actionconf.php charts.php items.php report6.php
adm.gui.php conf js robots.txt
adm.housekeeper.php conf.
import
.php jsLoader.php screenconf.php
adm.iconmapping.php dashboard.php jsrpc.php screenedit.php
adm.images.php dashconf.php latest.php screens.php
adm.macros.php discoveryconf.php locale scripts_exec.php
adm.other.php discovery.php maintenance.php scripts.php
adm.regexps.php disc_prototypes.php map.php search.php
adm.triggerdisplayoptions.php events.php maps.php services.php
adm.triggerseverities.php fonts media_types.php setup.php
adm.valuemapping.php graphs.php overview.php slideconf.php
adm.workingtime.php
history
.php popup_bitem.php slides.php
api_jsonrpc.php host_discovery.php popup_httpstep.php srv_status.php
applications.php hostgroups.php popup_media.php styles
audio hostinventoriesoverview.php popup_period.php sysmap.php
auditacts.php hostinventories.php popup.php sysmaps.php
auditlogs.php host_prototypes.php popup_right.php templates.php
authentication.php host_screen.php popup_trexpr.php tr_comments.php
browserwarning.php hosts.php popup_usrgrp.php tr_events.php
chart2.php httpconf.php profile.php trigger_prototypes.php
chart3.php httpdetails.php proxies.php triggers.php
chart4.php httpmon.php queue.php tr_logform.php
chart5.php image.php report1.php tr_status.php
chart6.php images report2.php tr_testexpr.php
chart7.php imgstore.php report3.php usergrps.php
chart_bar.php include report4.php
users
.php
[root@linux-node1 zabbix]
#
|
1
2
3
|
[root@linux-node1 conf.d]
# /etc/init.d/httpd start
Starting httpd: [ OK ]
[root@linux-node1 conf.d]
#
|
修改Zabbix Server默认配置文件
由于zabbix存mysql数据,因此要改下server端的配置文件,server端和mysql打交道
1
2
3
4
|
[root@linux-node1 conf.d]
# cd /etc/zabbix/
[root@linux-node1 zabbix]
# ls
web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
[root@linux-node1 zabbix]
# vim zabbix_server.conf
|
修改DBHost 和DBName
用户名和密码
经过浏览器安装配置zabbix-server
浏览器里输入以下连接
http://10.0.1.161/zabbix
看到以下界面进行安装

给它起个名字zabbix,这是是可选的。默认端口就是10051

点击Finish自动跳转到了登陆界面
默认的用户名是Admin,密码是zabbix
登陆成功,第一件事就是改密码
zabbix server 还没运行,上面提示说明这个前端页面不只仅访问数据库,还访问zabbix server
1
2
3
|
[root@linux-node1 zabbix]
# /etc/init.d/zabbix-server start
Starting Zabbix server: [ OK ]
[root@linux-node1 zabbix]
#
|
Zabbix Server自己也要监控本身
接下来运行一个agent端,先修改agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
启动agent
1
2
3
4
|
[root@linux-node1 ~]
# vim /etc/zabbix/zabbix_agentd.conf
[root@linux-node1 ~]
# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
[root@linux-node1 ~]
#
|
zabbix的web界面介绍
一些仪表盘解释
Actions 是故障了要通知,怎么通知呢,在这里配置
好比配置发短信,发邮件,还能配置让它执行命令,好比reboot
screens是一些图片效果
slide shows是幻灯片,好比你有3个大屏,可是只有一个屏幕,你可让它来回切换
Maps 你能够作一个架构图
Discovery 和自动化部署有关,
IT services :sla(SLA:Service-Level Agreement的缩写,意思是服务等级协议),好比我保证网站可用率 99%。(管理体系相关)你今年的sla达标了么等


1
2
3
4
5
6
|
[root@linux-node1 ~]
# netstat -lntp |grep 100
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 5846
/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 5692
/zabbix_server
tcp 0 0 :::10050 :::* LISTEN 5846
/zabbix_agentd
tcp 0 0 :::10051 :::* LISTEN 5692
/zabbix_server
[root@linux-node1 ~]
#
|
也可使用lsof命令查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@linux-node1 ~]
# lsof -i:10050
COMMAND PID USER FD TYPE DEVICE SIZE
/OFF
NODE NAME
zabbix_ag 5846 zabbix 4u IPv4 24785 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5846 zabbix 5u IPv6 24786 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5848 zabbix 4u IPv4 24785 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5848 zabbix 5u IPv6 24786 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5849 zabbix 4u IPv4 24785 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5849 zabbix 5u IPv6 24786 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5850 zabbix 4u IPv4 24785 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5850 zabbix 5u IPv6 24786 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5851 zabbix 4u IPv4 24785 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5851 zabbix 5u IPv6 24786 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5852 zabbix 4u IPv4 24785 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 5852 zabbix 5u IPv6 24786 0t0 TCP *:zabbix-agent (LISTEN)
[root@linux-node1 ~]
# lsof -i:10051
|
JMX 监控jvm的
IPMI监控硬件的。监控IPMI性能比较差,常常获取不到数据
监控项多了可能会慢,好比监控一项。温度,就不用监控风扇了。风扇不转了温度确定上来了
Proxy:表示zabbix支持分布式的。
enabled勾选的话,表示打开监控。监控Zabbix Server,也能够不勾选,返回界面以后点击Enable

宏
它在作snmp监控的时候用,简单来讲,就是给一个变量设置一个值
主机资产,zabbix提供了一个资产管理的功能,默认是关闭状态,能够选manual手动填,也能够选
Automatic自动,在建立items的时候,能够把获得的值映射到资产里面,这个功能比较鸡肋,好比下面网卡只有两个,我服务器要是4个网卡呢
点击就启用了

application和item以及graph介绍
application相似items监控项的监控组,就是组的概念
监控间隔。60秒
历史保留的天数7天
趋势图保留的天数,365天
点一下enabled就把这一项关闭了,关闭后就不监控这一项了
若是有个东西老报警。你就能够把它关闭了

鼠标放触发器上,看到条件表达式,每五分钟,超过300 什么值就报警

添加node2到监控里
在linux-node2上装zabbix客户端
1
2
3
4
5
|
mkdir
/tools
-p
cd
/tools/
wget http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/6/x86_64/zabbix-release-2
.4-1.el6.noarch.rpm
rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm
yum
install
zabbix-agent -y
|
自定义监控和图表
zabbix服务端是不支持windows的,只有客户端支持windows
下面地址能够下载windows客户端监控。
它是个exe文件,配置个zabbix.conf文件
它有2个参数须要注意下
http://www.zabbix.com/download2
修改linux-node2的Zabbix agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
启动agent
1
2
3
|
[root@linux-node2 tools]
# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
[root@linux-node2 tools]
#
|
另外让它开机启动,能够选择加入rc.local
1
2
|
[root@linux-node2 ~]
# echo "/etc/init.d/zabbix-agent start" >>/etc/rc.local
[root@linux-node2 ~]
#
|

以下

host-name这里必须写正确的,显示的名称能够随便写,可是建议规范点
选择模板
模板里带有好多监控项,触发器,图形。由于模板太多了。上百个,就搞成搜索的了
搜索linux
上面的是基于agent监控的,下面是基于snmp监控的,就不用装agent了
等一会变绿色了
在监控里查看主机是否有数据了
选择主机
经过拖动这里也能够改变时间范围,查看历史数据
点击这里能够隐藏下面的Zoom时间栏
这个agent ping 不是icmp的ping,而是经过agent ping的。agent发个请求看它返回不返回


自定义监控项并加入到监控页面上
以上都是模板带的监控项,如何自定义一个监控项呢
自定义监控项有2个步骤
一、改配置文件,在里面写上自定义的监控项
二、web页面加上

获取命令以下
1
2
3
4
5
|
[root@linux-node2 ~]
# uptime
06:29:23 up 22 min, 1 user, load average: 0.00, 0.00, 0.00
[root@linux-node2 ~]
# uptime | awk -F ' ' '{print $5}'
1
[root@linux-node2 ~]
#
|
修改linux-node2的配置文件
vim /etc/zabbix/zabbix_agentd.conf
修改下面地方
逗号隔开
保证这个key在整个系统是惟一的,command能够换成脚本
另外这个用户自定义的参数返回值最大是512KB,不能超过这个
UserParameter=login-user,uptime |awk -F ' ' '{print $4}'
这里注意下,下面截图是错的,应该是$4
保存,重启
1
2
3
4
5
|
[root@linux-node2 ~]
# vim /etc/zabbix/zabbix_agentd.conf
[root@linux-node2 ~]
# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@linux-node2 ~]
#
|
服务端测试下可否获取这个客户端自定义的值
zabbix-get命令。以前没装,补上
1
2
3
|
[root@linux-node1 ~]
# zabbix_get
-
bash
: zabbix-get:
command
not found
[root@linux-node1 ~]
# yum install zabbix-get -y
|
查看帮助用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[root@linux-node1 ~]
# zabbix_get
usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>
[root@linux-node1 ~]
# zabbix_get --help
Zabbix get v2.4.8 (revision 59539) (20 April 2016)
usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>
Options:
-s --host <host name or IP> Specify host name or IP address of a host
-p --port <port number> Specify port number of agent running on the host. Default is 10050
-I --
source
-address <IP address> Specify
source
IP address
-k --key <key of metric> Specify key of item to retrieve value
for
-h --help Display help information
-V --version Display version number
Example: zabbix_get -s 127.0.0.1 -p 10050 -k
"system.cpu.load[all,avg1]"
[root@linux-node1 ~]
#
|
获取方式以下
1
2
3
|
[root@linux-node1 ~]
# zabbix_get -s 10.0.1.162 -k login-user
1
[root@linux-node1 ~]
#
|
客户端克隆一个会话,服务端继续取值,这就是一个自定义的key,固然你里面写什么均可以
1
2
3
|
[root@linux-node1 ~]
# zabbix_get -s 10.0.1.162 -k login-user
2
[root@linux-node1 ~]
#
|
get命令获取成功,才能加。准备加到web上
点击进去
点击Items,显示以下
点击右上角的Create item
name能够和key不同,可是key必须是以前设置的,右边select是选择系统自带的key
Data type 中decimal是10进制的意思
units 是单位的意思。zabbix默认会把1000换算成1k的
若是勾选这里,上面的数会乘以文本框里的东西
不过重要的key建议设置5分钟,太频繁没什么用,反而引发zabbix性能降低
下面设置了就如下面为准

描述的东西能写最好写


点击Add




有数据了

点击+ 能够加入到收藏里,而后在仪表盘查看

