type
status
date
slug
summary
tags
category
icon
password

1、基础信息

1.1 环境介绍

本案例全部软件都采用官网安装包或安装流程进行安装,由于7不支持yum安装zabbix,因此采用了编译安装的方式
软件也可以按需选择版本、YUM安装,请自行选择。

1.2 软件版本

名称
软件版本
链接
操作系统
CentOS 7.9
自行安装(安装时选择中文)
中间件
Nginx 1.20.2
http://nginx.org/download/nginx-1.20.2.tar.gz
PHP
PHP 7.3.12
https://www.php.net/distributions/php-7.3.12.tar.gz
数据库
Mysql 8.0.12
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.12.tar.gz
Zabbix
LTS 6.0.28
https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.28.tar.gz

1.3 服务器配置

目前由于负载不大,暂时全在一台机器上,后期按使用率分配
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
iptables -F
notion image
关闭SELinux
notion image

2、编译安装

搭建LNMP环境

2.1 Nginx

安装依赖
yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel autoconf automake cmake GeoIP-devel.x86_64
notion image
notion image
创建用户和解压安装包
useradd -s /sbin/nologin -M www
notion image
下载安装包
wget http://nginx.org/download/nginx-1.20.2.tar.gz
notion image
解压到指定目录 tar -zxvf nginx-1.20.2.tar.gz -C /usr/local/src
notion image
进入解压后的目录
cd /usr/local/src/nginx-1.20.2
notion image
设置预编译环境
notion image
notion image
编译安装
make && make install
notion image
notion image
为Nginx添加PHP环境
notion image
notion image
配置启动脚本
notion image

2.2 PHP

安装libzip环境依赖
下载安装包
wget https://nih.at/libzip/libzip-1.2.0.tar.gz --no-check-certificate
notion image
解压安装包
tar -zxvf libzip-1.2.0.tar.gz
notion image
编译安装
notion image
notion image
notion image
配置环境变量
notion image
刷新环境变量
ldconfig -v
notion image
配置zip扩展环境 cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
notion image
安装PHP
安装依赖 yum -y install libxml2 libxml2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel openssl openssl-devel
notion image
下载安装包
notion image
解压安装包到指定位置
tar -zxvf php-7.3.12.tar.gz -C /usr/local/src/
notion image
进入解压的目录
cd /usr/local/src/php-7.3.12/
notion image
编译安装
notion image
notion image
安装 make && make install
notion image
notion image
配置php和php-fpm 生成php自身配置文件 cp /usr/local/src/php-7.3.12/php.ini-production /usr/local/php73/etc/php.ini 生成php-fpm配置文件 cp /usr/local/php73/etc/php-fpm.d/www.conf.default /usr/local/php73/etc/php-fpm.d/www.conf cp /usr/local/php73/etc/php-fpm.conf.default /usr/local/php73/etc/php-fpm.conf
notion image
添加环境变量
echo 'PATH=/usr/local/php/bin:$PATH' >> /etc/profile
刷新环境变量
source /etc/profile
notion image
生成php-fpm启动脚本 cp /usr/local/src/php-7.3.12/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
notion image
notion image
notion image
notion image

2.3 MySQL

添加环境依赖并生效
notion image
安装依赖包 yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
notion image
下载MySQL8的源码包 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.12.tar.gz
notion image
添加用户组 groupadd mysql useradd -M -s /sbin/nologin -r -g mysql mysql
notion image
解压到指定位置 tar -zxvf mysql-boost-8.0.12.tar.gz -C /usr/local/src
notion image
设置预编译环境
notion image
notion image
安装
make -j4 && make install -j4
notion image
notion image
编辑配置文件
notion image
添加path路径 echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile source /etc/profile
notion image
生成启动脚本 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加执行权限 chmod +x /etc/init.d/mysqld 修改权限 chown -R mysql:mysql /usr/local/mysql
notion image
初始化数据库 /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 启动服务 /etc/init.d/mysqld start
notion image
刚安装完成无需密码登录,直接输入mysql
notion image
复制服务脚本 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld # 添加此服务到系统服务 chkconfig --add mysqld # 添加服务后,就可以使用systemctl命令进行管理了 # 启动服务 systemctl start mysqld # 设置服务为开机自启动 systemctl enable mysqld # 查看服务运行状态 systemctl status mysqld
notion image

