如何在CentOS 7上安装和配置Zabbix
Zabbix是功能齐全的开源监视软件。 Zabbix从您的网络设备,系统和应用程序收集指标,并确保它们已启动并正在运行。如有任何问题,Zabbix将通过各种方法发送通知警报。
Zabbix可以部署为基于代理和无代理的监视。 Zabbix代理占地很小,可以在各种平台上运行,包括Linux,UNIX,macOS和Windows。
本教程介绍了如何使用MariaDB作为数据库后端在CentOS 7服务器上安装和配置最新版本的Zabbix 4.0。我们还将向您展示如何在远程主机上安装Zabbix代理并将该主机添加到Zabbix服务器。
先决条件
您需要以具有 sudo访问权限的用户身份登录才能安装软件包。
创建MySQL数据库
Zabbix支持MySQL(https://myfreax.com/post/install-mysql-on-centos-7/)/ MariaDB和 PostgreSQL 作为数据库服务器。在本教程中,我们将使用MariaDB作为数据库后端。
如果您的CentOS服务器上未安装MariaDB,则可以按照这些说明进行安装。
通过键入以下命令登录到MySQL Shell:
sudo mysql
在MySQL Shell中,运行以下SQL命令以创建新数据库:
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
接下来,创建 MySQL用户帐户并授予对数据库的访问权限:
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-span-password';
请确保使用强密码更改change-with-span-password
。
完成后,通过键入以下内容退出mysql控制台:
EXIT;
在CentOS上安装Zabbix
在撰写本文时,Zabbix的最新稳定版本是4.0版。 CentOS资料库中可用的Zabbix软件包已过时,因此我们将使用官方 Zabbix资料库。
1.安装Zabbix
使用以下 wget命令下载最新的Zabbix存储库 rpm软件包:
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
下载文件后,通过键入以下内容将Zabbix存储库添加到您的CentOS 7系统:
sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm
安装Zabbix服务器,具有MySQL数据库支持的Web前端和Zabbix代理程序包:
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
如果您的服务器上尚未安装 Apache 和 PHP ,则上述命令将安装它们。
2.为Zabbix前端配置PHP
在安装过程中,将创建一个Apache配置文件,其中包含所有必需的Apache和PHP设置。您只需要稍作更改并设置适当的时区即可。
打开配置文件,取消注释时区行并将其更改为您的时区。您可以在此处中找到PHP支持的时区的完整列表。
/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 Europe/Riga
</IfModule>
...
完成后,保存配置文件并重新启动Apache服务,以使更改生效:
sudo systemctl restart httpd
3.为Zabbix服务器配置MySQL数据库
Zabbix安装包提供了一个转储文件,其中包含带有MySQL的Zabbix服务器的初始架构和数据。
通过运行以下命令导入MySQL转储文件:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
出现提示时,输入您先前创建的用户密码。成功时,不输出任何信息。
接下来,在编辑器中打开Zabbix配置文件:
sudo nano /etc/zabbix/zabbix_server.conf
搜索以下部分,取消注释DBPassword
指令并添加数据库密码。
/etc/zabbix/zabbix_server.conf
...### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-span-password
...
保存并关闭文件。
重新启动Zabbix服务器和代理服务,并使它们能够在系统引导时启动:
sudo systemctl restart zabbix-server zabbix-agentsudo systemctl enable zabbix-server zabbix-agent
检查Zabbix服务器的状态:
sudo systemctl status zabbix-server
输出应显示active (running)
:
● zabbix-server.service - Zabbix Server Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
Main PID: 5558 (zabbix_server)
CGroup: /system.slice/zabbix-server.service
...
安装和配置Zabbix前端
Zabbix Web界面是用PHP编写的,它使我们能够配置服务器,查看收集的数据并添加要监视的主机。
在开始使用网络界面之前,我们需要先安装它。
打开您的最喜欢的浏览器,然后输入服务器的域名或公共IP地址,然后输入/zabbix
:
http(s)://your_domain_or_ip_address/zabbix
在第一个屏幕上,我们将向您显示欢迎消息。点击Next step
继续。
接下来,您将看到以下信息页面,其中列出了运行Zabbix前端所需的所有PHP先决条件。该表中的所有值均应为OK
,向下滚动以确认所有设置均正确。验证后,单击Next step
继续。
在下一个屏幕上,安装向导将要求您输入数据库连接详细信息。输入您先前创建的MySQL用户和数据库详细信息。
输入服务器名称是可选的。如果您有多个Zabbix监视服务器,请输入。如果提供的话,它将显示在菜单栏和页面标题中。
点击Next step
继续。
在下一个屏幕上,将显示安装前摘要。
单击Next step
,安装完成后,您将进入一个页面,通知您已安装Zabbix Web界面。要访问您的Zabbix登录页面,请单击Finish
按钮。
默认用户为“管理员”,密码为“ zabbix”。输入用户名和密码,然后单击Log in
按钮。
登录后,您将被重定向到Zabbix管理信息中心。
您可以从此处开始自定义Zabbix安装并添加新主机。您的第一步应该是更改当前密码。为此,请单击顶部导航上的个人资料图标,导航到用户个人资料页面。
向Zabbix服务器添加新主机
将用于监视的新主机添加到Zabbix服务器的过程包括两个步骤。
首先,您需要在远程主机上安装Zabbix代理,然后通过Web界面将该主机添加到Zabbix服务器。
安装Zabbix代理
本教程假定主机也使用CentOS7。
与安装Zabbix服务器时相同,运行以下命令以启用Zabbix存储库:
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpmsudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm
安装Zabbix代理程序包:
sudo yum install zabbix-agent
Zabbix支持服务器-客户端通信加密的两种方法:预共享密钥(PSK)和基于证书的加密。在本教程中,我们将使用预共享密钥(PSK)方法来保护服务器和代理之间的连接。
使用以下命令来生成预共享密钥并将其保存到文件中:
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
PSK密钥如下所示:
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
打开Zabbix代理配置文件:
sudo nano /etc/zabbix/zabbix_agentd.conf
搜索Server
IP地址并将其从默认值更改为Zabbix服务器IP:
/etc/zabbix/zabbix_agentd.conf
...### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# 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
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
...
接下来,找到TSLConnect
选项,取消注释并将其设置为psk
:
/etc/zabbix/zabbix_agentd.conf
...### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
找到TLSAccept
选项,取消注释并将其设置为psk
:
/etc/zabbix/zabbix_agentd.conf
...### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
接下来,找到TLSPSKIdentity
选项,取消注释并将其设置为PSK 001
。该值必须是唯一的字符串:
/etc/zabbix/zabbix_agentd.conf
...### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
最后,找到TLSPSKFile
选项,取消注释,并将其设置为指向先前创建的预共享密钥:
/etc/zabbix/zabbix_agentd.conf
...### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
完成后,保存并关闭文件。
启动Zabbix代理服务,并将其设置为在启动时通过以下方式启动:
sudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent
接下来,您需要添加防火墙规则,以启用来自Zabbix服务器的TCP端口10050
上的流量。
假设您正在使用 FirewallD
管理防火墙,并且要允许从192.168.121.70
IP地址进行访问,则可以运行以下命令:
sudo firewall-cmd --new-zone=zabbix --permanentsudo firewall-cmd --zone=special --add-source=192.168.121.70/32
sudo firewall-cmd --zone=special --add-port=10050/tcp
设置新主机
现在,已安装并配置了要监视的远程主机上的代理,下一步是在Zabbix服务器上注册该主机。
以管理员用户身份登录Zabbix服务器Web界面:
http(s)://your_domain_or_ip_address/zabbix
在内部,在顶部导航栏中单击Configuration
,然后单击Hosts
接下来,单击屏幕右上角的蓝色Create host
按钮,主机配置页面将打开:
输入要监视的远程主机的主机名和IP地址。通过从列表中选择一个组,将主机添加到一个或多个组中,或者输入一个不存在的组名来创建一个新的组。 Linux Servers
组是一个不错的选择。
完成后,单击Templates
标签。选择Template OS Linux
,然后单击Add
链接以将模板添加到主机。
接下来,单击Encryption
选项卡。为Connections to host
和Connections from host
选择PSK。
将PSK identity
值设置为PSK 001
,即在上一步中配置的Zabbix代理的TLSPSKIdentity
选项的值。
在PSK value
字段中,添加您为Zabbix代理生成的密钥,该密钥存储在/etc/zabbix/zabbix_agentd.psk
文件中。
最后,要添加主机,请点击蓝色的添加button
。
结论
您已在CentOS系统上成功安装了最新的Zabbix,并了解了如何添加要监视的新主机。
您现在应该查看 Zabbix文档,并详细了解如何配置和使用Zabbix。
如果您遇到问题或有反馈,请在下面发表评论。
以上是 如何在CentOS 7上安装和配置Zabbix 的全部内容, 来源链接: utcz.com/z/507277.html