Fork me on GitHub

Zabbix 3.0 基础介绍 [一]

摘要

本文主要讲述 Zabbix 的简介以及 Zabbix 安装及页面设置

Zabbix 3.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 监控过程逻辑图

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 -r
3.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.rpmnew
CentOS-CR.repo         CentOS-Sources.repo  epel-testing.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo    zabbix.repo
CentOS-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 数据库及用户

mysql
create 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]# ll
total 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 -lntp
Active 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 每秒可以收到的一个新值

告警的级别

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

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

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

Zabbix 基础完!

转载自:Zabbix 3.0 基础介绍 [一] | abcdocker 运维博客

赞赏是最好的支持与鼓励!
-------------本文结束感谢您的阅读-------------