一.环境准备 1.安装kafka Step 1: 下载代码 你可以登录Apache kafka 官方下载.http://kafka.apache.org/downloads.html备注:2.11-1.1.0版本才与JDK1.7兼容,否则更高版本需要JDK1.8 Step 2: 启动服务 运行kafka需要使用Zookeeper,所以你需要先启动Zookeeper,如果你没有Zookeeper,你可以使用kafka自带打包和配置好的Zookeeper(PS:在kafka包里). //这是前台启动…
一.监控思路 通过zabbix trapper方式监控,之前看到网友们都是通过定时任务进行主动上传数据,但是,zabbix还有另外一神器--自动发现,也能达到同样的功能. 二.实现步骤 1.准备脚本 https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-template-zookeeper/zookeeper-monitor-lld.py 2.安装依赖包 #Centos6 rpm -ivh http://re…
一.环境 zabbix版本:3.0 二.脚本说明 .├── rabbitmq.template.xml   模板文件├── scripts  │   └── rabbitmq│   ├── api.py   主要脚本,通过rabbitMQ API获取数据和发送数据│   ├── list_rabbit_nodes.sh   │   ├── list_rabbit_queues.sh│   ├── list_rabbit_shovels.sh│   └── rabbitmq-status.sh├─…
一.分布式架构 相信使用zabbix的大神都熟悉他的分布式架构,分布式的优势相当明显,分而治之.比如目前我的架构图如下: 那么,对将要接入监控系统的任何一个agent如何快速定位,并进行接入呢?  问题分析: 1.目标IP定位 2.目标IP定位后,可能有些是纯内网环境(比如DB机器) 3.proxy管辖范围 4.被管辖目标和管辖者范围确定后,具体用什么方法实现? 解决办法: 1.目标IP基本上是可控的,因为我们自己有哪些IP网段,在CMDB里面一查便知: 2.对于纯内网环境,由于机器无法直接出外…
一.基础篇(安装和接入) Zabbix实战-简易教程--总流程  Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端安装 Zabbix实战-简易教程--Proxy和Agent端安装(源码和yum方式) Zabbix实战-简易教程--Server端高可用 Zabbix实战-简易教程--Agent批量快速接入 二.进阶篇(使用和配置) Zabbix实战-简易教程--添加Host Zabbix实战-简易教程--监控项(…
3.4 server前端高可用    至此,单台Zabbix server环境已经搭建完成,为了达到高可用效果,我们需要通过2台服务器之间通过HA软件进行探测,一旦检测到主的server挂掉后,从的server会立即顶替.我们这里采用keepalived软件来实现. 具体架构参考:Zabbix实战-简易教程(2)--整体架构图 3.4.1 Keepalived安装 直接yum安装即可 Yum install keepalived 3.4.2 keepalived配置 Master上的keepal…
一.安装 agent 1.1 Agent分布 1.2 Agent安装 基础模板安装方法: wget -qO- http://zbxinstall.168.com:18888/base/agent-install-2.2.4.sh |/bin/bash #注:后面会详细介绍如何快速批量或在初始化时快速添加主机的实现.   二. web界面添加主机 安装agent后,在web界面上添加主机,选择模板或者添加监控项,等待几分钟后,就可以通过最新数据获取对应监控项数据了.下面以图文为主,进行第一台主机添…
一.需求背景 网络工程师需要对OSPF进行监控,需求如下: 1.状态展示 OSPF区域状态 OSPF接口状态 OSPF邻居状态 2.问题报警 触发器设置: a.OSPF区域状态  b.OSPF接口状态  c.OSPF邻居状态 不是full状态就报警   二.准备工作 1.新建mapping(3个:SNMP OSPF Admin Status.SNMP OSPF Area Status.SNMP OSPF Neighbor State (ospfNbrState)) 2.导入模板(Template…
一.概述 自动发现(LLD)提供了一种在为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项.(LLD) 此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控项.(根据正则过滤) 二.类型 在Zabbix中,支持六种类型的发现项目: 系统文件的发现: 网络接口的发现: CPU和CPU内核的发现 SNMP OID的发现 使用ODBC SQL查询的发现 Windows服务的发现 三.流程 发…
使用场景 当你需要将一组主机的某个指标进行统计时,zabbix聚合就派上用场了.例如:你要将Mysql组的所有/data分区的已用空间进行统计,你就可以使用zabbix聚合的grpsum函数进行统计. 语法 聚合监控项Key的语法是:groupfunc["host group","item key",itemfunc,timeperiod] 支持的组函数(groupfunc)有: 组功能 描述 grpavg 平均值 grpmax 最大值 grpmin 最小值 grp…
一.术语 1.1 Item概念 Item是从主机里面获取的所有数据.通常情况下 item称为监控项,例如我们host加入了 zabbix 监控,我们需要监控它的内存.CPU信息,那么获取的CPU或内存的这个元素就是 item,也就是监控项. 每个item 由 key[参数1,参数2,参数3,参数n]组成. 比如:监控项中需要获取主机信息,则需要一个对应的监控 key:system.hostname.如果是获取网卡流量,那么获取网卡这个监控项需要 key:net.if.in 或者 net.if.o…
Zabbix触发器函数学习 本文主要讲述zabbix触发器函数. 1.abschange 参数:缺省 值类型:float, int, str, text, log 返回值解析: Returns absolute difference between last and previous values. For strings: 0 - values are equal 1 - values differ `abschange函数` 对于数字类型的处理方式:返回最后一个值和倒数第二个值的绝对不同,也…
一.概述 Zabbix支持许多在多种情况下使用的宏.宏是一个变量,由如下特殊语法标识:MACRO 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在一个的典型用途中,宏可以用于模板中.因此,模板的触发器可能命名为“{HOST.NAME}的mysql{#MYSQLPORT} 端口已宕掉,请注意查看!”. 当这个模板应用在主机( 飞龙在天roledb-192.168.1.100)时,并且当触发器展示在监控页面上时,触发器的名称将解析为“飞龙在天roledb-192.168.1.100的my…
一.安装错误 1.zabbix 安装故障之无法跳到下一步或点击下一步没反应 执行命令:chownnginx:nginx /var/lib/php/session/ -R   2.proxy上无法采集交换机数据 yum install net-snmp net-snmp-utils   3.2.2.4升级到3.0,提示缺少参数HistoryIndexCacheSize  21076:20160714:115534.776 [file:dbcache.c,line:2610] zbx_mem_rea…
1.模板概念 场景:比如你老板给你一个任务:有100台机器需要监控他的OS性能(CPU/内存/磁盘IO/网络),都是同样的监控项200个,上午需要添加完成,并且检查监控项的信息是否准确.这时你会怎么操作?是一台一台主机添加么? 答案肯定是:不.一台台手工添加,猴年马月才能加完. 解决办法就是:模板. 模板的概念类似函数,比如你每次都重复写一段代码,而且使用的地方也别频繁,这时你就需要把这段代码做成一个块,然后用一个简短的名称代替他,使用这段代码的时候,直接写这个简短的名称就行,这样你是不是既省时…
一.ClickHouse介绍 Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS). 传统数据库在数据大小比较小,索引大小适合内存,数据缓存命中率足够高的情形下能正常提供服务.但残酷的是,这种理想情形最终会随着业务的增长走到尽头,查询会变得越来越慢.你可能通过增加更多的内存,订购更快的磁盘等等来解决问题(纵向扩展),但这只是拖延解决本质问题.如果你的需求是解决怎样快速查询出结果,那么ClickHouse也许可以解决你的问题. 应用场景: 1.绝…
一.开启Nginx status状态 1.在默认主机里面加上location添加ngx_status 如下操作: server { listen 127.0.0.1:8080; server_name 127.0.0.1; access_log off; location /nginxstatus { stub_status on; access_log off; allow 127.0.0.1; deny all; } 2.重启nginx服务,service nginx restart,查看取…
一.需求 项目要求对线上服务器进行监控,包括服务器本身状态.进程相关数据.业务相关数据. 服务器本身状态可以通过基础模板即可获取数据(CPU.内存.网络.磁盘): 进程相关数据,前面也有相关文章专门监控http://www.cnblogs.com/skyflask/articles/8007162.html 所以只剩下业务相关数据了.而业务数据需要紧贴业务,所以需要程序那边提供接口,把数据吐出来,然后我这边接受获取,进行监控. 于是,向程序提出需求,将你要监控的业务数据以json格式吐出来,剩下…
一.需求提出 最近数据中心有一个新的需求,有一批后台任务需要在每天固定时间点运行(凌晨8:00),现在希望能够把这个任务执行的结果定时上报给他. 说明:执行的任务为一个sql查询,查询出来的是每个任务相关的信息:比如任务名称.任务主机.结果成功数.结果失败数.平均执行时间.总执行时间..... 二.需求分析 根据需求,我们需要对其进行详细分析: a.数据提取.(sql编写,然后通过脚本对sql结果进行解析,并把结果的关键数据进行处理) b.订阅实现.(通过zabbix根据结果的特征进行每日定时上…
一.主动模式和被动模式介绍 要监控日志,必须使用主动模式,那么,什么是主动模式?什么是被动模式呢? 1.主动模式和被动模式 主动模式 主动模式通讯过程: ● Agent打开TCP连接(主动检测变成Agent打开) ● Agent向Server请求items检测列表 ● Server返回items列表 ● Agent 处理响应 ● 关闭TCP连接 ● Agent开始收集数据 主动检测提交数据过程 ● Agent建立TCP连接 ● Agent提交items列表收集的数据 ● Server处理数据,并…
一.概述 Zabbix提供了有效和非常灵活的网络自动发现功能. 设置网络发现后你可以: 加快Zabbix部署(自动添加主机.添加模板) 简化管理(自动删除主机.删除模板.禁用主机) 无需过多管理就能在快速变化的环境中使用Zabbix Zabbix可以根据以下条件自动发现设备: IP范围(根据IP网段.指定IP地址发现主机) 可用的外部服务(FTP,SSH,WEB,POP3,IMAP,TCP等) 来自 zabbix agent 的信息(仅支持未加密模式) 来自 snmp agent 的信息 Zab…
一.概述 我们通过接入agent,采集了大量数据,但是如果采集到的某个指标超出了我预计的范围(阈值),此时我们希望监控系统能够给予邮件或短信报警,触发器就是替你干这个活的. 触发器表达式允许定义一个什么状况的数据是“可接受”的阈值.因此,如果接收的数据超过了可接受的状态,则触发器会被触发 - 或将状态更改为PROBLEM. 一个触发器可以拥有下面几种状态: 二.配置 1.了解触发器概念后,我们来进行第一个触发器的配置,点击  配置管理-->配置动作: 2.事件源选择 触发器-->创建动作: 3…
序 玩zabbix已经几年了,一直想分享一些相关的使用经验和心得,但是总以各种借口而拖延,最近准备重新整理,记录一些实际工作环境中的示例,一方面希望能够帮助正在学习或者正在寻找这方面资料的朋友,另一方面也是记录一下自己的学习轨迹,俗话说得好,好记性不如烂笔头.人的大脑总是有限的,一些东西如果当时不记录下来,可能很快就忘记了.HOHO 总流程 环境安装->添加hosts/items/模板->获取items->入库.存档->对比触发器阈值->触发报警->执行动作->建…
一.DB安装环境 主机角色 主机IP VIP 操作系统版本 软件版本 DB Master A 192.168.1.97 (主从) CentOS 6.5 64bit mysql-5.6.21 DB Slave B 192.168.1.98 CentOS 6.5 64bit mysql-5.6.21 二.架构图 架构详见图中的数据存储层部分:http://www.cnblogs.com/skyflask/p/7499789.html 三.Mysql安装(源码) 1. 创建目录和安装依赖包 提前规划好…
在数据库安装完成后,接着开始安装server端了.我们这里采用yum安装. 3.2.0 安装需求 ● PHP 5.6.18 ● curl 7.47.1 ● zabbix_server (Zabbix) 3.0.0 ● zabbix_agentd (daemon) (Zabbix) 3.0.0 3.2.1 安装rpm源(zabbix3.0.php5.6.php5.6-fpm) #安装zabbix3.0yum源 yum clean allrpm -ivh http://repo.zabbix.com…
3.3.1 zabbix proxy安装(源码方式) 1.创建目录 mkdir -p /usr/local/zabbix 2.安装必要软件 yum install -y fping(若安装不成功) 或 wget http://pkgs.repoforge.org/fping/fping-3.1-1.el6.rf.i686.rpm yum install -y gcc make cmake mysql-server mysql-devel php php-gd php-devel php-mysq…
Zabbix Maintenance 一.Zabbix Maintenance(zabbix告警屏蔽) 很多时候,我们需要在某段时间更新维护线上环境,这个时候你是已知触发器会引发报警,所以此时你可以提前通过zabbix的维护模式来进行主动屏蔽报警. 配置也很简单,下面就进行详细讲解: 1.选择 配置管理-->告警屏蔽 2.创建,点击 创建维护区间 3.设置--告警屏蔽全局设置 4.设置--维护时长 5.设置--维护对象 6.效果图 总结: 1.处于维护中的主机,告警信息还是会报出来,但是不会触发…
一.概述 之前已经讲述了自动发现功能,自动注册和自动发现非常类似,但是比自动发现更精确.因为自动注册,是在Agent上自定义元数据,然后Agent将元数据发送给server进行匹配,如果匹配一致,则进行下一步的动作(添加主机.模板之类的操作),所以从流程上来说,自动注册比自动发现更加精确. 二.配置 1.指定服务器 在agent配置文件中指定Zabbix server - zabbix_agentd.conf ServerActive=1.0.0.1 如果你没有在zabbix_agentd.co…
一.正则表达式(Regx) 1.概述 正则表达式概念就不解释了.请参考:https://en.wikipedia.org/wiki/Regular_expression#POSIX_extended 在zabbix中,正则表达式经常使用的地方应该就是LLD,比如,你发现的网卡或磁盘有一大堆,但是有一些不是你想要的.比较典型的比如lo(回环地址),VLAN.Tunnel.InLoopBack0.NULL0等交换机网口,这时,你就可以通过正则表达式进行过滤掉. 2.配置 1.点击 基础配置 2.选择…
一.拓扑图(Maps) 二话不说,有图有真相,先看看效果,再详细讲解配置过程: 图1:全国网络质量图 图2 核心机房网络质量图 二.详细配置 1.添加  map 选择 系统管理-->基础配置--> 图片 2.点击  创建图标 -->上传文件 导入图标完成后,效果如下: 3.点击  拓扑图  --> 创建拓扑图  或 导入 4.编辑 拓扑图,并选择  添加 ,会出来一个图片,然后我们可以选择刚刚上传的  全国地图,如下图所示: 5.选择完成后,点击  应用,效果如下: 6.下一步,同…