Linux Zabbix监控

 Linux Zabbix 监控

zabbix 监控系统:

    zabbix 是基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。 zabbix 有两部分组成, zabbix server 与可选组件 zabbix agent 。 zabbix server 可以通过 snmp 、 zabbix agent 、 ping 端口监视等方法提供对远程主机服务器网络状态的监视,数据收集等功能,它可以运行在 Linux , Solaris , HP-UX , AIX , FreeBSD , OpenBSD , OS X 等平台上。

监控系统 :硬件监控、软件监控、业务监控

采样 : sensor

存储 :

数据:历史数据、趋势数据;

   展示

报警 :

被监控对象 :主机、交换机、路由器、 UPS 、 …

采样 :周期性地获取某个关注指标相关的数据;  

监控系统采集数据通道:

ssh/telnet

agent :较为理想的监控系统采集数据通道;

master/agent

IPMI :

SNMP : Simple Network Management Protocol (简单网络管理协议)

v1, v2c (community, public) , v3

JMX : Java Management eXtension

JVM: Java Virtual Machine    

存储系统:

历史数据:每次采样的结果,保存时长较短;

趋势数据:聚合数据,保存时长较长周期内的数据;

存储系统:

关系型数据库: MySQL, PGSQL, Oracle, …

rrd : RoundRobin Database (轮循数据库)时间序列数据库

NoSQL : redis/mongo

时间序列数据库

报警:

邮件、短信、微信

脚本

展示:

WebGUI

GUI

APP

开源监控项目:

cacti, nagios 两者结合使用 ;

zabbix :采样、存储、报警、展示都可以;

ganglia

zabbix 版本:

Version:

LTS : Long Time Support (长期维护版)

zabbix 3.0 版本(长期维护版)

zabbix 特性:

数据采样: snmp, agent, ipmi, jmx;

      注:如果监控的是主机我们应优先采用 agent 数据采样;

报警:

升级:步进

数据存储:

mysql/pgsql :关系型数据库;

展示: php 程序

实时绘图: graph, screen, slide show, map

支持监控模板

网络自动发现

分布式监控

API :支持二次开发

zabbix 程序组件:

zabbix_server :服务端守护进程;

zabbix_agentd : agent 守护进程;

zabbix_proxy :代理服务器,可选;

zabbix_database :存储系统, MySQL/PGSQL

zabbix_web: Web GUI

zabbix_get :命令行工具,测试向 agent 端发起数据采集请求;

zabbix_sender :命令行,测试向 server 端发送数据;

zabbix_java_gateway : java 网关;

zabbix 逻辑组件:

主机组( host groups )

主机( hosts )

应用( applications )

监控项( items )

触发器( triggers )

事件( events )

动作( actions ):条件( conditions )和操作( operations )

媒介( media ):发送通知的通道;

通知( notifications )

远程命令( remote command )

报警升级( escalation )

模板( template )

图形( graph )

屏幕( screens )

幻灯( slide show )

zabbix 3.x 版本:

zabbix Server 端安装的软件: zabbix-server-mysql 、 zabbix-get 、 mysql

Web Gui : zabbix-web, zabbix-web-mysql

zabbix 被监控主机端安装的软件:: zabbix-agent, zabbix-sender

Proxy : zabbix_proxy

安装 zabbix 监控服务端:

实验环境:

zabbix-server 服务器 IP 地址: 192.168.3.101

安装 zabbix3.0 版本;

在 zabbix server 端安装 mariadb 数据库,安装 httpd 、 php 及相关的 php 组件,安装 zabbix-server-mysql ,安装 zabbix-agent ;

注意:如果是在生产环境中,建议将 zabbix-sever 、 mariadb 、 webGUI 都各自按在不同的主机上。

1 )安装 zabbix database :

2 )配置 数据库服务:

3) 启动 mariadb 数据库并设置开机自启动:

4) 设置 mariadb 数据库的安全配置:

5 )使用 root 用户输入密码进入数据库并创建 zabbix 数据库和授权用户 zbxuser 可以远程连接访问 zabbix 数据库中的所有内容:

创建数据库 zabbix 数据库并使用 utf8 字符集:

授权远程用户 zbxuser 用户可以通过 192.168.3.0 网络访问 zabbix 数据中的所有表:

6 ) 安装 zabbix-server-mysql 和 zabbix-get :

注意:安装 zabbix-server-mysql 时需要依赖到 epel 源中的程序包如下:

  iksemel-1.4-6.el7.x86_64.rpm

