CentOS7安装Zabbix3.0版本应用

一、Zabbix介绍
       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、环境信息

[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@localhost ~]# uname -r3.10.0-327.28.3.el7.x86_64

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

[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?

[root@localhost ~]# ls /etc/yum.repos.d/CentOS-Base.repo       CentOS-Media.repo    epel.repo.rpmnewCentOS-CR.repo         CentOS-Sources.repo  epel-testing.repoCentOS-Debuginfo.repo  CentOS-Vault.repo    zabbix.repoCentOS-fasttrack.repo  epel.repo

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

3、安装相关软件包

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

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

4、修改PHP时区设置

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

三、数据库设置

1.启动数据库

[root@localhost ~]# systemctl start mariadb

2.创建zabbix数据库及用户

mysqlcreate database zabbix character set utf8 collate utf8_bin;grant all on zabbix.* to zabbix@‘localhost‘ identified by ‘123456‘;exit

3.导入数据

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

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

4.修改zabbix配置文件

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

5.启动zabbix及apache

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

6.Web界面安装master 
访问地址:http://192.168.56.11/zabbix/setup.php 
技术分享
点击Next step进行安装 
技术分享
首先要确保没有no,如果时区没有改好会提示我们进行修改 
技术分享
账号密码都是我们刚刚在配置文件中设置的,端口默认就是3306 
技术分享
为我们的zabbix起个名字,一会在右上角会显示 
技术分享

最后是展示我们的配置信息,可以查看到哪里有错误 
技术分享
点击Finish 
技术分享
技术分享

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

7.配置zabbix-agent端

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

查看端口号

[root@localhost ~]# netstat -lntpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      7806/mysqld         tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1062/sshd           tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2208/master         tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      11511/zabbix_agentd tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      11335/zabbix_server tcp        0      0 127.0.0.1:199           0.0.0.0:*               LISTEN      2692/snmpd          tcp6       0      0 :::80                   :::*                    LISTEN      11408/httpd         tcp6       0      0 :::22                   :::*                    LISTEN      1062/sshd           tcp6       0      0 ::1:25                  :::*                    LISTEN      2208/master         tcp6       0      0 :::443                  :::*                    LISTEN      11408/httpd         tcp6       0      0 :::10050                :::*                    LISTEN      11511/zabbix_agentd tcp6       0      0 :::10051                :::*                    LISTEN      11335/zabbix_server 10051为server端口,10050为agent端口

四、Web界面配置

找到Configuration---->Hosts 添加一台监控主机 
技术分享
技术分享

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

[root@localhost ~]# ls /var/log/zabbix/zabbix_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每秒可以收到的一个新值

告警的级别 
技术分享
我们可以设置报警响铃,让他在前端响 
技术分享
技术分享
我们首页的监控列表是可以随意拖动的 
技术分享
我们还可以将它关闭,并且设置刷新时间 
技术分享

原创文章,作者:sjfbjs,如若转载,请注明出处:http://www.178linux.com/57169

(0)
sjfbjssjfbjs
上一篇 2016-11-03
下一篇 2016-11-03

相关推荐

  • Linux程序包管理(二)YUM使用

    YUM Linux程序包管理(二) 说完了程序包管理以及rpm的相关使用,接下来说说rpm的前端管理工具 YUM YUM是什么?    前面提到,yum是rpm程序包管理器的前端管理工具,那么yum到底是什么?又能做什么呢? YUM:yellow dog,Yellowdog Update Mod…

    Linux干货 2016-06-01
  • shell与kernel的理解

    Shell 的英文释义是外壳,与kernel 内核名词遥相呼应,一外一内,一壳一核。内核就像瑞士银行的金库,存放着客户的黄金等众多的(硬件)资产,闲杂人等(包括客户)当然是严格禁止入内的,而作为客户要存取金库中的资产则需要通过专门的特定管理人员代为操作完成,并把存取(操作)的结果呈现给客户。在Linux操作系统中,shell的职能就类似于金库的操作人员,客户…

    Linux干货 2016-02-14
  • Linux文件查找工具之find “大宝剑”

    一、文件查找工具常用软件 locate:     locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令…

    Linux干货 2016-03-12
  • case条件判断语句

    条件判断: case语句     在shell编程中,对于多分支判断,用if 虽然也可以实现,但有些时候,写起来很麻烦,也不容易代码理解。这个时候,可以考虑case。 case 变量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默认分支 ;; esac case语句结构特点如下:…

    Linux干货 2016-08-16
  • vim编辑器进阶

    1、vim介绍    vim(Visual Interface Improved)是一款异常强大的文本编辑器,如果大家对它的认识还停留在编辑文件,再退出的阶段的话,那就太对不起vim了,反倒不如用nano来的爽快。不过学习vim刚开始的阶段必然是痛苦的,如果想要一蹴而就,那就是你想多了。所以还需大家结合实际情况,勤加练习,认真揣摩。这里是…

    Linux干货 2016-08-11
  • Nginx之ngx_http_proxy_module模块详解

    一、正反向代理简介       1、正向代理:局域网内的机器借助于代理服务器访问局域网外的网站          这时正向代理的功能:         &nbs…

    2017-06-25