自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案

Zabbix是一个开源的(遵循 GPLv2 协议)且支持中文语言的IT基础架构、服务、应用程序和资源监控系统。它使用 C/S 架构,由 Server(服务器端) 与 Agent(客户端代理) 组成。

本方案基于CentOS8系统设计,建议在RedHat/CentOS系统中使用。

1. 部署拓扑图

自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第1张图片
Zabbix 部署拓扑图

网络资源规划:

1、服务器端

  • 主机名:Zabbix
  • IP 地址:192.168.0.10:10051
  • 程序:Zabbix Server
  • 系统:CentOS8

2、客户端

节点名 主机名 IP:PORT 程序 平台
客户端-1 host 192.168.0.21:10050 Zabbix Agent Linux
客户端-2 host 192.168.0.22:10050 Zabbix Agent Windows
客户端≥3 host 192.168.0.23:10050 Zabbix Agent MacOS

2. 服务器端安装和配置

1、安装和初始化数据库。

1)安装 MySQL 或 MariaDB:

[centos@Zabbix ~ ]$ sudo dnf install mysql-server mysql

或者:

[centos@Zabbix ~ ]$ sudo dnf install mariadb-server mariadb

2)启动数据库并设置为开机自启动:

[centos@Zabbix ~ ]$ sudo systemctl start mysqld
[centos@Zabbix ~ ]$ sudo systemctl enable mysqld

或者:

[centos@Zabbix ~ ]$ sudo systemctl start mariadb
[centos@Zabbix ~ ]$ sudo systemctl enable mariadb

3)初始化数据库根管理员账号【root】的口令:

[centos@Zabbix ~ ]$ mysqladmin -u root password "password"

4)测试登录数据库:

[centos@Zabbix ~ ]$ mysql -u root -p
Enter password:
mysql> 

2、安装 Web 中间件 。

[centos@Zabbix ~ ]$ sudo dnf install httpd

3、安装 Zabbix 服务器端 。

1)打开 Zabbix 官方网站下载页面,选择 Zabbix 适配的操作系统和基础环境。

自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第2张图片

2)下载并安装 Zabbix 官方 yum 源配置文件。

[centos@Zabbix ~ ]$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
[centos@Zabbix ~ ]$ sudo dnf clean all
[centos@Zabbix ~ ]$ sudo dnf makecache

3)安装 Zabbix Server、Zabbix Web、Zabbix Agent。

[centos@Zabbix ~ ]$ sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

4)创建和配置 Zabbix 数据库。

[centos@Zabbix ~ ]$ mysql -u root -p
Enter password:
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> flush privileges;
mysql> quit; 

5)导入 Zabbix 数据库结构。

[centos@Zabbix ~ ]$ zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix 

6)设置 Zabbix 配置文件参数。

使用文本编辑器打开配置文件:

[centos@Zabbix ~ ]$ sudo gedit /etc/zabbix/zabbix_server.conf 

修改或验证文件中的以下参数并保存:

# 服务器端口号,默认值是10051。
ListenPort=10051

# 日志文件路径
LogFile=/var/log/zabbix/zabbix_server.log

# 运行时文件路径
PidFile=/var/run/zabbix/zabbix_server.pid

# Socket目录
SocketDir=/var/run/zabbix

# 数据库服务器IP或DNS。
DBHost=localhost

# 数据库名称。
DBName=zabbix

# 数据库用户账号。
DBUser=zabbix

# 数据库用户的口令。
DBPassword=password

注意:一般情况下只需要设置【DBPassword】参数即可,其他的使用默认值。

7)设置并启用 Web 中间件模块。

[centos@Zabbix ~ ]$ sudo gedit /etc/php-fpm.d/zabbix.conf

将文件中代码 "; php_value[date.timezone] = Europe/Riga" 改为如下并保存:

php_value[date.timezone] = Asia/Shanghai

注意:去掉 ";" 表示取消注释该行代码;"Asia/Shanghai" 表示中国时区。

8)修改 SELinux 配置文件,永久关闭 SELinux。

使用文本编辑器打开"/etc/selinux/config"文件:

[centos@host ~]$ sudo gedit /etc/selinux/config

将 "SELINUX" 参数设置为:"permissive" 或者 "disabled",并保存:

#     enforcing - 表示启用 SELinux 安全策略。
#     permissive - 表示启用 SELinux 安全策略,但不强制验证。如果执行第一步可以正常运行,则建议设置此值。
#     disabled - 关闭 SELinux 安全策略,相当于没有安装 SELinux。
SELINUX=disabled

重启服务器:

[centos@host ~]$ sudo reboot

9)启动 Zabbix 相关服务,并设置为开启自启动。