fping-3.10-4.el7.x86_64.rpm

zabbix-server-mysql 程序环境:

配置文件: /etc/zabbix/zabbix_server.conf

Unit File : zabbix-server.service

7 )导入数据库脚本,以生成数据库环境:

 zabbix 的数据库脚本文件:

/usr/share/doc/zabbix-server-mysql-3.0.2/create.sql.gz

解压 zabbix 的数据库脚本文件到当前目录下:

导入数据库脚本,以生成数据库环境:

注意: zabbix 2.2 版本的 sql 脚本有三个,需要依次导入;

zabbix server 主配置文件:

通用配置相关的参数:

ListenPort=10051  zabbix 默认监听的端口;

SourceIP=   连接 agent 客户端使用的源 ip ;

LogType=file   使用的日志类型;

LogFile=/var/log/zabbix/zabbix_server.log  zabbix 日志默认存放的位置;

LogFileSize=0 是否启动日志滚动; 0 为禁用;

DebugLevel=3   记录日志的级别;

DBHost=localhost 数据库主机名;

DBName=zabbix    数据库名;

DBUser=zbxuser   可登录数据库使用的用户名;

DBPassword=zbxpass 登录数据库使用的密码;

DBPort=3306   数据库的端口

DBSocket=/tmp/mysql.sock

8 )配置 zabbix-server-mysql 的主配置文件:

DBHost=192.168.3.101

DBName=zabbix

DBUser=zbxuser

DBPassword=redhat

启动 zabbix-server 服务并开机自启动:

注意:如果安装的系统是 centos 系统版本是 7.1 的默认 trousers 包的的版本是 0.3.11 的版本过低启动 zabbix-server 时会报错,需要安装 trousers 0.3.12 以上的版本。

  例如: trousers-0.3.13-1.el7.x86_64.rpm

zabbix webGUI 配置:

( 1 )解决依赖关系

~]# yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml

( 2 ) 安装 web GUI

~]# yum install zabbix-web-3.0.2-1.el7.noarch.rpm zabbix-web-mysql-3.0.2-1.el7.noarch.rpm

( 3 )配置 php 时区参数

(a) php.ini

(b) /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai

( 4 )启动 web 服务

~]# systemctl start httpd.service

( 5 )访问 web

http://HOST/zabbix

安装后生成的配置文件: /etc/zabbix/web/zabbix.conf.php

登录的管理员:

admin/zabbix

( 6 )菜单:

Monitoring :查看监控

Inventory :主机清单

Reports :监控报告

Configuration :配置监控项

Administration :管理 zabbix 监控

9 )安装 http php 相关的程序包及组件:

10) 安装 webGUI

11) 编辑 /etc/httpd/conf.d/zabbix.conf

12) 启动 httpd 服务并开机自启动:

13) 使用 web 访问 zabbix :

配置 zabbix 数据库连接:

zabbix agent 安装配置:

( 1 )安装

~]# yum install zabbix-agent-3.0.2-1.el7.x86_64.rpm  zabbix-sender-3.0.2-1.el7.x86_64.rpm

程序环境:

配置文件: /etc/zabbix/zabbix_agentd.conf

Unit File : zabbix-agent.service

( 2 )配置

# grep -i "^####" zabbix_agentd.conf

############ GENERAL PARAMETERS #################

##### Passive checks related    被动监控相关的配置

##### Active checks related      主动监控相关的配置

############ ADVANCED PARAMETERS #################

####### USER-DEFINED MONITORED PARAMETERS #######   用户自定义的监控参数, UserParamter

####### LOADABLE MODULES #######

####### TLS-RELATED PARAMETERS #######

##### Passive checks related

Server=IP1,IP2,…   监控端主机 ip 地址;

ListenPort=10050   默认监听端口;

ListenIP=0.0.0.0   表示监听本机的所有地址;

StartAgents=3   

##### Active checks related

ServerActive=IP1,IP2,…   监控端主机 ip 地址;

Hostname=HOST-ID    指明 zabbix-server 的主机名;

( 3 )启动服务

# systemctl start zabbix-agent.service

webGUI 配置监控

快速配置一个监控项:

hostgroups –>host –> applications –> item –> triggers (events 事件 ) –> action (condtions 条件 , operations 操作 ) –> 发送通知 —> operations : remote command (执行远程命令) –> alert (报警) —–>graph—->screen—->slideshow

