You are on page 1of 36

ZABBIX在证券行业的实践

• 杨帆,广州证券开源监控系统负责人
1 证券运维环境介绍

2 监控实践案例
目录
contents

3 ZABBIX监控整体优化

2
1 证券运维环境介绍

3
证券运维特点
可用性要求高
根据《证券期货业信息安全事件报告与调查处理办法》
(证监会公告[2012]46号,简称《46号公告》),将信息安
全事件分为特别重大事件、重大事件、较大事件、一般
事件四类。

对接机构多

沪深交易所、中国结算、中国结算各分部、中证金
融、股转、上证通、深证通... 还有各种银行。

系统种类繁多
各式各样的交易系统(集中交易,两融,O32,OTC,估值,自
营等等);各类交易网关。

运维操作复杂
初始化连接各市场核心机构的网关.例如交易所、
登记公司、深证通。为各类业务系统、中间件、小
站,清库下载并装载行情信息。 5
监控系统要求
高效
监控快速配置;高
效数据采集;高效图 实时
表展示;
实时告警通知,秒
监控系统 级告警对接。

准确
准确高质量告警, 可扩展
不漏报,不误报。
易横向、纵向扩展、
分散压力。

6
监控架构
1
3

7
ZABBIX部署架构

8
监控范围

主机监控 网络监控
✓ H3C ✓ Check Point ✓ NetScreen
✓ LINUX
✓ Hillstone ✓ Cisco ✓ A10 Networks
✓ WINDOWS ✓ Juniper ✓ Fortinet ✓ Arista Networks

数据库监控 中间件
✓ ORACLE ✓ TOMCAT
✓ SQL SERVER
✓ MYSQL ✓ IBM Websphere

虚拟化监控 应用监控
✓ VMWARE虚拟化 ✓ Ad拨测
✓ Mail发信监控
✓ 外围用户登录监控
✓ HTTP 监控

9
监控范围
2 监控实践案例

11
监控实践案例
监控策略优化
➢ 监控配置工具
➢ 告警变频监控
➢ 毫秒轮询监控

功能扩展
➢ 定时任务触发
➢ AD拨测
➢ 高仿Elastalert

UI展示

➢定制图形展示
➢历史数据管理
监控配置工具

• 1套业务系统20个组件 == 20个模板
• 50套业务系统 == 1000个模板

13
监控配置工具

1、数据来源
IP 进程 连通端口

192.168.1.1 httpd 192.168.99.1:80

192.168.1.2 rsyncd 192.168.99.1:80

192.168.1.3 hexininfo 192.168.99.1:80


自动发现

2、API调用
监控配置工具

pip install pyzabbix 安装python 模块


1、数据来源

zapi.hostinterface.get IP地址转换hostid

2、API调用 创建监控项
zapi.item.create

zapi.trigger.create 创建触发器
告警变频监控
• {t1.zabbix.com:service_check.last(#3)}=0
• 轮询周期 30S

第一次轮询 第二次轮询 第三次轮询

告警触发时间:60秒
固定轮询
0s 30s 60s

第一次轮询 第二次轮询 第三次轮询

告警触发时间:6秒
变频监控
0s 5s 6s

保证告警准确不误报情况下,告警触发时间缩短接近1分钟。
16
变频监控实现过程

触发器配置 item 类型 告警级别 表达式


被动模式 Information {t1.zabbix.com:service_check.last()}=0
(zabbix agent)

采集器 Disaster {t1.zabbix.com:server_check_trapper.last(#2)}=0


(zabbix trapper)
info告警

action

Action配置

trapper item

disaster 告警

17
变频监控触发过程


5秒





60秒

18
毫秒轮询监控

Zabbix_get

Zabbix_sender

Zabbix支持轮询周期最低是1s。 实现毫秒级监控
毫秒轮询监控

Zabbix_get

Zabbix_sender

SELECT clock as time_sec ,MAX(`value`) as value , ‘最大值’ as metric FROM history WHERE itemid = 40640 and $__unixEpochFilter(clock) GROUP BY clock,itemid

SELECT clock as time_sec ,AVG(`value`) as value , '平均值' as metric FROM history WHERE itemid = 40640 and $__unixEpochFilter(clock) GROUP BY clock,itemid

SELECT clock as time_sec ,MIN(`value`) as value , '最小值' as metric FROM history WHERE itemid = 40640 and $__unixEpochFilter(clock) GROUP BY clock,itemid
20
监控实践案例
监控策略优化
➢ 监控配置工具
➢ 告警变频监控
➢ 毫秒轮询监控

功能扩展
➢ 定时任务触发
➢ AD拨测
➢ 高仿Elastalert

UI展示

➢定制图形展示
➢历史数据管理
定时任务触发
• 通过时间触发器与action方式来调用定时任务。
触发器 触发时间

{Template App Zabbix Agent:agent.ping.time()}=200000 20点00分00秒



发 {Template App Zabbix Agent:agent.ping.date()}=20181007 2018年10月7日

{Template App Zabbix Agent:agent.ping.dayofmonth()}=12 12月份

{Template App Zabbix Agent:agent.ping.dayofweek()}=2 星期二




22
AD拨测
• 通过pyhon的ldap模块连接

pip install ZabbixSender pip install ldap py模块安装

ldap 连接

Zabbix_sender

数据发送

连接成功返回1,连接失败返回2
23
高仿Elastalert
apache日志 tomcat日志 应用日志 XXX日志

访问次数

Kibana 成功率

elastic-stack
Elasticsearch
告警
响应时间

响应率

Beat Lostash 访问速率

XXX
高仿Elastalert

组件 功能 是否付费
X-Pack X-Pack是一个Elastic Stack的扩展,将安 收费
全,警报,监视,报告和图形功能包含
在一个易于安装的软件包中。
Elastalert Elastalert是Yelp公司用python写的一个 免费
报警框架。

➢ 安装配置复杂
➢ 需要多维护一套监控系统
➢ 告警接口还要再对接一次
➢ 不能和zabbix监控数据结合

25
高仿Elastalert

查询es数据

zabbix_sender

返回结果处理

Sender发送

26
监控实践案例
监控策略优化
➢ 监控配置工具
➢ 告警变频监控
➢ 毫秒轮询监控

功能扩展
➢ 定时任务触发
➢ AD拨测
➢ 高仿Elastalert

UI展示

➢定制图形展示
➢历史数据管理
定制图形展示

Graphtree zatree
定制图形展示

http://x.x.x.x/dashboard/db/graph_1?refresh=1m&orgId=6&var-hostid=10197
历史数据管理

抽取 存储 展示

sqoop Apache Impala


3 ZABBIX监控整体优化
1.告警优化

告警误报 告警风暴
虚拟化集群故障

核心网络设备故障

存储设备故障
核心业务故障
........

✓ 阀值优化 ✓ 告警依赖
✓ 多监控项结合 ✓ 告警压制
✓ 变频监控

33
2.监控历史数据优化
• 关闭housekeeping
• 历史数据表按天分区
• 转移历史数据
• 硬件升级SSD

提高系统效率 让数据更加丰富多彩

34
加入Zabbix中国社区

扫码入群 关注公众号 关注微博


Thank you!

You might also like