2.4 Zabbix 6.0LTS

使用mysql创建数据库、用户、授权
notion image
下载压缩包,解压 wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.28.tar.gz
notion image
解压到指定目录
tar -zvxf zabbix-6.0.28.tar.gz -C /usr/local/src
notion image
创建用户组、授权等 groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
notion image
安装软件,设置系统时间与网络时间同步 yum -y install ntpdate ntpdate ntp1.aliyun.com
notion image
安装依赖 yum install -y mariadb-devel net-snmp-devel libevent-devel unixODBC-devel libssh2-devel openldap openldap-devel
notion image
安装go环境
下载安装包 wget https://dl.google.com/go/go1.18.linux-amd64.tar.gz
notion image
解压到指定目录
tar zxvf go1.18.linux-amd64.tar.gz -C /usr/local/
notion image
添加环境变量并刷新
echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile
source /etc/profile
notion image
验证环境
cd /usr/local/go go env
notion image
配置 go mod 代理 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
notion image
安装JDK环境
下载安装包(需要拥有Oracle账号)
notion image
解压文件到/usr/local tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local
notion image
配置环境变量
notion image
验证环境
java -version
notion image
设置预编译环境
notion image
notion image
安装
make && make install
notion image
notion image
notion image
修改zabbix server配置文件
notion image
notion image
notion image
修改PHP配置文件参数
notion image
进入编译好的/usr/local/zabbix/sbin/下启动server与agentd服务
cd /usr/local/zabbix/sbin/ ./zabbix_server ./zabbix_agentd
notion image
Zabbix 前端是 PHP 编写的,所以必须运行在支持 PHP 的 Web 服务器上。需要从ui路径下复制 PHP 文件到 Web 服务器的 HTML 文档目录,完成安装,把整个ui目录都拷贝过去并命名为zabbix cd /usr/local/src/zabbix-6.0.28/ cp -r ui /usr/local/nginx/html/zabbix/
notion image
重启php /etc/init.d/php-fpm restart
notion image
配置开机自启 复制源码启动文文件——从解压的源码包zabbix-6.0.28里取 cp -r /usr/local/src/zabbix-6.0.28/misc/init.d/fedora/core/* /etc/init.d/ 修改zabbix_server脚本 vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
notion image
修改zabbix_agentd脚本
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
notion image
给脚本执行权限 chmod 775 /etc/init.d/zabbix_* 配置开机自启 chkconfig zabbix_server on chkconfig zabbix_agentd on
notion image
页面有乱码——替换字体文件(改为DejaVuSans.ttf) windows系统C:\Windows\Fonts cd /usr/local/nginx/html/zabbix/assets/fonts
mv xxxxx.ttf DejaVuSans.ttf 重启服务 service zabbix_server restart
notion image
报错
notion image
安装完成,访问http://IP/zabbix/setup.php
notion image
初始化界面配置
notion image
notion image
notion image
notion image
notion image
# 根据需求下载zabbix.conf.php并移动到指定位置
notion image
notion image
notion image

3、被监控客户端安装

被监控客户端安装相对简单,Windows直接下载MSI安装包,CentOS 按照官网的流程yum或者编译安装即可,还有客户端需要在防火墙开放10050端口
在官网下载对应安装包:https://www.zabbix.com/cn/download_agents
本文的环境是6.0 LTS 6.0.28,你可以根据实际情况选择,版本建议选择agent2,功能、性能都好一些。

3.1 Windows

notion image
notion image
notion image
notion image
notion image
notion image

3.2 Linux

1、yum安装
notion image
2、编译安装
安装go环境
下载安装包 wget https://dl.google.com/go/go1.18.linux-amd64.tar.gz
notion image
解压到指定目录
tar zxvf go1.18.linux-amd64.tar.gz -C /usr/local/
notion image
添加环境变量并刷新
echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile
source /etc/profile
notion image
验证环境
cd /usr/local/go go env
notion image
配置 go mod 代理 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
notion image
下载zabbix源码包 wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.28.tar.gz
notion image
解压到指定目录 tar zxvf zabbix-6.0.28.tar.gz -C /usr/local/src
notion image
安装依赖
yum -y install cmake make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel mariadb-devel net-snmp-devel libevent-devel -y
notion image
进入解压目录 cd /usr/local/src/zabbix-6.0.28/ 设置预编译环境 ./configure --prefix=/usr/local/zabbix -enable-agent2
notion image
notion image
编译安装 make && make install
notion image
notion image
默认文件位置
修改zabbix_agent2.conf 配置文件
notion image
配置启动脚本
notion image

4、Zabbix中添加客户端

4.1 登录zabbix

找到监测-主机
notion image

4.2 创建主机(被动模式)

主动模式和被动模式区别
被动模式:被动模式就是由zabbix server向zabbix agent发出指令获取数据, 即zabbixagent被动的去获取数据并返回给zabbix server, zabbix server周期性的向agent 索取数据, 这总模式的最大问题就是会加大zabbix server的工作量, 在数百台服务器的环境下zabbix server不能及时获取到最新数据, 但这也是默认的工作方式。
主动模式:是由zabbix agent主动采集数据并返回给zabbix server, 不再需要zabbix serve进行干预, 因此主动模式在一定程度上可减轻zabbix server的压力
  • 主机名:填写IP地址或主机名
  • 模板根据系统类型选择:
  • Windows选择:Windows by Zabbix agent
  • Liunx选择:Linux by Zabbix agent
  • 群组:自行选择,可以用自带的,也可以新建
  • Interfaces:点击“添加”,选择“客户端”,填写客户端IP地址
notion image
notion image

4.3 添加完成

ZBX图标变为绿色,表示添加成功
notion image

4.4 查看数据

点击最新数据,能看到数据表示监控成功
notion image
notion image

5、拓扑图显示流量

选择监测-拓扑图
点进Local network
notion image
选择编辑拓扑图
notion image
点中Zabbix Server主机编辑,其他部分不需要调整,编辑链接即可。
notion image
notion image
添加标签
notion image
键值可以在配置-主机-监控项里查找
notion image
notion image
notion image
保存
notion image

6、配置钉钉机器人告警

6.1 编写脚本

notion image
 
notion image
notion image
notion image

6.2 web端配置

创建报警媒介--->创建用户群组--->创建用户--->创建触发器动作
配置报警媒介
notion image
只有钉钉机器人配置
脚本参数:
{ALERT.SENDTO}
#对应脚本中的,user=sys.argv[1](发送给钉钉群中的哪个用户)
{ALERT.SUBJECT}
#代表发送的信息的标题,在"报表"的"动作日志"中可以看到。
{ALERT.MESSAGE}
#对应脚本中的,text=sys.argv[3](发送的报警内容)
notion image
报警动作设置
创建动作
notion image
添加触发器
notion image
添加告警操作和恢复操作
notion image
添加警告操作
notion image
添加恢复操作
notion image
恢复操作配置
notion image
给用户添加报警媒介
点击用户-------报警媒介-------添加
"收件人"对应"钉钉告警"中的:{ALERT.SENDTO}
特别注意:这里只需要添加钉钉群里的任何一个成员的钉钉账号即可,即添加一个收件人,这样在机器人群里
成员都能看到告警信息.
如果添加多个收件人,则机器人群里就会发送多个告警信息,一个收件人发一条信息.
# 填写钉钉号是普通发送 填写手机号是@用户发送
notion image
自律篇Docker搭建NextCloud网盘
Loading...