主机组 — 》主机 — 》应用 —- 》监控向 —- 》触发器 — 》事件 —- 》动作 — 》条件 —- 》操作 —- 》通知 —- 》执行远程命令 — 》报警升级 —- 》图表 —– 》屏幕 —— 》幻灯

item –> simple graph

items –> graph

grapps –> screen

screens –> slide show

item : item key

zabbix agent 安装配置 实例

    实验环境:

在 192.168.3.8 被监控主机上安装 zabbix-agent 和 zabbix-sender :

把 192.168.3.101 主机上的 zabbix-agent 包和 zabbix-sender 包复制到 192.168.3.8 主机的 /root 目录下。

1 )在 192.168.3.8 被监控主机上安装 zabbix-agent 和 zabbix-sender :

 

2 )配置 zabbix-agent 主配置文件:

##### Passive checks related

### Option: Server

Server=192.168.3.101

### Option: ServerActive

ServerActive=192.168.3.101

### Option: Hostname

Hostname=centos7.1

3 )启动 zabbix-agent 服务并开机自启动:

先测试一下在 zabbix-server 端使用 zabbix_get 命令手动获取一下 system.cpu.switches 数据:

4) 在 webGUI 中配置监控 CPU 上下文切换次序的监控项:

(3) Monitoring—— 》 Latest data——- 》 SelectHost—– 》 Filter—– 》 Graph (图表)

Graph (图表)示例:

zabbix 监控配置:

host group –> host –> application –> item (simple graph) –> trigger (event)

action(condition, operation)

graph –> screen –> slide show

item : item key

item 的值有两类:

zabbix 内建:

zabbix agent :被动模式下专用的 key

zabbix agent(active) :主动模式下专用的 key

用户自定义( UserParamter )

采集到的数据类型:

数值:

整数

浮点数

字符型:

string :字符串

text :文本

log :日志

存储的值:

As is :不对数据做任何处理,存储采集到的数据本身;

Delta(simple change) :本次采样的数据减去前一次采样的数据;

Delta(speed per second): 本次采样的数据减去前一次采样的数据,再除以经过的时长;速率数据;

使用 zabbix_get 命令执行用户自定义 key 参数:收集被监控主机上网卡接受和发送字节大小:

在 zabbix webGUI 中配置用户自定义 key 参数的 items :

触发器:

逻辑表达式,阈值,通常用于定义数据的不合理区间; 条件满足时, TRUE ,表示 PROBLEM 状态,反之,则 OK 状态;

OK –> PROBLEM

Recovery : PROBLEM –> OK

{:.()}

触发器间可存在依赖关系;

在 zabbix webGUI 中配置触发器:

点击 Hosts—- 》点击要配置的主机名中的 Triggers—— 》点击右上角的 Createtrigger—- 》到达如下界面:

使用模板选项生成触发器逻辑表达式:

使用模板选项生成触发器逻辑表达式结果:

现在我们点击 Monitoring—– 》 Latest data—— 》 inboud packets ( item ) —– 》 graph 会看到如下图表:

现在我们点击 Monitoring—– 》 Events :可以查看到事件从 OK— 》 PROBLEM— 》 OK ,如下图:

媒介类型( Media Types ):

报警信息的传递方式;

类型:

Email :邮件,需要定义发件人邮箱地址和 SMTP 服务器;

Script :自定义脚本,此脚本有发送信息至相关用户的功能;

SMS 、 Jabber 、 Ez Texting

接收通知信息者为 zabbix 的用户:需要为用户定义对应各种媒介通道的接收方式;

localmail :

script:

Action 动作:

conditions :触发此动作的条件,一般通过“事件”触发;

operations :触发条件满足时要采取的动作;

send message :发送信息

功能:发报警信息给关联的用户;

( 1 )可用传递方式:

(a) Email

(b) script :报警脚本

位于 server 主机的 AlertScriptsPath 参数定义的目录下,默认为 /usr/lib/zabbix/alertscripts ;

zabbix 调用脚本时会向其传递参数; 3.0 之前的版本通过

$1 :消息接收人;

$2 :消息主题;

$3 :消息主体;

3.x 之后的版本,此三个参数默认不再传递,需自行定义; 可以使用宏来模拟此前的行为:

