暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

手把手教你如何搭建zabbix监控

糖颂元明清彡 2020-03-30
799

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.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-sender-4.0.0-2.el7.x86_64.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-4.0.0-2.el7.noarch.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-mysql-4.0.0-2.el7.noarch.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
wget 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.rpm
rpm -ivh zabbix-web-4.0.0-2.el7.noarch.rpm
rpm -ivh zabbix-server-mysql-4.0.0-2.el7.x86_64.rpm
rpm -ivh zabbix-sender-4.0.0-2.el7.x86_64.rpm
rpm -ivh zabbix-get-4.0.0-2.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.0.0-2.el7.x86_64.rpm

通过rpm查看是否安装成功

[root@iz2ze4aweqtt2k1ycaxxmmz opt]# rpm -qa | grep zabbix
zabbix-sender-4.0.0-2.el7.x86_64
zabbix-web-4.0.0-2.el7.noarch
zabbix-agent-4.0.0-2.el7.x86_64
zabbix-web-mysql-4.0.0-2.el7.noarch
zabbix-get-4.0.0-2.el7.x86_64
zabbix-server-mysql-4.0.0-2.el7.x86_64
zabbix-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 changed
MySQL [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.conf
 ListenPort=10051 #服务端监听的端口,可以保持默认
 LogType=file #指定哪种方式记录日志
 LogFile=/var/log/zabbix/zabbix_server.log #日志的位置
 LogFileSize=0 #指明日志文件达到多大时自动滚动,0为不滚动
 DebugLevel=3 #通过DebugLevel参数可以定义日志的详细程度,即日志级别。
 PidFile=/var/run/zabbix/zabbix_server.pid
 DBHost=  #zabbix数据库所在服务器的ip
DBName=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 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2404/zabbix_server
tcp6 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 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
        php_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.conf
Server= #zabbix server的ip
ServerActive= #zabbix server的ip
Hostname=iz2ze4aweqtt2k1ycaxxmmz #安装zabbix agent的主机名

然后重启并且查看端口是否被监听

systemctl start zabbix-agent
[root@iz2ze4aweqtt2k1ycaxxmmz ~]# netstat -luntp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3167/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 3167/zabbix_agentd

就这样一个简单的zabbix监控就完成了


学习监控一小步,快乐生活一大步。

如果你感觉到文章对你有帮助的话记得推广一下吖

定一个小目标:在保证质量的前提下,争取一周一更。

如果你感觉到有什么疑问或者高见的地方,可以沟通一下。


文章转载自糖颂元明清彡,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论