如何在Ubuntu 16.04上使用Zabbix监视远程服务器

Zabbix是一种免费的开放源代码的企业级软件,用于监视系统和网络组件的可用性。Zabbix可以同时监视数千个服务器,虚拟机或网络组件。Zabbix可以监视与系统相关的几乎所有内容,例如CPU,内存,磁盘空间和IO,进程,网络,数据库,虚拟机和Web服务。如果向Zabbix提供了IPMI访问,则它还可以监视硬件,例如温度,电压等。

先决条件

在本教程中,我们将使用192.0.2.1Zabbix服务器的192.0.2.2公共IP地址和将要远程监视的Zabbix主机的公共IP地址。请确保将所有出现的示例IP地址替换为实际的公共IP地址。

使用指南如何更新Ubuntu 16.04更新基本系统。系统更新后,继续安装依赖项。

安装Apache和PHP

安装Zabbix Web时,它将自动为Apache Web服务器创建配置。

安装Apache Web服务器以服务Zabbix前端或Web UI。

sudo apt -y install apache2

启动Apache Web服务器,并使其在启动时自动启动。

sudo systemctl start apache2
sudo systemctl enable apache2

安装最新版本的PHP以及Zabbix所需的模块。

sudo apt -y install php php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-gd php7.0-bcmath php7.0-ctype php7.0-xml php7.0-sockets php7.0-mbstring php7.0-gettext php7.0-ldap php7.0-pgsql

安装和配置PostgreSQL

PostgreSQL是一个对象关系数据库系统。在系统中添加PostgreSQL存储库。

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

导入存储库签名密钥,然后更新软件包列表。

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

安装PostgreSQL数据库服务器。

sudo apt -y install postgresql postgresql-contrib

启动PostgreSQL服务器,并使其在启动时自动启动。

sudo systemctl start postgresql
sudo systemctl enable postgresql

更改默认PostgreSQL用户的密码。

sudo passwd postgres

以PostgreSQL用户身份登录。

sudo su - postgres

为Zabbix创建一个新的PostgreSQL用户。

createuser zabbix

PostgreSQL提供了psql在数据库上运行查询的外壳。通过运行切换到PostgreSQL Shell。

psql

为Zabbix数据库的新创建的数据库用户设置密码。

ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';

为Zabbix创建一个新的数据库。

CREATE DATABASE zabbix OWNER zabbix;

psql外壳退出。

\q

sudo从当前postgres用户切换到该用户。

exit

安装Zabbix

Zabbix提供了Ubuntu的安装二进制文件,可以直接从Zabbix存储库安装。在系统中添加Zabbix存储库。

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update

安装Zabbix serverZabbix web

sudo apt -y install zabbix-server-pgsql zabbix-frontend-php

导入随应用程序一起提供的PostgreSQL数据库。

zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -H -u zabbix bash -c 'psql -U zabbix zabbix'

您应该在输出末尾看到类似于以下内容的内容。

...
INSERT 0 1
INSERT 0 1
COMMIT

打开Zabbix配置文件以更新数据库详细信息。

sudo nano /etc/zabbix/zabbix_server.conf

查找以下行并根据您的数据库配置更新值。您将需要取消注释DBHostDBPort行。

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432

Zabbix自动为Apache安装虚拟主机文件。我们将需要配置虚拟主机以更新时区。

sudo nano /etc/apache2/conf-available/zabbix.conf

找到以下几行。

<IfModule mod_php7.c>
...
#php_value date.timezone Europe/Riga

根据您的时区更新行,如下所示。

<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata

现在重新启动Apache,以应用配置中的这些更改。

sudo systemctl restart apache2

另外,启动Zabbix服务器,并使其在引导时自动启动。

sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server

您应该已经启动Zabbix服务器并运行它。您可以检查过程的状态。

sudo systemctl status zabbix-server

要访问管理仪表板,您可以http://192.0.2.1/zabbix使用自己喜欢的浏览器打开。您将看到欢迎消息。您应该在下一个界面上满足所有先决条件。请按照安装程序页面上的说明安装软件。安装软件后,请使用用户名Admin和密码登录zabbix。现在已安装Zabbix,并准备从Zabbix代理收集数据。

在服务器上设置代理

要监视安装了Zabbix的服务器,可以在服务器上设置代理。Zabbix代理将从Linux服务器收集事件数据,然后将其发送到Zabbix服务器。默认情况下,端口号10050用于将事件和数据发送到服务器。

安装Zabbix代理。

sudo apt -y install zabbix-agent

启动代理,并使其能够在引导时自动启动。

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

由于Zabbix代理和Zabbix服务器之间的通信是在本地完成的,因此无需设置任何加密。

在Zabbix服务器可以接收任何数据之前,您需要启用主机。登录到Zabbix服务器的Web管理仪表板,然后转到Configuration >> Host。您将看到Zabbix服务器主机的禁用条目。选择条目并单击Enable按钮以启用对Zabbix服务器应用程序和安装Zabbix服务器的基本系统的监视。

如何在Ubuntu 16.04上使用Zabbix监视远程服务器

远程Linux机器上的安装代理

远程Zabbix代理可以通过三种方法将事件发送到Zabbix服务器。第一种方法是使用未加密的连接,第二种方法是使用安全的预共享密钥。第三种也是最安全的方法是使用RSA证书对传输进行加密。

在继续在远程计算机上安装和配置Zabbix代理之前,我们需要在Zabbix服务器系统上生成证书。在本教程中,我们将使用自签名证书。

sudo用户身份在Zabbix服务器上运行以下命令

创建一个新目录来存储Zabbix密钥并生成CA的私钥。

mkdir ~/zabbix-keys && cd ~/zabbix-keys
openssl genrsa -aes256 -out zabbix-ca.key 4096

它将要求您输入密码保护私钥。生成私钥后,继续为CA生成证书。

openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt

提供私钥的密码。它将要求您提供有关您的国家,州,组织的一些详细信息。相应地提供详细信息。

user@vultr:~/zabbix-keys$ openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Enter pass phrase for zabbix-ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:My State
Locality Name (eg, city) []:My City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:My Unit
Common Name (e.g. server FQDN or YOUR name) []:Zabbix CA
Email Address []:[email protected]

我们已经成功生成了CA证书。为Zabbix服务器生成私钥和CSR。

openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr

运行以上命令时,请勿提供密码来加密私钥。使用CSR生成Zabbix服务器的证书。

openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256

同样,为Zabbix主机或代理生成私钥和CSR。

openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr

现在生成证书。

openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256

将证书复制到Zabbix配置目录中。

sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys

向Zabbix用户提供证书的所有权。

sudo chown -R zabbix: /etc/zabbix/keys

打开Zabbix服务器的配置文件以更新证书的路径。

sudo nano /etc/zabbix/zabbix_server.conf

在配置文件中找到这些行,并进行如下所示的更改。

TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key

保存文件并退出编辑器。重新启动Zabbix服务器,以使配置更改生效。

sudo systemctl restart zabbix-server

使用scp命令将证书复制到要监视的主机。

cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* [email protected]:~

确保192.0.2.2用要在其上安装Zabbix代理的远程主机的实际IP地址替换。

安装Zabbix主机

现在,我们已将证书复制到主机系统,我们准备安装Zabbix代理。

从现在开始,所有命令都需要在您要监视的主机上执行

将Zabbix存储库添加到系统中。

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update

将Zabbix代理安装到系统中。

sudo apt -y install zabbix-agent

有关Zabbix的配置和设置,请转到CentOS 7的Zabbix指南的“ 安装Zabbix主机”步骤。



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息