{ALTET.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

注意:每个信息接收人相对于此媒介来说,得配置相应的接收地址;

发信息的信道:

邮件

脚本

remote command :执行远程命令

功能:

在 agent 所在的主机上运行用户指定的命令或脚本来尝试着恢复故障;例如:

重启服务;

任何由用户自定义的脚本;

在 zabbix webGUI 上配置监控 nginx 服务及故障时采取的 action (条件、操作)

条件: net.tcp.listen[80] 监控 nginx 的 80 端口是否正常;

操作: 1 、重启服务 2 、发送邮件给管理员;

1)点击 Hosts—— 》点击要配置的主机名中的 items——- 》点击 Create item—– 》如下图:

2) 配置 web server item (监控项)的 trigger 触发器:

点击 Hosts—— 》点击要配置的主机名中的 trigger—– 》 Createtrigger 如下图:

3) 配置邮件报警通知媒介类型和收件人地址:

点击 Administration— 》点击 Media types (媒介类型) —- 》点击右上角 Create Media types— 》

配置邮件收件人地址:

点击 Administration— 》点击 Users—– 》点击 Media—- 点击 Add 如下图 :

4) 点击 Actions—– 》点击 Create action 如下图:

配置 Conditions (条件):

配置 Operations (操作):基于 ssh 执行 remote command :

配置 Operations (操作):基于自定义脚本 sudo 执行 remote command :

由于第二次操作使用了 sudo 权限,所以要在远程被控主机上要给 zabbix 用户授权执行 systemctl 命令的权限:

在监控主机上配置 /etc/zabbix/zabbix_agentd.conf 主配置文件允许远程主机执行命令:

重新 zabbix-agent.service 服务:

配置 Operations (操作):添加邮件通知报警服务:

到此 action 动作已经配置完成:

注: action 名称和 trigger 名称不小心重名了。

测试 action 动作:

停止远端被监控主机的 nginx 服务:

在上图中时间我们可得知: nginx 故障持续了 5 秒中就已经恢复了,也就是说在 action 第一步 ssh 远程重启就成功了。

定义邮件报警脚本:

点击 Administration—– 》点击 Mediatype——- 》点击右上角的 CreateMediatype 如下图:

配置邮件收件人地址:

点击 Administration— 》点击 Users—– 》点击 Media—- 点击 Add 如下图 :

在名称为 web server down 的 actions 中的 Operations 中添加脚本报警邮件:

已添加成功:

这时我们还需在 /usr/lib/zabbix/alertscripts/ 目录下定义一个脚本文件:

给脚本加上执行权限:

现在需重启 zabbix-server 服务,使其重新加载 mailscript 脚本文件:

测试 sendmail.sh 脚本文件是否能正常发送邮件:

( 1 )修改远程被监控主机上的 nginx 的监听端口为: 8080

( 2 )重新启动远程被监控主机的 nginx 服务;

测试结果如下:

恢复故障后邮件:

配置 Graphs 图表:

   点击 Configuration—— 》 Hosts—— 》点击选择要配置 graphs 的主机点击 Graphs— 》点击右上角的 Create graph 如下图:

配置 screen 图表:

依照上面的上面的方法多创建几个 graphs 如下图:

点击 Monitoring—- 》点击 Screens—– 》点击创建 Create screen 如下图:

点击下图中的 Constructor :

点击 Change 添加图表:

完成结果如下:

配置 Slideshows 图表:

点击 Monitoring— 》 Screens—– 》在右上角的 screen 下拉菜单中选择 Slideshows—— 》点击 Cteate slide show 如下图:

点击 slide show 名称,进行展示幻灯片:

图表总结:

item——>graph

items—–>graph

graphs—–>screen

screens——->slide show

模板:

主机配置模板,可链接至主机,从而实现主机的快速监控配置;

模板可继承;

在模板之上 link 其它模板即可;

从主机上删除模板:

unlink :反链接

unlink and clear :反链接并清除数据;

模板可导出,也可以从指定文件导入;

创建主机监控 templates 模板:   

点击 Configuration—– 》点击 Templates—- 》点击右上角的 Create template 如下图:

创建完成的 templates 模板:这时我们就可以在上面添加 item 、 trigger 、 Graph 、 screen 等;

在 templates 模板上创建 item 、 trigger 、 Graph 、 screen 和在 zabbix webGUI 上创建进本类似,只是在模板上不能添加 hosts 。

templates 可以链接模板:

可以使一个模板聚合多个模板;

模板可以导出( Export ) / 导入( Import );

宏: MACRO

预设的文本替换模式;

宏 级别:

全局宏: Administration –> General –> Macros

模板宏: Configuration –> Templates –> TEMPLATE –> Macros

