引言

Zabbix是一个功能强大的开源监控解决方案,适用于各种规模的企业。它能够监控服务器、网络设备、应用程序等,并提供实时数据、图表和报告,帮助管理员快速定位和解决问题。本文将详细介绍如何在CentOS系统上轻松部署Zabbix监控系统,从入门到实战,帮助您快速上手。

一、Zabbix概述

1.1 什么是Zabbix

Zabbix是一个开源的、免费的、易于理解的、容易应用的监控软件。它适用于企业中各种规模的网络和IT基础设施的监控。

1.2 为什么选择Zabbix

  • 功能强大:支持多种监控项、触发器、图形和报告。
  • 易于扩展:支持插件和自定义监控项。
  • 开源免费:降低企业成本。

二、安装前的系统准备工作

2.1 配置主机名

hostnamectl set-hostname zabbix-server

2.2 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.3 关闭SELinux

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2.4 配置YUM源

cat << EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository
baseurl=http://repo.zabbix.com/zabbix/7.0/centos/7/
enabled=1
gpgcheck=0
EOF

2.5 配置时钟同步

yum install ntp -y
systemctl start ntpd
systemctl enable ntpd

2.6 优化系统限制

echo 'fs.file-max = 65536' >> /etc/sysctl.conf
echo 'net.core.somaxconn = 65535' >> /etc/sysctl.conf
sysctl -p

2.7 安装JDK

yum install java-1.8.0-openjdk -y

三、部署LNMP环境

3.1 部署Nginx

yum install nginx -y
systemctl start nginx
systemctl enable nginx

3.2 部署MySQL

yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation

3.3 部署PHP

yum install php php-mysql -y

四、部署Zabbix Server

4.1 安装依赖软件

yum install -y net-snmp net-snmp-utils openipmi openipmi-sysfs

4.2 创建用户

groupadd zabbix
useradd -g zabbix -s /sbin/nologin -M -c "Zabbix user" zabbix

4.3 编译安装zabbix服务

tar -zxf zabbix-7.0.0.tar.gz
cd zabbix-7.0.0
./configure --enable-source-includes --with-mysql --with-openssl --with-pgsql --with-net-snmp --with-openipmi --with-apache --with-nginx
make
make install

4.4 创建数据库用户

mysql -u root -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
exit

4.5 初始化数据库

cd /usr/local/zabbix
./db_create.sql zabbix zabbix

4.6 复制前端文件

cp -r frontends/* /usr/share/nginx/html/zabbix

4.7 添加系统服务

systemctl start httpd
systemctl enable httpd

4.8 编辑zabbix配置文件

sed -i 's/# Start Zabbix Server/zabbix_server: yes/g' /etc/sysconfig/zabbix-server
sed -i 's/# Start Zabbix Agent/zabbix_agent: yes/g' /etc/sysconfig/zabbix-agent

4.9 启动服务

systemctl start zabbix-server
systemctl start zabbix-agent
systemctl enable zabbix-server
systemctl enable zabbix-agent

4.10 初始化服务

/usr/local/zabbix/bin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf -i

4.11 编译安装zabbixagent2

tar -zxf zabbix_agent2-4.0.0.tar.gz
cd zabbix_agent2-4.0.0
./configure --enable-source-includes --with-mysql --with-openssl --with-pgsql --with-net-snmp --with-openipmi --with-apache --with-nginx
make
make install

4.12 编辑zabbixagent2配置文件

sed -i 's/# Start Zabbix Agent/zabbix_agent2: yes/g' /etc/sysconfig/zabbix-agent2

4.13 启动zabbixagent2

systemctl start zabbix-agent2
systemctl enable zabbix-agent2

五、Zabbix监控中汉化

5.1 修改前端页面语言

sed -i 's/en_US/en_ZN/g' /usr/local/zabbix/share/zabbix.conf.php

5.2 替换字体并解决乱码

yum install wqy-microhei wqy-microhei-oem -y

5.3 重载并验证字体

nginx -s reload

六、Zabbix添加Linux主机监控

6.1 环境准备

确保Zabbix Server和Agent2已安装并启动。

6.2 安装zabbix-agent2

yum install zabbix-agent2 -y

6.3 配置zabbix-agent2

sed -i 's/# Hostname/Hostname = zabbix-agent2/g' /etc/zabbix/zabbix_agent2.conf
sed -i 's/# Server/Server = 192.168.1.100/g' /etc/zabbix/zabbix_agent2.conf
sed -i 's/# ServerActive/ServerActive = 192.168.1.100/g' /etc/zabbix/zabbix_agent2.conf

6.4 启动zabbix-agent2

systemctl start zabbix-agent2
systemctl enable zabbix-agent2

6.5 配置Zabbix-web

sed -i 's/# Zabbix frontend path/IncludeDir = /usr/local/zabbix/share/nginx/html/zabbix/g' /etc/nginx/nginx.conf

6.6 重载并验证配置

nginx -s reload

七、Zabbix添加Windows主机监控

7.1 安装Zabbix-Agent2

cd /usr/local/src
wget https://dlcdn.apache.org/zabbix/zabbix-agent2/zabbix-agent2-4.0.0.Windows.x86_64.zip
unzip zabbix-agent2-4.0.0.Windows.x86_64.zip
cd zabbix-agent2-4.0.0.Windows.x86_64
./install.sh

7.2 启动Zabbix-Agent2

cd /usr/local/zabbix_agent2
./zabbix_agent2c.exe

7.3 服务端测试取值

zabbix_get -s 192.168.1.101 -k system.cpu.load[0]

7.4 配置zabbix-Web

sed -i 's/# Zabbix frontend path/IncludeDir = /usr/local/zabbix/share/nginx/html/zabbix/g' /etc/nginx/nginx.conf

7.5 重载并验证配置

nginx -s reload

八、总结

通过本文的详细步骤,您可以在CentOS系统上轻松部署Zabbix监控系统。Zabbix具有丰富的功能和易用的界面,可以帮助您轻松监控各种网络和IT基础设施。希望本文对您有所帮助!