[centos@Zabbix ~ ]$ sudo systemctl start zabbix-server zabbix-agent httpd php-fpm
[centos@Zabbix ~ ]$ sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm 

10)设置防火墙端口(CentOS8默认安装firewall防火墙),允许"80"、"10051"、"10050"端口(Zabbix 默认端口)访问服务器。

[centos@Zabbix ~ ]$ sudo firewall-cmd --zone=public --add-port=10051/tcp --permanent
[centos@Zabbix ~ ]$ sudo firewall-cmd --zone=public --add-port=10050/tcp --permanent
[centos@Zabbix ~ ]$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
[centos@Zabbix ~ ]$ sudo firewall-cmd --reload

4、配置 Zabbix 服务器端 。

在浏览器中输入【http://localhost/zabbix】。

自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第3张图片
欢迎页
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第4张图片
前置检查
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第5张图片
数据库配置
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第6张图片
中间件配置
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第7张图片
安装前摘要
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第8张图片
完成页

5、使用 Zabbix 监控器 。

在浏览器中输入【http://localhost/zabbix】,初始用户的账号和口令分别是:【Admin】和【zabbix】,账号和口令都区分大小写。

自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第9张图片
用户认证
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第10张图片
主界面
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第11张图片
设置中文语言
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第12张图片
中文主界面

3. 客户端安装和配置

1、打开 Zabbix 官方网站下载页面,选择 Zabbix 适配的操作系统和基础环境。

自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第13张图片

2、下载并安装 Zabbix 官方 yum 源配置文件。

[centos@host ~ ]$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
[centos@host ~ ]$ sudo dnf clean all
[centos@host ~ ]$ sudo dnf makecache

3、安装 Zabbix Agent。

[centos@host ~ ]$ sudo dnf install zabbix-agent

4、设置 Zabbix 配置文件参数。

使用文本编辑器打开配置文件:

[centos@host ~ ]$ sudo gedit /etc/zabbix/zabbix_agentd.conf 

修改或验证文件中的以下参数并保存:

# 日志文件路径
LogFile=/var/log/zabbix/zabbix_agentd.log

# 运行时文件路径
PidFile=/var/run/zabbix/zabbix_agentd.pid

# Zabbix 服务器端IP地址。
Server=192.168.0.10

# Zabbix 主动检查本机数据接收服务器IP地址。
ServerActive=192.168.0.10

# 客户端主机名称。
Hostname=192.168.0.21

# 代理端口号,默认值是10050。
ListenPort=10050

5、修改 SELinux 配置文件,永久关闭 SELinux。

使用文本编辑器打开"/etc/selinux/config"文件:

[centos@host ~]$ sudo gedit /etc/selinux/config

将 "SELINUX" 参数设置为:"permissive" 或者 "disabled",并保存:

#     enforcing - 表示启用 SELinux 安全策略。
#     permissive - 表示启用 SELinux 安全策略,但不强制验证。如果执行第一步可以正常运行,则建议设置此值。
#     disabled - 关闭 SELinux 安全策略,相当于没有安装 SELinux。
SELINUX=disabled

重启服务器:

[centos@host ~]$ sudo reboot

6、启动 Zabbix Agent 服务,并设置为开启自启动。

[centos@host ~ ]$ sudo systemctl start zabbix-agent
[centos@host ~ ]$ sudo systemctl enable zabbix-agent

7、设置防火墙端口(CentOS8默认安装firewall防火墙),允许"10050"端口(Zabbix Agent 默认端口)访问服务器。

[centos@host ~ ]$ sudo firewall-cmd --zone=public --add-port=10050/tcp --permanent
[centos@host ~ ]$ sudo firewall-cmd --reload

注意:所有客户端都需按照以上步骤配置。

8、在 Zabbix 监控系统中配置客户端主机。

在浏览器中输入【http://localhost/zabbix】,初始用户的账号和口令分别是:【Admin】和【zabbix】,账号和口令都区分大小写。

自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第14张图片
在【配置 --> 主机】页面中创建新的主机
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第15张图片
填写客户端主机基本信息
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第16张图片
选择监控点模块并添加
自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案_第17张图片
添加完成

注意:添加完成后,需要等待大约 3 分钟才能建立服务器和客户端的数据通信,之后刷新一下页面,如果发现该主机的可用性标记为下图状态,则表示客户端已受控。

图片.png

常见问题:更改 Zabbix 用户的口令

[centos@Zabbix ~ ]$ mysql -u root -p
Enter password:
mysql> use zabbix;
mysql> update users set passwd=md5('password') where alias= 'Admin';

你可能感兴趣的:(自动化运维之【Zabbix+MySQL+Httpd】IT基础架构、服务、应用程序和资源监控方案)