主机宏: Configuration –> Hosts –> HOST –> Macros

宏类型:

内建: {MACRO_NAME}      内建宏不能使用 $ 符;

自定义: {$MARCRO_NAME}     自定义宏必须使用 $ 符;

自定义宏命名方式:大写字母、数字和下划线;

网络发现 hosts :

zabbix server 扫描指定网络范围内的主机;

发现方式:

ip 地址范围:

可用服务探测( ftp, ssh, http, … )

zabbix_agentd 的响应对某个 key 的请求;

snmp_agent 响应;

一旦发现某主机,就会产生发现事件;

事件有 8 类:

Host, Service

Up/Down, Discovered/Lost

发现操作分两步:

discover :发现

actions:

conditions :条件

operations :操作

可采取的动作:

send message, remote command

add/remove host

enable/disable host

add host to group

link template to host

在 zabbix-server 上配置网络发现:

    点击 Configuration—- 》点击 Discovery—- 》点击右上角的 create discovery rule 如下图:

定义 actions :

点击 Configuration—- 》点击 Actions—– 》在 Event source 下拉菜单中选择 Discovy—— 》点击 Create ation 如下图:

点击 Monitoring—- 》点击 Events—— 在右上角 Source 下拉菜单中选择 Discovery 如下图:

点击 Configuration —- 》点击 Hosts 如下图:

zabbix-agent 端设置自定义 key :

自定义 key :在 zabbix agent 端的配置文件中由用户通过 UserParameter 指令定义用户自定义参数;

UserParamter=,

UserParamter=, $1…$9

注意:类似 awk 命令自带 $1…$9 ,需要改写为 $$1, $$2, …$$9 ;

在 zabbix-agent 端的主配置文件中:

UnsafeUserParameter=0|1 等于 0 表示禁止使用不安全的符号, 1 表示可以使用不安全的符号;

不安全符号: " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @

UserParameter=   定义 key 值

示例( 1 ):

在 zabbix-agent 端设置自定义的用户参数 key :去获取内存的可用空间;

在 zabbix-agent 端设置完自定义用户参数 key 后需要重启服务:

在 zabbix-server 端使用 zabbix_get 工具获取一下 zabbix-agent 端的空闲内存:

示例( 2 )

在 zabbix-agent 端设置自定义的用户参数 key 并传递位置参数,去获取相应的值:

在 zabbix-agent 端设置完自定义用户参数 key 后需要重启服务:

在 zabbix-server 端使用 zabbix_get 工具获取一下 zabbix-agent 端相应的值:

示例:

   使用 脚本 自定义用户参数 key

配置 nginx 默认配置文件中的 nginx 状态 location :

在 zabbix-agent 端编写 userparamenter 脚本:

在 zabbix-agent 端设置自定义的用户参数 key 脚本传递参数:

在 zabbix-server 端测试结果:

主动 / 被动 检测:

被动监控:

Server=

主动监控:

ServerActive=

Hostname=

基于 SNMP 监控:

SNMP :简单网络管理协议;基于 UDP 协议;

读 (get, getnext), 写 (set) , 陷阱( trap )

161/udp(agent), 162/udp

snmp v1: 1989

snmp v2c: 1993

snmp v3: 1998

MIB: Management Information Base

OID: Object ID

基于 SNMP 监控主机:

1 )在被监控主机上安装 snmp 软件包:

net-snmp.x86_64 1:5.7.2-24.el7   : snmp 服务包

net-snmp-utils.x86_64 1:5.7.2-24.el7 : snmp 客户端工具包

在 zabbix-agent 端编辑 snmp 的配置文件:

启动 snmp 服务:

使用 snmpwalk 命令获取主机名:

zabbix-server 添加基于 snmp 监控主机:

点击 Configuration—- 》点击 Hosts— 》点击 Create host 如下图:

给主机 centos7.1 添加基于 snmp 的监控 template 模板:

点击 Configuration—- 》点击 Hosts—– 》点击主机 centos7.1—— 》点击 Templates 如下图:

配置基于 snmp 的 item 时最需要注意的是:

监控交换机或打印的时候,在交换机或打印机上开启 snmp 服务,查看说明书看它们支持什么 OID 进行添加即可。

配置 zabbix proxy :

实验环境:

zabbix-server  ip : 192.168.3.101 ;

zabbix-proxy   ip : 192.168.3.7 ;

zabbix-agent   ip : 192.168.3.9 ;

1 )安装数据库服务:

