ubuntu16.04下zabbix安装和配置

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 介绍Zabbix是用于网络和应用的开源监控软件。 它提供从服务器,虚拟机和任何其他类型的网络设备收集的数千个度量的实时监控。 这些指标可以帮助您确定IT基础架构的当前运行状况,并在客户投诉之前检测硬件或软件组件的问题。

 


介绍

Zabbix是用于网络和应用的开源监控软件。 它提供从服务器,虚拟机和任何其他类型的网络设备收集的数千个度量的实时监控。 这些指标可以帮助您确定IT基础架构的当前运行状况,并在客户投诉之前检测硬件或软件组件的问题。 有用的信息存储在数据库中,您可以随着时间的推移分析数据,提高所提供服务的质量,或计划升级您的设备。

Zabbix使用客户端 - 服务器架构,并在受监视客户端上使用一个小代理来收集数据并将其发送到Zabbix服务器。 Zabbix版本3支持服务器和连接的客户端之间的加密通信,因此您的数据在不安全的网络上传输时受到保护。

Zabbix服务器将其数据存储在由MySQL,PostgreSQL或Oracle支持的关系数据库中。 它还提供了一个Web界面,您可以查看数据并配置系统设置。 在本教程中,我们将配置两台机器。 一个将被配置为服务器,另一个将作为您要监视的客户端。 服务器将使用MySQL数据库记录监控数据,并使用Apache来提供Web界面。

先决条件

要遵循本教程,您将需要:

  • 两个Ubuntu 16.04服务器,每个都配置了一个sudo非root用户。 您可以按照这个初始Ubuntu服务器安装文章进行设置 。
  • 运行Zabbix服务器的服务器需要安装Apache,MySQL和PHP。 按照本指南在您的其中一台服务器上进行配置

 

第1步 - 安装Zabbix服务器

首先,我们需要在安装MySQL,Apache和PHP的服务器上安装Zabbix Server。 本教程中我们将本机称为“Zabbix服务器”。 以非root用户身份登录本机:

ssh sammy@your_zabbix_server_ip_address在安装Zabbix之前,我们需要安装Zabbix需要的几个PHP模块。 首先,更新系统的可用软件包列表:
AI 代码解读
sudo apt-get update

然后安装Zabbix需要的PHP模块:
AI 代码解读
sudo apt-get install php7.0-xml php7.0-bcmath php7.0-mbstring

AI 代码解读

现在我们可以安装Zabbix。

Zabbix在Ubuntu的软件包管理器中可用,但它已经过时了,所以我们将使用官方的Zabbix存储库来安装最新的稳定版本。 下载并安装存储库配置包:

 

wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb您将看到以下输出:
AI 代码解读
Selecting previously unselected package zabbix-release. (Reading database ... 55276 files and directories currently installed.) Preparing to unpack zabbix-release_3.2-1+xenial_all.deb ... Unpacking zabbix-release (3.2-1+xenial) ... Setting up zabbix-release (3.2-1+xenial) ...


更新包索引,以便包含新的存储库:
sudo apt-get update

然后安装Zabbix服务器和Web前端与MySQL数据库支持:

sudo apt-get install zabbix-server-mysql zabbix-frontend-php我们还要安装Zabbix代理,这样我们就可以收集有关Zabbix服务器状态的数据。
AI 代码解读
sudo apt-get install zabbix-agent
AI 代码解读
在我们可以使用Zabbix之前,我们必须设置一个数据库来保存Zabbix服务器从其代理收集的数据。
AI 代码解读

第2步 - 配置Zabbix的MySQL数据库

我们需要创建一个新的MySQL数据库并填充一些基本信息,以使其适合Zabbix。 我们还将为此数据库创建一个特定用户,因此Zabbix没有使用root帐户登录到MySQL。

使用您在MySQL服务器安装期间设置的root密码作为root用户登录MySQL:

mysql -uroot -p

创建支持UTF-8字符的Zabbix数据库:
AI 代码解读
create database zabbix character set utf8 collate utf8_bin;

