CentOS 7部署Zabbix 6.0监控系统
一、前言
Zabbix作为企业级开源监控解决方案,能够实现对服务器、网络设备、应用服务的全方位监控。本文将手把手教你在CentOS 7系统上部署Zabbix 6.0版本,涵盖以下内容:
-
服务端+Web前端完整部署
-
监控客户端配置与数据验证
二、环境准备
2.1 服务器规划
角色 | IP地址 |
---|---|
Zabbix Server | 10.10.2.12 |
Zabbix Agent | 10.10.2.13 |
2.2 系统初始化
关闭服务端和客户端的防火墙和SELinux
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
配置服务端和客户端时间同步
yum install -y chrony
systemctl enable --now chronyd
chronyc sources -v
更改主机名
三、数据库部署(MariaDB)
3.1 安装数据库
配置阿里云镜像源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF
安装数据库并启动
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
3.2 数据库初始化
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如123456) -> 后面一路 Y
进入数据库输入如下命令
mysql -u root -p123456
3.3、向数据库导入 zabbix 数据
先下载源码包到opt目录下
cd /opt/
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.13.tar.gz
tar xf zabbix-6.0.13.tar.gz
ls /opt/zabbix-6.0.13/database/mysql
然后导入数据库
cd /opt/zabbix-6.0.13/database/mysql
mysql -uroot -p123456 zabbix < schema.sql
mysql -uroot -p123456 zabbix < images.sql
mysql -uroot -p123456 zabbix < data.sql
mysql -uroot -p123456 zabbix < double.sql
mysql -uroot -p123456 zabbix < history_pk_prepare.sql
四、Zabbix服务端安装
4.1 安装依赖,创建用户
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make
useradd -s /sbin/nologin -M zabbix
4.2 编译安装
cd /opt/zabbix-6.0.13/
export CFLAGS="-std=gnu99"
./configure
--sysconfdir=/etc/zabbix/
--enable-server
--with-mysql
--with-net-snmp
--with-libxml2
--with-ssh2
--with-openipmi
--with-zlib
--with-libpthread
--with-libevent
--with-openssl
--with-ldap
--with-libcurl
--with-libpcre
make install
4.3 检查安装版本
zabbix_server --version
4.4 修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf
第38行,指定 zabbix 日志路径
第123行,指定 zabbix 数据库的密码
创建日志文件,并修改属组和属主权限
touch /var/log/zabbix_server.log
chown zabbix.zabbix /var/log/zabbix_server.log
4.5、准备 systemctl 服务管理文件
vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
五.部署 Nginx + PHP 环境并测试
5.1 安装 nginx
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
yum install -y nginx
5.2 安装php
yum install -y epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath
5.3 修改nginx配置
vim /etc/nginx/conf.d/zbx.conf
server {
listen 80;
#server_name zbx.abc.com;
server_name 10.10.2.12;
root /var/www/zbx;
location / {
index index.php;
}
location ~ .php$ {
root /var/www/zbx;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/zbx$fastcgi_script_name;
include fastcgi_params;
}
}
5.4 修改php配置
vim /etc/php-fpm.d/www.conf
vim /etc/php.ini
max_execution_time = 300 # 368行
max_input_time = 600 # 378行
post_max_size = 80M # 656行
date.timezone = Asia/Shanghai # 877行
5.5 创建目录和测试文件,启动服务
mkdir -p /var/www/zbx
vim /var/www/zbx/index.php
systemctl enable --now nginx php-fpm
5.6 测试访问
直接浏览器访问:http://10.10.2.12/index.php
六. 部署 Web 前端,进行访问
cp -r /opt/zabbix-6.0.13/ui/* /var/www/zbx
chown -R nginx.nginx /var/www/zbx
1.浏览器访问:http://zbx.abc.com/ 或 http://10.10.2.12
2.【Default language】选择 Chinese(zh_CN),点击下一步
3.【密码】输入 zabbix,点击下一步
4.【Zabbix主机名称】输入 Zabbix-监控;【默认时区】选择 Asia/Shanghai,点击下一步
5.安装完成后,默认的登录账号和密码为:Admin/zabbix
配置完成
输入密码登录进来
七. 安装 zabbix 客户端,实现 zabbix 服务端自我监控
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2
systemctl enable --now zabbix-agent2
八. 添加 zabbix 客户端
8.1 服务端和客户端都设置 hosts 解析
cat > /etc/hosts << EOF
10.10.2.12 zbx-server
10.10.2.13 zbx-agent
EOF
8.2 设置 zabbix 的下载源,安装 zabbix-agent
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2
8.3 修改 agent 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=10.10.2.12 #80行,指定 zabbix 服务端的 IP 地址
ServerActive=10.10.2.12 #133行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent #144行,指定当前 zabbix 客户端的主机名
//启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
8.4 在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get #安装 zabbix 主动获取数据的命令
zabbix_get -s '10.10.2.13' -p 10050 -k 'agent.ping'
1
zabbix_get -s '10.10.2.13' -p 10050 -k 'system.hostname'
zbx-agent01
#常用的键值
agent.ping #服务端与客户端是否连通,返回1表示可达,返回非表示不可达
system.hostname #系统主机名
agent.hostname #客户端主机名
net.if.in[if,] #网络接口进入的流量统计,if表示网卡名称,带<>的参数表示可以省略
net.if.out[if,] #网络接口流出的流量统计
proc.num[,,,,] #进程数
net.tcp.port[,port] #检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接
8.5 在 Web 页面中添加 agent 主机
1.点击左边菜单栏【配置】中的【主机】,点击【创建主机】
2.【主机名称】输入 zbx-agent01
3.【可见的名称】输入 zbx-agent01-10.10.2.13
4.【模板】搜索 Linux ,选择 Linux by Zabbix agent
5.【群组】选择 Linux servers
6.【Interfaces】点击添加 客户端,【IP地址】输入 10.10.2.13
·这里可以看到已经添加成功