启动 mariadb 服务并开机自启动:

设置 mariadb 数据库的安全配置:

创建 zabbix_proxy 数据库并授权远程用户:

2) 从 zabbix-server 中拷贝 zabbix-proxy-mysql 和 zabbix-get 安装包到 192.168.3.7 的 /root 目录下:

3) 在 zabbix-proxy 中安装 zabbix-proxy-mysql 和 zabbix-get :

    注意: 安装时需要依赖到 epel 源中的 fping-3.10-4.el7.x86_64.rpm 同时也把 zabbix-agent 包安装上。

4 )解压 /usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql.gz

5) 重定向 /usr/share/doc/zabbix-proxy-mysql-3.0.2/schema.sql 到 zabbix_proxy 数据库中:

6 )编辑 zabbix-proxy 的主配置文件

### Option: Server

Server=192.168.3.101

### Option: Hostname

Hostname=centos7     //zabbix-proxy 服务器的名称;

### Option: DBHost

DBHost=192.168.3.7   //mariadb 服务器名;

### Option: DBName

DBName=zabbix_proxy  // 数据库名称;

### Option: DBUser

DBUser=zabbix        // 数据库用户名;

### Option: DBPassword

DBPassword=redhat     // 数据库密码;

### Option: ConfigFrequency (频率)

ConfigFrequency=600    // 设置 zabbix-server 多久向 zabbix-proxy 推送配置;

### Option: DataSenderFrequency

DataSenderFrequency=1     // 设置数据发送频率;

启动 zabbix-proxy 服务并开机自启动:

7) 在 zabbix-server 的 webGUI 界面添加 zabbix-proxy 服务:

点击 Administration—— 》点击 Proxies—– 》点击 Create proxy 如下图:

点击 Add 之后到达如下界面:

配置被监控主机:

在被监控主机上安装 zabbix-agent 和 zabbix-sender 软件包:

把 192.168.3.101 主机上的 zabbix-agent 包和 zabbix-sender 包复制到 192.168.3.9 主机的 /root 目录下。

1 )在 192.168.3.8 被监控主机上安装 zabbix-agent 和 zabbix-sender :

2 )配置 zabbix-agent 主配置文件:

##### Passive checks related

### Option: Server

Server=192.168.3.7

### Option: ServerActive

ServerActive=192.168.3.7

### Option: Hostname

Hostname=192.168.3.7

3 )启动 zabbix-agent 服务并开机自启动:

先测试一下在 zabbix-server 端使用 zabbix_get 命令手动获取一下 system.cpu.switches 数据:

在 zabbix-server webGUI 上配置被监控主机 192.168.3.9 :

点击 Configuration—– 》点击 Hosts—– 》点击 Createhost 如下图:

在 zabbix-server webGUI 中配置完使用 zabbix-proxy 主机( zbxproxy )后的 Hosts 效果:

在主机 zbxproxy 上配置一个 item 监控项:

点击 Configuration—– 》点击 Hosts—— 》点击选择 zbxproxy 主机 —- 》点击 item—– 》点击 Createitem 如下图:

在 zabbix-server webGUI 中配置完主机( zbxproxy ) item 监控项后的效果:

在 zabbix-server webGUI 中查看监控结果:

注意:

(1) 在 server 添加的 Proxy 的名称,要与 proxy 的配置文件中 Hostname 的值保持一致;

(2) 通过 proxy 监控的主机, agent 要授权 proxy 有监控权限;

server=Proxy_Server_IP

zabbix performance tuning :

NVPS : New Value Per Second

100w/m, 15000/s

zabbix 服务器进程数量调整:

alerter, discoverer, escalator, http poller, housekeeper, poller, trapper, configration syncer, ipmi poller, …

StartPollers=50

StartPingers=10

StartDBSyncers=2

数据库优化:

分表:

history_*

trend*

events*

建议:

Database :历史数据不要保存太长时间;尽量让数据缓存数据库服务器内存中;

触发器的表达式:减少使用 min(), max(), avg() ;尽量使用 last(), nodata() ;

数据收集: polling 较慢时,减少使用 snmp/agentless/agent, 尽量使用 trapping 方式,即 agent(active) ;

数据类型:文本型数据处理速度较慢,尽量少收集类型为 text 或 string 或 log 型的数据,多使用 numeric 型数据;

  • 版权声明: 本文源自互联网, 于3个月前,由整理发表,共 13197字。
  • 原文链接:点此查看原文