案例:搭建Zabbix监控系统

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 案例:搭建Zabbix监控系统

Zabbix概述

       Zabbix是一个基于Web界面企业及开源监控套件。

🍤具备功能

主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表图表绘制

🍤监测对象

Linux 服务器 、Windows服务器、路由器、交换机等网络设备 其官方网站是Zabbix

🍤监控架构

  1. server-client:适用于网络比较简单,设备较少的监控环境。
  2. master-node-client:适用于跨网络、跨机房、设备较多的大型环境。
  3. server-proxy-client:适用于跨网络、跨机房的中型网络架构。

案例实施

       Zabbix提供两种安装方式:YUM安装与编译安装。由于CetnOS官方YUM源中并不提供Zabbix软件包以及相关依赖包,因此,如果想用YUM安装Zabbix需要通过Zabbix官方源或第三方提供的YUM源实现。

🍤实施环境

       目标:首先配置Zabbix服务器,通过 Zabbix服务器监控linux服务器和windows服务器。

       前提:关闭防火墙、selinux,如图配置IP地址。

搭建yum源

       🍤配置Zabbix之前先搭建Zabbix服务器的yum源。

1. ............//将rpm文件指定到/zabbix目录中
2. [root@localhost ~]# mkdir /zabbix
3. [root@localhost ~]# mount /dev/cdrom /media
4. mount: /dev/sr0 is write-protected, mounting read-only
5. [root@localhost ~]# cp /media/* /zabbix/
6. ............//生成yum源目录文件
7. [root@localhost ~]#  cd /zabbix/
8. [root@localhost zabbix]# createrepo .
9. ............//指定本地yum源路径为/zabbix目录
10. [root@localhost zabbix]# cd
11. [root@localhost ~]# rm -rf /etc/yum.repos.d/*
12. [root@localhost ~]# vim /etc/yum.repos.d/a.repo
13. [a]
14. name=a
15. baseurl=file:///zabbix
16. gpgcheck=0

安装MariDB

       在CentOS7系统中光盘镜像中默认提供的数据库软件不是MySQL而是MariaDB,因此在LAMP架构中使用MariaDB来充当“M”的角色,其余的组件还是保持原有的Apache与PHP。MariaDB是MySQL数据库源码的一个分支版本,与MySQL在大多数方面是兼容的。

       🍤通过部署下面命令安装并启动MariaDB,设置数据库管理员密码为"pwd123",验证数据库是否成功安装。

1. [root@localhost ~]# yum -y install mariadb-server mariadb
2. [root@localhost ~]# systemctl start mariadb
3. [root@localhost ~]# systemctl enable mariadb
4. [root@localhost ~]# mysqladmin -u root password 'pwd123'
5. [root@localhost ~]# mysql -uroot -ppwd123
6. Welcome to the MariaDB monitor.  Commands end with ; or \g.
7. Your MariaDB connection id is 4
8. Server version: 5.5.56-MariaDB MariaDB Server
9. 
10. Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
11. 
12. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13. 
14. MariaDB [(none)]>

安装Zabbix

       🍤安装Zabbix时会安装很多依赖包,其中包括httpd与PHP相关依赖包,所以直接安装Zabbix即可。

