zabbix 简介

  Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利
zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
zabbix主要由2部分构成zabbix server和zabbix agent,可选组建zabbix proxy
zabbix server可以通过SNMP,zabbix agent,fping端口监视等方法对远程服务器或网络状态完成监视,数据收集等功能。同时支持Linux以及Unix平台,Windows平台只能安装客户端
 

Zabbix 功能

  ①具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制) 
  ②支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现) 
  ③支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本) 
  ④支持分布式,能集中展示、管理分布式的监控点 
  ⑤扩展性强,server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现)编写插件容易,可以自定义监控项,报警级别的设置。 
  ⑥数据收集 
 可用和性能检测 
 支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET 
 自定义的检测 
 自定义收集数据的频率 
 服务器/代理和客户端模式 
 灵活的触发器 
 可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值 
 高可定制的报警 
 发送通知,可定制的报警升级,收件人,媒体类型 
 通知可以使用宏变量有用的变量 
 自动操作包括远程命令 
 实时的绘图功能 
 监控项实时的将数据绘制在图形上面 
 WEB 监控能力 
 ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间

Api 功能 
  应用api功能,可以方便的和其他系统结合,包括手机客户端的使用。 
更多功能请查看 
http://www.zabbix.com/documentation.php

 

Zabbix版本

Zabbix 3.0 Manual 
Zabbix 2.4 Manual 
Zabbix 2.2 Manual 
Zabbix 2.0 Manual 
下载地址:http://www.zabbix.com/documentation.php 
本次采用yum安装,安装zabbix3.0.使用Centos7

 

Zabbix优缺点

优点 
 1、开源,无软件成本投入 
 2、Server 对设备性能要求低 
 3、支持设备多,自带多种监控模板 
 4、支持分布式集中管理,有自动发现功能,可以实现自动化监控 
 5、开放式接口,扩展性强,插件编写容易 
 6、当监控的item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从 
 7、server 端去下载需要监控的item 然后取数据上传到server 端。这种方式对服务器的负载比较小。 
 8、Api 的支持,方便与其他系统结合 
缺点 
  需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库

 

Zabbix监控原理

  Zabbix 通过C/S 模式采集数据,通过B/S模式在web 端展示和配置。 
被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据 
Server 端:通过收集SNMP 和agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过php+apache 在web 前端展示。

 

Zabbix 运行条件