然后创建一个Zabbix服务器将使用的用户,让它访问新的数据库,并为用户设置密码:
AI 代码解读
grant all privileges on zabbix.* to zabbix@localhost identified by 'your_password';

然后应用这些新权限:

flush privileges;退出数据库控制台。quit
AI 代码解读

接下来,我们必须导入初始模式和数据。 Zabbix安装为我们提供了一个为我们设置的文件。

运行以下命令设置模式并将数据导入zabbix数据库。 我们将使用zcat因为文件中的数据被压缩。

zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

 

输入您提示时配置的zabbix MySQL用户的密码。

如果成功,此命令将不会输出任何错误。 如果您看到错误ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)那么请确保使用zabbix用户的密码而不是root用户。

为了使Zabbix服务器使用此数据库,您需要在Zabbix服务器配置文件中设置数据库密码。 在编辑器中打开配置文件:

 

sudo vim /etc/zabbix/zabbix_server.conf文件中的这些注释说明了如何连接到数据库。 我们需要将文件中的DBPassword值设置为数据库用户的密码。 在这些注释下方添加一行以配置数据库:
AI 代码解读
DBPassword=your_zabbix_mysql_password

这需要照顾Zabbix服务器配置,但是我们必须对我们的PHP设置进行一些修改,以使Zabbix Web界面正常工作。

AI 代码解读

第3步 - 为Zabbix配置PHP

Zabbix Web界面是用PHP编写的,需要一些特殊的PHP服务器设置。 Zabbix安装过程创建了一个包含这些设置的Apache配置文件。 它位于目录/etc/zabbix ,由Apache自动加载。 我们需要对这个文件做一个小的改动,所以打开它。

sudo nano /etc/zabbix/apache.conf

该文件包含满足Zabbix Web界面所需要的PHP设置。 您唯一需要做的更改是设置适当的时区,默认情况下会被注释掉。
AI 代码解读
...
<IfModule mod_php7.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 always_populate_raw_post_data -1 # php_value date.timezone Europe/Riga </IfModule>
AI 代码解读

取消注释上面突出显示的时区行,并将其更改为您的时区。 您可以使用支持的时区列表为您找到正确的时区 。 然后保存并关闭文件。

现在重新启动Apache以应用这些新设置。

sudo systemctl restart apache2

AI 代码解读
sudo systemctl start zabbix-server

然后检查Zabbix服务器是否正常运行:
AI 代码解读
sudo systemctl status zabbix-server
您将看到以下状态:
AI 代码解读
● zabbix-server.service - Zabbix Server Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled) Active: :active (running) since Thu 2017-06-08 06:40:43 UTC; 6s ago Process: 15201 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) ...

最后,启动服务器启动时:
AI 代码解读
sudo systemctl enable zabbix-server

服务器已设置并连接到数据库。 现在我们来设置web前端。

AI 代码解读

第4步 - 配置Zabbix Web界面的设置

Web界面可让我们查看报告并添加要监视的主机,但需要一些初始设置才能使用。 启动浏览器并转到http://your_zabbix_server_ip_address /zabbix/ 。 在第一个屏幕上,您将看到一个欢迎信息。 单击下一步继续。

在下一个屏幕上,您将看到列出运行Zabbix的所有先决条件的表。

 

此表中的所有值必须为OK ,因此请验证它们。 确保向下滚动并查看所有先决条件。 验证一切即可完成后,点击下一步继续。

下一个屏幕要求数据库连接信息

 

我们向Zabbix服务器通报了我们的数据库,但Zabbix Web界面也需要访问数据库来管理主机和读取数据。 因此,输入您在第2步中配置的MySQL凭据,然后单击下一步继续。

在下一个屏幕上,您可以将选项保留为默认值。

名称是可选的; 如果您有多个监控服务器,则它将在Web界面中用于区分一个服务器。 单击下一步继续。

下一个屏幕将显示预安装摘要,以便您可以确认一切正确。

 

单击下一步继续到最后的屏幕。

