1、组件介绍:
zabbix agent:部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。
zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
zabbix database:用于存储所有zabbix的配置信息、监控数据的数据库。
zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix 相关监控信息,可以单独部署在独立的服务器上。
zabbix proxy:可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。
2、zabbix原理图:

3、搭建zabbix监控:
3.1下载安装zabbix rpm包
为了能让所有的用户能够安装成功防止意外出现,就不直接配置zabbix的yum源了,因为我购买的阿里云当时在安装的过程中,一直无法安装成功,最后咨询阿里云技术人员才得知无法配置yum来安装zabbix,所以我直接通过rpm来安装。
| 下载rpm的地址:https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ |
想下载什么版本的zabbix都可以下载,我这边下载的是4.0版本的
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-server-mysql-4.0.0-2.el7.x86_64.rpmwget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-sender-4.0.0-2.el7.x86_64.rpmwget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-4.0.0-2.el7.noarch.rpmwget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-mysql-4.0.0-2.el7.noarch.rpmwget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpmwget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.0-2.el7.x86_64.rpm[root@iz2ze4aweqtt2k1ycaxxmmz opt]# ll zabbi*-rw-r--r-- 1 root root 388552 Oct 1 2018 zabbix-agent-4.0.0-2.el7.x86_64.rpm-rw-r--r-- 1 root root 274692 Oct 1 2018 zabbix-get-4.0.0-2.el7.x86_64.rpm-rw-r--r-- 1 root root 783172 Dec 20 02:30 zabbix-java-gateway-4.0.16-1.el7.x86_64.rpm-rw-r--r-- 1 root root 287012 Oct 1 2018 zabbix-sender-4.0.0-2.el7.x86_64.rpm-rw-r--r-- 1 root root 2169132 Oct 1 2018 zabbix-server-mysql-4.0.0-2.el7.x86_64.rpm-rw-r--r-- 1 root root 2868840 Oct 1 2018 zabbix-web-4.0.0-2.el7.noarch.rpm-rw-r--r-- 1 root root 7948 Oct 1 2018 zabbix-web-mysql-4.0.0-2.el7.noarch.rpm[root@iz2ze4aweqtt2k1ycaxxmmz opt]#
接下来我们就要安装rpm
rpm -ivh zabbix-web-mysql-4.0.0-2.el7.noarch.rpmrpm -ivh zabbix-web-4.0.0-2.el7.noarch.rpmrpm -ivh zabbix-server-mysql-4.0.0-2.el7.x86_64.rpmrpm -ivh zabbix-sender-4.0.0-2.el7.x86_64.rpmrpm -ivh zabbix-get-4.0.0-2.el7.x86_64.rpmrpm -ivh zabbix-agent-4.0.0-2.el7.x86_64.rpm
通过rpm查看是否安装成功
[root@iz2ze4aweqtt2k1ycaxxmmz opt]# rpm -qa | grep zabbixzabbix-sender-4.0.0-2.el7.x86_64zabbix-web-4.0.0-2.el7.noarchzabbix-agent-4.0.0-2.el7.x86_64zabbix-web-mysql-4.0.0-2.el7.noarchzabbix-get-4.0.0-2.el7.x86_64zabbix-server-mysql-4.0.0-2.el7.x86_64zabbix-java-gateway-4.0.16-1.el7.x86_64[root@iz2ze4aweqtt2k1ycaxxmmz opt]#
3.2将数据导入数据库
手动创建zabbix的数据库,进入数据库
MySQL [(none)]> create database zabbix charset 'utf8';MySQL [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'root';MySQL [(none)]> flush privileges;
通过查看安装的zabbix-server-mysql找到了create.sql.gz
[root@iz2ze4aweqtt2k1ycaxxmmz opt]# rpm -ql zabbix-server-mysql/etc/logrotate.d/zabbix-server/etc/zabbix/zabbix_server.conf/usr/lib/systemd/system/zabbix-server.service/usr/lib/tmpfiles.d/zabbix-server.conf/usr/lib/zabbix/alertscripts/usr/lib/zabbix/externalscripts/usr/sbin/zabbix_server_mysql/usr/share/doc/zabbix-server-mysql-4.0.0/usr/share/doc/zabbix-server-mysql-4.0.0/AUTHORS/usr/share/doc/zabbix-server-mysql-4.0.0/COPYING/usr/share/doc/zabbix-server-mysql-4.0.0/ChangeLog/usr/share/doc/zabbix-server-mysql-4.0.0/NEWS/usr/share/doc/zabbix-server-mysql-4.0.0/README/usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz/usr/share/man/man8/zabbix_server.8.gz/var/log/zabbix/var/run/zabbix[root@iz2ze4aweqtt2k1ycaxxmmz opt]#
解压sql文件并且导入数据库
[root@iz2ze4aweqtt2k1ycaxxmmz zabbix-server-mysql-4.0.0]# gunzip create.sql.gz[root@iz2ze4aweqtt2k1ycaxxmmz zabbix-server-mysql-4.0.0]# mysql -uroot -p -Dzabbix < create.sql
查看数据是否被导入
MySQL [(none)]> use zabbix;Database changedMySQL [zabbix]> show tables;+----------------------------+| Tables_in_zabbix |+----------------------------+| acknowledges || actions || alerts || application_discovery || application_prototype || application_template || applications |..............................| usrgrp || valuemaps || widget || widget_field |+----------------------------+144 rows in set (0.01 sec)
数据库已经被导入
3.3配置zabbix server端并且启动
server端已经安装完毕,并且数据也已经导入数据库中,现在开始配置server端,编辑zabbix server端的配置文件
接下来的代码为了简要的只贴需要更改的
vim /etc/zabbix/zabbix_server.confListenPort=10051 #服务端监听的端口,可以保持默认LogType=file #指定哪种方式记录日志LogFile=/var/log/zabbix/zabbix_server.log #日志的位置LogFileSize=0 #指明日志文件达到多大时自动滚动,0为不滚动DebugLevel=3 #通过DebugLevel参数可以定义日志的详细程度,即日志级别。PidFile=/var/run/zabbix/zabbix_server.pidDBHost= #zabbix数据库所在服务器的ipDBName=zabbix #通过DBName指定zabbix数据库对应的名称DBUser=zabbix #通过DBUser指定zabbix数据库用户名DBPassword=zabbix #通过DBPassword指定zabbix数据库用户的密码DBPort=3306 #通过DBPost指定zabbix数据库服务监听的端口号
配置完成后,启动zabbix服务端即可,启动后,10051端口被监听
systemctl start zabbix-server[root@iz2ze4aweqtt2k1ycaxxmmz ~]# netstat -luntp | grep 10051tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2404/zabbix_servertcp6 0 0 :::10051 :::* LISTEN 2404/zabbix_server[root@iz2ze4aweqtt2k1ycaxxmmz ~]#
zabbix server启动成功了,并且10051端口也完成了监听
3.4安装zabbix web端
zabbix web可以单独安装在主机上,只要能连接到zabbix数据库即可
因为zabbix web需要lamp环境,所以我们要将环境安装好
yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml
然后我们去修改zabbix web的配置文件,只需要将时区改成亚洲上海即可
vim /etc/httpd/conf.d/zabbix.conf<IfModule mod_php5.c>php_value max_execution_time 300php_value memory_limit 128Mphp_value post_max_size 16Mphp_value upload_max_filesize 2Mphp_value max_input_time 300php_value max_input_vars 10000php_value always_populate_raw_post_data -1php_value date.timezone Asia/Shanghai #新增</IfModule>
然后重启httpd服务
systemctl restart httpd
然后访问zabbix web端 url IP/zabbix就可以看见下图(由于我的环境已经搭建好zabbix了,图片就在网上找的)


在此处填写你数据库的类型、ip、端口、数据库名、用户、密码

确认信息无误,点击下一步

等到完成之后,就可以看到zabbix的登录界面了
用户:Admin 密码:zabbix |
登录完成之后,我们就可以看到zabbix的仪表盘

刚开始安装好都是英文,如果想用中文可以直接调成中文


然后就可以显示中文了
3.4安装zabbix agent
之前已经安装好了zabbix agent 现在只需要更改几个配置信息即可
vim /etc/zabbix/zabbix_agentd.confServer= #zabbix server的ipServerActive= #zabbix server的ipHostname=iz2ze4aweqtt2k1ycaxxmmz #安装zabbix agent的主机名
然后重启并且查看端口是否被监听
systemctl start zabbix-agent[root@iz2ze4aweqtt2k1ycaxxmmz ~]# netstat -luntp | grep 10050tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3167/zabbix_agentdtcp6 0 0 :::10050 :::* LISTEN 3167/zabbix_agentd
就这样一个简单的zabbix监控就完成了
学习监控一小步,快乐生活一大步。
如果你感觉到文章对你有帮助的话记得推广一下吖
定一个小目标:在保证质量的前提下,争取一周一更。
如果你感觉到有什么疑问或者高见的地方,可以沟通一下。