Server:Zabbix Server 需运行在LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP),对硬件要求低 
Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、 
windows 
SNMP:支持各类常见的网络设备 
SNMP(Simple Network Management Protocol,简单网络管理协议

Zabbix监控过程逻辑图 

 

监控类型

硬件监控 适用于物理机、远程管理卡(iDRAC),IPMI(只能平台管理接口) 
ipmitools:,MegaCli(查看Raid磁盘) 
系统监控: 监控cpt:lscpu、uptime、top、vmstat 1 、mpstat 1、htop 
监控内存: free -m、 
**监控硬盘:**df -h、iotop 
**监控网络:**iftop、netstat、ss 
**应用服务监控:**nfs、MySQL、nginx、apache、php、rsync 
更详细的监控类型可以参考:http://www.abcdocker.com/abcdocker/1376

 

引入zabbix

所有监控范畴,都可以整合到Zabbix中 
   硬件监控:Zabbix、IPMI、lnterface 
   系统监控:Zabbix、Agent、Interface 
   Java监控:Zabbix、JMX、lnterface 
   网络设备监控:Zabbix、SNMP、lnterface 
   应用服务监控:Zabbix、Agent、UserParameter 
   MySQL数据库监控:percona-monitoring-plulgins 
   URL监控:Zabbix Web监控 

 

二、Zabbix 环境配置

1、环境信息

 
  1. [root@localhost ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.2.1511 (Core)
  3. [root@localhost ~]# uname -r
  4. 3.10.0-327.28.3.el7.x86_64

2、yum安装 
阿里云yum源已经提供了zabbix3.0,因此我们需要使用官方yum源。官方yum源下载会比较慢

 
  1. [root@localhost ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

问题:为什么要下载release版本的zabbix?

 
  1. [root@localhost ~]# ls /etc/yum.repos.d/
  2. CentOS-Base.repo CentOS-Media.repo epel.repo.rpmnew
  3. CentOS-CR.repo CentOS-Sources.repo epel-testing.repo
  4. CentOS-Debuginfo.repo CentOS-Vault.repo zabbix.repo
  5. CentOS-fasttrack.repo epel.repo

因为下载这个版本会在yum.repos.d下面生成一个zabbix.repo的文件

3、安装相关软件包

 
  1. [root@localhost ~]# yum install zabbix-server zabbix-web zabbix-server-mysql zabbix-web-mysql mariadb-server mariadb -y
  2. 注:如果Server端也需要监控则需要安装zabbix-agent

提示:在Centos7中,mysql改名为mariadb

4、修改PHP时区设置

 
  1. [root@localhost ~]# sed -i 's@# php_value date.timezone Europe/Riga@php_value date.timezone Asia/Shanghai@g' /etc/httpd/conf.d/zabbix.conf
  2. #要注意需要改的配置文件是/etc/httpd/conf.d/zabbix.conf而不是/etc/php.ini,
 

三、数据库设置

1.启动数据库

 
  1. [root@localhost ~]# systemctl start mariadb

2.创建zabbix数据库及用户

 
  1. mysql
  2. create database zabbix character set utf8 collate utf8_bin;
  3. grant all on zabbix.* to zabbix@'localhost' identified by '123456';
  4. exit

3.导入数据

 
  1. [root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.4/
  2. [root@localhost zabbix-server-mysql-3.0.4]# ll
  3. total 1836
  4. -rw-r--r-- 1 root root 98 Jul 22 11:05 AUTHORS
  5. -rw-r--r-- 1 root root 687803 Jul 22 11:05 ChangeLog
  6. -rw-r--r-- 1 root root 17990 Jul 22 11:06 COPYING
  7. -rw-r--r-- 1 root root 1158948 Jul 24 02:59 create.sql.gz
  8. -rw-r--r-- 1 root root 52 Jul 22 11:06 NEWS
  9. -rw-r--r-- 1 root root 188 Jul 22 11:05 README
  10. [root@localhost zabbix-server-mysql-3.0.4]# zcat create.sql.gz |mysql -uzabbix -p123456 zabbix

我们使用zcat,专门查看sql.gz包。和cat基本相似

4.修改zabbix配置文件

 
  1. [root@localhost zabbix-server-mysql-3.0.4]# vim /etc/zabbix/zabbix_server.conf
  2. DBHost=localhost #数据库所在主机
  3. DBName=zabbix #数据库名
  4. DBUser=zabbix #数据库用户
  5. DBPassword=123456 #数据库密码

5.启动zabbix及apache

 
  1. [root@localhost ~]# systemctl start zabbix-server
  2. [root@localhost ~]# systemctl start httpd
  3. 注意:如果没有启动成功,要看一下是不是80端口被占用

6.Web界面安装master 
访问地址:http://192.168.56.11/zabbix/setup.php 

点击Next step进行安装 

首先要确保没有no,如果时区没有改好会提示我们进行修改 

账号密码都是我们刚刚在配置文件中设置的,端口默认就是3306 

为我们的zabbix起个名字,一会在右上角会显示 

最后是展示我们的配置信息,可以查看到哪里有错误 

点击Finish 

提示:上去之后请立即修改密码

7.配置zabbix-agent端

 
  1. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. Server=127.0.0.1 修改Server端的IP地址(被动模式IP地址)
  3. ServerActive=127.0.0.1 主动模式,主动向server端报告
  4. [root@localhost ~]# systemctl start zabbix-agent

查看端口号

 
  1. [root@localhost ~]# netstat -lntp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 7806/mysqld
  5. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1062/sshd
  6. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2208/master
  7. tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11511/zabbix_agentd
  8. tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 11335/zabbix_server
  9. tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 2692/snmpd
  10. tcp6 0 0 :::80 :::* LISTEN 11408/httpd
  11. tcp6 0 0 :::22 :::* LISTEN 1062/sshd
  12. tcp6 0 0 ::1:25 :::* LISTEN 2208/master
  13. tcp6 0 0 :::443 :::* LISTEN 11408/httpd
  14. tcp6 0 0 :::10050 :::* LISTEN 11511/zabbix_agentd
  15. tcp6 0 0 :::10051 :::* LISTEN 11335/zabbix_server
  16. 10051为server端口,10050为agent端口
 

四、Web界面配置

找到Configuration---->Hosts 添加一台监控主机 

开启后,如果出现错误我们可以看一下zabbix的日志

 
  1. [root@localhost ~]# ls /var/log/zabbix/zabbix_
  2. zabbix_agentd.log zabbix_server.log


当ZBX变成绿色的时候,说明监控成功。因为我们没有配置SNMP、JMX、IPMI等。所以我发监控 

因为我们现在只安装了一台服务器,所以只有一个主机。我们可以查看现在这台主机的CPU等及基本的信息 

点击Monitoring-----Graphs,选择我们要监控的内容 

我们选择可以随便选择一个进行查看信息 
例如:我们查看CPU的负载 

  某一段时间内,CPU正在处理以及等待CPU处理的进程数的之和。Load Average是从另一个角度来体现CPU的使用状态的。 
  这些监控其实就是zabbix在数据库查找数据,然后使用jd进行画图 
Zabbix性能依赖于mysql数据库

 

五、Zabbix页面安全设置

1、设置默认账号密码 


  设置完中文 

 

六、Zabbix 菜单说明

Zabbix 上方的菜单简单介绍说明 

Doshboard下面可以设置你想设置的图形,添加方法如下: 


  这时,就可以找到你喜爱的了,直接打开 

screens其实就是一个聚合图形,可以把多个图片合在一起。然后放在大屏幕上,供别人查看 

maps就是一个架构图 

Status of Zabbix就是一个状态栏 

 第一行是Server是否运行[yes]和后面的运行地址 
 第二行监控的机器 (启用的/关闭的/模板) 
 第三行监控项 (启用的/关闭的/不支持的) 
 第四行触发器的状态 (启用的/关闭的/【故障/正常】) 
 第五行 当前用户数量 (在线数量) 
 第六行 zabbix每秒可以收到的一个新值

告警的级别 

我们可以设置报警响铃,让他在前端响 


我们首页的监控列表是可以随意拖动的 

我们还可以将它关闭,并且设置刷新时间 

Zabbix 基础完!

Zabbix 3.0 基础介绍 [一]的更多相关文章

  1. 1.Zabbix 3.0 基础

    请查看我的有道云笔记: http://note.youdao.com/noteshare?id=85046af7675851675679a47beadc7aa3&sub=000AB0B2409 ...

  2. _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  3. 『心善渊』Selenium3.0基础 — 24、Selenium的expected_conditions模块详细介绍

    目录 1.EC模块介绍 2.EC模块常用类 3.EC模块的使用 4.EC模块综合使用 (1)title_is(title)示例 (2)presence_of_element_located(locat ...

  4. Zabbix3.0基础教程之一:系统监控,zabbix安装与基本配置

    一.安装环境: 系统环境: 系统版本:CentOS Linux release 7.4.1708 (Core) 内核版本:3.10.0-693.el7.x86_64 关闭Firewall与SELinu ...

  5. zabbix自动化监控基础

    zabbix安装配置文档 2 一 zabbix-server 安装配置(基础配置) 2 二 zabbix agent安装配置 5 2.1 主动模式和被动模式 6 2.2 安装配置zabbix_agen ...

  6. 源码安装和配置zabbix 3.0 LST

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  7. Zabbix 5.0 LTS版本的安装小结

    Zabbix 5.0 LTS版本的安装小结   1:准备Zabbix的服务器. 这里可能需要一台或多台服务器,视需求和资源而定.也可以将Zabbix_Server.MySQL.Zabbix Web等安 ...

  8. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  9. C++ 迭代器 基础介绍

    C++ 迭代器 基础介绍 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定 ...

随机推荐

  1. 一天工作所用到的Git命令

    一天工作所用到的Git命令 像大多数新手一样,我一开始是在网上搜索 Git 命令,然后把答案复制粘贴,并没有真正理解它们究竟做了什么. 后来我曾经想过:"如果有一个最常见的 Git 命令的列 ...

  2. Java限流策略

    概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃.此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待.排队. ...

  3. C# WinForm DataGridView让DataPropertyName支持复杂属性

    首先给Grid添加BindingSource,类型为BindingForForm2.或者设置Grid的DataSource为IEnumerable<BindingForForm2>. Bi ...

  4. jQuery实现用户输入自动完成功能

    jQuery实现用户输入自动完成功能 利用jQuery UI中Auto-complete插件实现输入自动完成功能,大家在使用诸如淘宝.京东等电商平台搜索商品时,往往只要输入商品的一些特殊字符,就可以显 ...

  5. 网页授权——扫二维码获取openid

    最近做微信公众平台开发项目时遇到这样一个功能需求:生成一个特定url的二维码,用户扫描二维码后跳转到这个url指定的页面,并在这个页面获得用户的openid.这个功能主要涉及到两方面的技术:生成二维码 ...

  6. How the Intelligent Digital Mesh Will Transform Every Business Layer

    The "intelligent digital mesh" is the definitive package for tomorrow's titans of business ...

  7. 从零使用Python测试。Testing Using Python.

    0. 写在前面 本人使用Python测试已有多年,略有些皮毛经验.每次有新员工入职,都会从头教一遍如何入门上手使用Python进行测试.趁这段有空,整理成文档,也好方便后续新员工学习.文章如有不妥之处 ...

  8. Vue源码后记-vFor列表渲染(1)

    钩子函数比较简单,没有什么意思,这一节搞点大事情 => 源码中v-for的渲染过程. vue的内置指令包含了v-html.v-if.v-once.v-bind.v-on.v-show等,先从一个 ...

  9. Kotlin实现LeetCode算法题之Two Sum

    LeetCode介绍 LeetCode是算法练习.交流等多功能网站,感兴趣的同学可以关注下(老司机请超车).页面顶部的Problems菜单对应算法题库,附带历史通过滤.难易程度等信息. 未来计划 打算 ...

  10. MySQLbase

    /*多行注释*/-- 单行注释-- 创建用户: CREATE USER '用户名'[@'主机名'] IDENTIFIED BY '密码'-- 主机名可以为空,省略主机名表示默认权限为%, 所有主机都可 ...