Web界面设置完成! 此过程创建配置文件/usr/share/zabbix/conf/zabbix.conf.php ,您可以在将来备份和使用。 单击完成以进入登录屏幕。 默认用户为Admin ,密码为zabbix 。

在我们登录之前,让我们在其他服务器上设置Zabbix代理。

 

第5步 - 安装和配置Zabbix代理

现在我们需要配置将监控数据发送到Zabbix服务器的代理软件。

登录到第二台服务器,我们称之为“受监视的服务器”。

ssh sammy@your_monitored_server_ip_address


然后,就像在Zabbix服务器上一样,运行以下命令来安装存储库配置包:
AI 代码解读
wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb

接下来,更新包索引:
AI 代码解读
sudo apt-get update然后安装Zabbix代理:
AI 代码解读
sudo apt-get install zabbix-agent

AI 代码解读
sudo nano /etc/zabbix/zabbix_agentd.conf

AI 代码解读

该文件中的每个设置都通过整个文件中的资料性注释进行记录,但您只需编辑其中的一些。

首先你必须编辑Zabbix服务器的IP地址。 查找以下部分:

### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
# Incoming connections will be accepted only from the hosts listed here. # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally. # # Mandatory: no # Default: # Server= Server=127.0.0.1

将默认值更改为Zabbix服务器的IP:

AI 代码解读
Server=your_zabbix_server_ip_address

保存并关闭文件。 现在,您可以启动Zabbix代理并将其设置为在启动时启动:
AI 代码解读
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

为了很好的措施,请检查Zabbix代理是否正常运行:

AI 代码解读
sudo systemctl status zabbix-agent


您将看到以下状态,指示代理正在运行:

AI 代码解读
● zabbix-agent.service - Zabbix Agent Loaded: loaded (/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2017-06-08 08:33:52 UTC; 4s ago Process: 18185 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) ...


AI 代码解读

我们的代理现在可以将数据发送到Zabbix服务器。 但是为了使用它,我们必须从服务器的Web控制台链接到它。

注意:如果使用UFW,请将其配置为允许连接到端口10050 :

 

sudo ufw allow 10050/tcp  


您可以在Ubuntu 16.04中了解如何使用UFW设置防火墙的UFW 。

AI 代码解读

第6步 - 将新主机添加到Zabbix服务器

 

在我们要监控的服务器上安装代理只是一半的过程。 我们要监控的每个主机需要在Zabbix服务器上注册,我们可以通过Web界面进行操作。

通过导航到地址http:// your_zabbix_server_ip_address /zabbix/登录到Zabbix Server Web界面。

 

 

当您登录后,单击配置 ,然后单击顶部导航栏中的主机 。 然后点击屏幕右上角的创建主机按钮。 这将打开主机配置页面。

 

 

调整主机名IP地址以反映客户机的主机名和IP地址。 然后通过从列表中选择一个组或通过创建自己的组来将主机添加到组中。 主机可以在多个组中。 Linux服务器组是一个很好的默认选择。 添加该组后,单击“ 模板 ”选项卡。

 

 

 

 

AI 代码解读

 

 

 

 

 

AI 代码解读


AI 代码解读
 
AI 代码解读


 
AI 代码解读


AI 代码解读
 
AI 代码解读
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
60
分享
相关文章
在Ubuntu上安装MEAN Stack的4个步骤
本指南介绍了在Ubuntu上安装MEAN Stack的四个步骤。MEAN Stack是一种基于JavaScript的开发堆栈,包含MongoDB、ExpressJS、AngularJS和NodeJS。步骤包括:1. 更新系统并准备安装MEAN;2. 从官方源安装最新版MongoDB;3. 安装NodeJS、Git和NPM;4. 克隆mean.io仓库并使用NPM安装剩余依赖项。通过这些步骤,您可以快速搭建基于MEAN Stack的应用开发环境。
30 2
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
57 21
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
32 16
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
93 30
|
11天前
|
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
57 12
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
169 25
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
32 1
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
92 20
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
422 15