[root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

       🍤安装Zabbix Web时需要数据库,在MariaDB中手动创建数据库名为zabbix的数据库,并授权给zabbix用户使用,以增加数据库的安全性。

1. [root@localhost ~]# mysql -u root -ppwd123
2. MariaDB [(none)]> create database zabbix  character set utf8 collate utf8_bin;
3. Query OK, 1 row affected (0.01 sec)
4. MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'pwd456';
5. Query OK, 0 rows affected (0.00 sec)
6. MariaDB [(none)]> exit
7. Bye

       🍤导入数据库SQL脚本文件。

1. [root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix
2. Enter password:                                 //输入zabbix用户密码后稍等片刻,等待导入数据
3. [root@localhost ~]#

编辑配置文件

       🍤通过编辑配置文件,配置指定数据库的名称、用户、密码。

1. [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf 
2. DBHost=localhost                    //需要去掉注释
3. DBName=zabbix
4. DBUser=zabbix
5. DBPassword=pwd456                   //需要去掉注释,并设置zabbix用户密码

       🍤编辑zabbix agent的配置文件/usr/local/etc/zabbix_agentd.conf,必须指定zabbix server的IP地址,在每台安装agent的主机上都要配置。这里要指定服务器的IP地址,现在在同一台服务器上,所以不修改!

1. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
2. Server=127.0.0.1                        //客户端被动等待指定服务器来查询数据
3. ServerActive=127.0.0.1                  //客户端主动提交数据到指定的服务器
4. Hostname=Zabbix server                  //主机名称

       🍤执行以下命令启动zabbix-server、zabbix-agent与httpd。

1. [root@localhost ~]# systemctl start zabbix-server
2. [root@localhost ~]# systemctl enable zabbix-server
3. [root@localhost ~]# systemctl start zabbix-agent
4. [root@localhost ~]# systemctl enable zabbix-agent
5. [root@localhost ~]# systemctl start httpd
6. [root@localhost ~]# systemctl enable httpd

安装zabbix web接口

       🍤编辑Apache服务器针对Zabbix的前端配置文件,设置时区与当前系统一致。

1. [root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf 
2.  php_value date.timezone Asia/Shanghai           //删掉注释,修改时区为上海
3. [root@localhost ~]# systemctl restart httpd

       🍤打开浏览器访问http://192.168.1.10/zabbix,打开Zabbix前端安装向导,如下图所示。

       🍤单机"Next step"按钮,进入系统环境检测界面,全部符合后进入下一步。

       🍤根据之前配置好的zabbix数据库填写授权信息。密码提示:“pwd456”。

       🍤数据库连接成功配置后,填写连接Zabbix 服务信息。

      🍤返回一个汇总的配置信息查看无误后下一步即可。

       🍤提示安装完成。

       🍤登录zabbix页面,默认用户名为Admin、密码zabbix。

Zabbix基本配置

Zabiix用户管理

       🍤为了增强安全性,需要修改Zabbix服务器默认用户Admin的初始密码。使用默认用户名Admin登录Zabbix服务器,选择"Administration"→"users"→"Admin"进入用户配置界面。

       🍤单击"change passwrod"按钮来更改密码,语言界面显示改为中文,然后单击"update"按钮提交,刷新界面生效。

       🍤单击用户界面中的“创建用户”按钮,即可弹出创建用户界面,添加相应的信息即可创建新用户。

       🍤创建用户的时候还可以选择添加相应的群组,点击”添加“即可。

修改Zabbix中文乱码

       🍤安装Zabbix后,当显示语言为中文时,可能会出现中文乱码情况,这主要是字体导致的问题,如果要解决,需要下载合适的字体,并将其上传到Zabbix服务器上。

       🍤下载标准中文字体(simkai.ttf),将其上传到Zabbix服务器的文档根目录中,YUM安装的默认安装目录在/usr/share/zabbix中。

1. [root@localhost ~]# cp /media/simkai.ttf /usr/share/zabbix/fonts/
2. [root@localhost ~]# ls /usr/share/zabbix/fonts/
3. graphfont.ttf  simkai.ttf
4. [root@localhost ~]# chmod 777 /usr/share/zabbix/fonts/simkai.ttf

       🍤通过以下命令修改PHP界面的字体文件,将原本的graphfont更改为simkai,然后刷新界面即可正常显示中文。

1. [root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php 
2. define('ZBX_GRAPH_FONT_NAME',    'simkai');              //直接修改后面单引号的内容即可

Zabbix监控Linux服务器

       🍤如果希望监控Linux服务器,可以使用agent的方式,在Linux服务器上安装zabbix的agent。(被监控端操作)

1. [root@localhost ~]# mount /dev/cdrom /media/
2. mount: /dev/sr0 写保护,将以只读方式挂载
3. [root@localhost ~]# ls /media
4. simkai.ttf           zabbix-agent-3.2.6-1.el7.x86_64.rpm
5. zabbix-3.2.6.tar.gz  zabbix_agents_3.2.0.win.zip
6. [root@localhost ~]# rpm -ivh /media/zabbix-agent-3.2.6-1.el7.x86_64.rpm

       🍤修改agent配置文件,其中Server与ServerActive配置项指定zabbix服务器地址,但是作用并不相同。Server用于客户端被动等待指定服务器来查询数据,ServerActive用与客户端主动提交数据到指定的服务器。

       🍤Hostname必须与Zabbix Web上名称一致,否则Zabbix 主动监控无法正常工作。

1. [root@localhost ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/.zabbix_agentd.conf.bak
2. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
3. Server=192.168.1.10
4. ServerActive=192.168.1.10
5. Hostname=linux-001

       🍤启动agent服务并设置开机启动,默认端口为10050。

1. [root@localhost ~]# systemctl start zabbix-agent
2. [root@localhost ~]# systemctl enable zabbix-agent
3. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
4. [root@localhost ~]# netstat -anpt | grep agent
5. tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      7669/zabbix_agentd  
6. tcp6       0      0 :::10050                :::*                    LISTEN      7669/zabbix_agentd

       🍤在zabbix服务器上添加主机。

       登录Zabbix web界面,选择“配置”→“主机”→“创建主机”。添加主机名称为“linux-001”、群组为“Linux servers”的主机然后在agent代理程序接口处添加Linux服务器的IP地址192.168.1.20。

       🍤然后左上角,选择“模板”,将链接的模板选择为"Template OS Linux",单击“添加”按钮,完成主机的添加。

       🍤稍等一会,就可以看到下图中可用性列中"ZBX"为绿色,则表示添加成功。此刻也可以去查看”检测中“→“图形”,选择监测的群组和主机即可查看到服务器状态。

Zabbix监控windows服务器

       🍤在windows服务器上安装agent程序

       将下载的压缩包解压,在解压文件的bin目录下会有win32和win64两个文件夹,根据windows系统的版本自行进行选择,将客户端程序文件复制至C:\zabbix,将conf文件中的zabbix_agentd.win.cof配置文件同样复制至C:\zabbix。在配置文件中修改如下配置项:(推荐使用写字板或标准文本工具编辑)

1. Server=192.168.1.10
2. ServerActive=192.168.1.10
3. Hostname=win-001

       🍤注意:需在C盘创建一个zabbix的目录,把下图中文件导入进入后在编辑文件zabbix_agentd.win.cof。

       🍤使用cmd命令行进行安装启动agent。

       agent常用参数:-c,指定配置文件;-i,安装;-s,启动;-x,停止;-d,卸载。

      🍤到zabbix服务器上添加主机。

       登录zabbix web界面,选择“配置”→“主机”→“创建主机”。添加主机名为“win-001”,同时创建新群组“Windows servers”,在agent代理程序接口处添加Windows服务器的IP地址192.168.1.30。

       🍤选择”模板“界面,将链接的模板选择为“Template OS Windows”,单击“添加”按钮,安装主机的添加。稍等片刻即可查看到

       🍤而在检测中选项也会查看到一些关于win-001的监控状态。

Zabbix 自定义监控项

       Zabbix自带的默认模板里包括了很多监控项,也可以根据需求自定义监控项。下面以创建自定义监控项的方式,以创建监控httpd进程为例,介绍Zabbix自定义监控项。

       🍤首先需要在被监控端(centos7系统)创建监控脚本存放目录/etc/zabbix/zabbix_scripts,然后在该目录下编写脚本名称为check_httpd.sh的监控脚本。

1. [root@localhost ~]# mkdir /etc/zabbix/zabbix_scripts
2. [root@localhost ~]# vim /etc/zabbix/zabbix_scripts/check_httpd.sh
3. #!/bin/bash
4. result=`ps -ef | grep httpd | grep -v grep`
5. if [ -n "$result" ]
6. then
7.         echo '1'
8. else
9.         echo '2'
10. fi

       🍤修改zabbix_agentd.conf配置文件。

1. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
2. UnsafeUserParameters=1                  //去注释,默认0修改为1

       🍤在/etc/zabbix/zabbix_agentd.d/目录下创建userparameter_httpd.conf文件夹,并在文件中设置自定义监控项。

1. [root@localhost ~]# cd /etc/zabbix/zabbix_agentd.d/
2. [root@localhost zabbix_agentd.d]# vim userparameter_httpd.conf
3. UserParameter=check_httpd,sh /etc/zabbix/zabbix_scripts /check_httpd.sh
4. [root@localhost ~]# systemctl restart zabbix-agent              //重启后生效

       🍤登录Zabbix web,选择要增加监控项的主机,选择监控项→创建监控项,主机选择”linux-001“,名称为“httpd监控”,键值为”check_httpd“,配置后点击下方添加按钮即可。

       🍤添加成功后,在最新数据中查看是否获取到数据。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9月前
|
JSON 监控 前端开发
python对接API二次开发高级实战案例解析:Zabbix API封装类实现获取认证密钥、所有主机组、所有主机、所有监控项和历史数据
python对接API二次开发高级实战案例解析:Zabbix API封装类实现获取认证密钥、所有主机组、所有主机、所有监控项和历史数据
299 0
|
4月前
|
监控 前端开发 应用服务中间件
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
414 0
|
9月前
|
JSON 监控 前端开发
Zabbix监控系统开发(2):JSON多维数组筛选字段是否包含字符串的解决方案
Zabbix监控系统开发(2):JSON多维数组筛选字段是否包含字符串的解决方案
97 0
|
9月前
|
JSON 监控 前端开发
Zabbix监控系统PHP-API开发测试实录
Zabbix监控系统PHP-API开发测试实录
142 0
|
11月前
|
存储 监控 数据可视化
Zabbix分布式监控系统从理论到实践
Zabbix分布式监控系统从理论到实践
110 0
|
消息中间件 存储 监控
ClassIn:如何打造更稳定的Zabbix监控系统
近期,OceanBase 社区发布了一篇关于我们公司选型分布式数据库的文章(戳:翼鸥教育携手OceanBase,突破MySQL读写与容量瓶颈),详细介绍了我们的选型考虑因素和对 TiDB、OceanBase 的测试对比,当然,我们最终选择了 OceanBase。
201 0
ClassIn:如何打造更稳定的Zabbix监控系统
|
运维 监控 Linux
运维必备——Zabbix监控系统(下)
运维必备——Zabbix监控系统(下)
151 0
运维必备——Zabbix监控系统(下)
|
存储 运维 监控
运维必备——Zabbix监控系统(上)
运维必备——Zabbix监控系统(上)
594 1
运维必备——Zabbix监控系统(上)
|
监控 关系型数据库 MySQL
CentOS8.5下安装部署开源监控系统Zabbix 6.0LTS
CentOS8.5下安装部署开源监控系统Zabbix 6.0LTS
796 0
CentOS8.5下安装部署开源监控系统Zabbix 6.0LTS
|
监控 网络协议 Linux
【Zabbix】基于CentOS 7.9系统安装部署Zabbix 5.0LTS版本监控系统(详细教程)(下)
【Zabbix】基于CentOS 7.9系统安装部署Zabbix 5.0LTS版本监控系统(详细教程)
333 0
【Zabbix】基于CentOS 7.9系统安装部署Zabbix 5.0LTS版本监控系统(详细教程)(下)

推荐镜像

更多