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

相关推荐

  • UID SGID与chmod 777的一些问题

    先来看问题 问题来了:echo的行为返回是对的还是vi是对的? 现场分析: vi 和 echo 都被设置为SGID权限。 abc文件所在的父目录权限是777 echo无法写abc文件,而vi是可以的 当时被问到这个问题时,我也是一征,怎么会这样。加之SUID,SGID在企业应用很少,如此这么久早忘了一干二净,只是赶紧去补课~,但经过30MIN后依然没有找到问…

    Linux干货 2016-08-08
  • N26-第五周

    1、显示当前系统上root、fedora或user1用户的默认shell;[root@localhost ~]# grep -E ‘^(root|fedora|user1)\>’ /etc/passwdroot:x:0:0:root:/root:/bin/bashfedora:x:4002:4002:Fedora Core:/h…

    Linux干货 2017-03-13
  • 0808文本处理作业

                           1 、删除/etc/grub2.conf 文件中所有以空白开头的行行首的空白字符。 答:sed  ‘@^[[:space]]\+@@’  /etc/grub2/cf…

    Linux干货 2016-08-11
  • N25期–第十五周作业

    1、 总结sed和awk的详细用法; 2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; # sed ‘s@^[[:space:]]\+@@’ /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符; # sed ‘s@^#[[:space:]]*@@…

    Linux干货 2017-05-08
  • Jerry的学习计划/目标/宣言

    学习计划 按照班主任给的计划进度来,多动手做实验。 目标 勇敢做自己,做更好的自己 宣言 能不能成为高富帅,日后是否能愉快地装逼,就看这半年!

    Linux干货 2016-10-24
  • Linux设备驱动Hello World程序介绍

    by Valerie Henson07/05/2007 (译者注:本文的例子是只能在linux的2.6内核下使用的,2.6以上的内核,译者没有做过实验,2.4是要修改make文件才能运行。) 本文的出处:这里 自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“…

    Linux干货 2015-04-01