文章目录
👹 关于作者
大家好,我是秋意临。
😈 CSDN作者主页
- 😎 博客主页
👿 简介
- 👻 普通本科生在读
- 在校期间参与众多计算机相关比赛,如:🌟 “省赛”、“国赛”,斩获多项奖项荣誉证书
- 🔥 各个平台,秋意临 账号创作者
- 🔥 云社区 创建者
点赞、收藏+关注下次不迷路!
欢迎加入云社区
Zabbix 系列文章目录
【Zabbix_6.x 第一章】概述、功能、术语、架构
【Zabbix_6.x 第二章】部署新版 Zabbix-6.0,你该了解了解
【Zabbix_6.x 第三章】 监控任意主机
第二章 Zabbix 搭建
一、前言
这一章我们将搭建 zabbix,由于官网提供的 zabbix-6.0 版本没有 yum 安装,所以我们需要下载 zabbix-6.0 源码使用编译安装 zabbix-6.0。
二、安装须知
注意:我们自主练习,这里我们目前只需要一个 zabbix_server 节点,zabbix_agent2 节点目前没有牵扯到安装配置。
1、 节点规划
系统 | IP | 服务 | VCPUS | MEMORY |
---|---|---|---|---|
centos7.x | 192.168.200.5 | LNMP、zabbix_server、zabbix_ui | 2vcpus | 4g |
centos7.x | 192.168.200.6 | nginx、zabbix_agent2 | 2vcpus | 4g |
图解,如下图:
2、安装要求
maridb 数据库软件要求
php 软件要求
zabbix_server、agent 软件条件
agent2 软件要求
三、Zabbix-6.0 LTS 下载
官方源码下载地址:https://www.zabbix.com/cn/download_sources#60LTS
推荐下载带有 TLS 的版本,因为这是长期维护版(3-10年),其他(1-3年)
如下图所示:
四、基础环境配置
说明:基础环境,所以主机都需要配置
修改主机名
1.server hostnamectl set-hostname zabbix_server01 bash # 或者 ctrl+d 重新登录 2.agent hostnamectl set-hostname zabbix_agent01 bash # 或者 ctrl+d 重新登录
配置host
cat >> /etc/hosts << EOF192.168.200.5 zabbix_server01192.168.200.6 zabbix_agent02EOF
关闭防火墙、selinux
systemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
配置 yum
# 清除默认yumrm -rf /etc/yum.repos.d/*# 阿里云 centos7 yum curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo#nginx yumcat > /etc/yum.repos.d/nginx.repo << EOF[nginx]name=nginxbaseurl=https://nginx.org/packages/centos/7/x86_64/gpgcheck=0enabled=1EOF#mariadb yumcat > /etc/yum.repos.d/mariadb.repo <<EOF[mariadb]name=mariadbbaseurl=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.5.19/yum/centos/7/x86_64/gpgcheck=0enabled=1EOF#php yumyum -y install epel-release curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.reporpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm1、如下:[root@zabbix_server01 ~]# ll /etc/yum.repos.d/total 32-rw-r--r-- 1 root root 1759 Mar 2 09:54 CentOS-Base.repo-rw-r--r-- 1 root root 664 Mar 19 16:10 epel.repo-rw-r--r-- 1 root root 1050 Oct 3 2017 epel-testing.repo-rw-r--r-- 1 root root 134 Mar 19 16:08 mariadb.repo-rw-r--r-- 1 root root 92 Mar 19 16:08 nginx.repo-rw-r--r-- 1 root root 963 Oct 9 2014 webtatic-archive.repo-rw-r--r-- 1 root root 865 Oct 9 2014 webtatic.repo-rw-r--r-- 1 root root 963 Oct 9 2014 webtatic-testing.repo
时间同步
yum install -y ntpdatentpdate ntp1.aliyun.com
五、LNMP 环境搭建
说明:这里我们只在 zabbix_server01 主机节点操作
安装配置 nginx
安装
yum install nginx -y
配置
vim /etc/nginx/conf.d/default.confserver { listen 80; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; ## 可以修改前端页面代码路径 index index.html index.htm index.php; ## 添加 index.php ,使得默认可以识别 index.php 文件 }# 取消这里的注释,并修改location ~ \.php$ { root /usr/share/nginx/html; # 修改 和上面的前端页面代码路径一致 fastcgi_pass 127.0.0.1:9000; # 9000是 php-fpm 的进程,而 php 文件都需要交给 php-fpm 处理 fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 使用这个会找不到 文件 “ File Not Found ” fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
启动
systemctl enable nginxsystemctl start nginxnetstat -ntpul | grep 80
浏览器测试
安装配置 php
安装
yum install php72w-cli php72w-fpm php72w-ldap php72w-mbstring php72w-xml php72w-common php72w-bcmath php72w-gd php72w-ldap php72w-mysqlnd mod_php72w -y
配置
vim /etc/php-fpm.d/www.conf# 修改用户和组为nginxuser = nginx; RPM: Keep a group allowed to write in log dir.group = nginx
编写 info.php 测试文件
cat > /usr/share/nginx/html/info.php << EOFEOF
启动
systemctl enable php-fpmsystemctl start php-fpmnetstat -ntpul | grep 9000
浏览器测试
注意路径需填写到 info.php
安装配置 mariadb
注意:数据库有版本要求,需要10.5及以上
安装
yum install mariadb-server -y
启动
systemctl enable mariadbsystemctl start mariadb
初始化
$ mysql_secure_installationEnter current password for root (enter for none): # 默认回车Switch to unix_socket authentication [Y/n] n # 输入nChange the root password? [Y/n] y # 输入yNew password: # # 输入密码Re-enter new password: # 确认密码Remove anonymous users? [Y/n] y # 输入yDisallow root login remotely? [Y/n] n # 输入nRemove test database and access to it? [Y/n] y # 输入y Reload privilege tables now? [Y/n] y # 输入y
创建数据库、用户、给 zabbix 数据库授予权限、导入 zabbix 数据表
注意:zabbix 数据表在源码中,上传你所下载的源码到 zabbix_server01 主机
# 进入 mariadb 数据库$ mysql -uroot -p0000001. 创建数据库要指定字符集create database zabbix charset utf8 collate utf8_bin;2. 创建zabbix用户、并给予操作 zabbix 数据库的权限grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';3、解压 zabbix 源码包tar -xf zabbix-6.0.14.tar.gzcd zabbix-6.0.14/database/mysql/4、导入 zabbix 数据库的数据表mysql -uroot -p000000 zabbix < schema.sqlmysql -uroot -p000000 zabbix < images.sqlmysql -uroot -p000000 zabbix < data.sqlmysql -uroot -p000000 zabbix < double.sqlmysql -uroot -p000000 zabbix < history_pk_prepare.sql5、查看 zabbix 数据库是否存在表、及表中是否有数据mysql -uroot -p000000 -e "use zabbix; show tables; select * from widget_field;"
启动
systemctl enable mariadb && systemctl start mariadbnetstat -ntpul | grep 3306
六、安装 zabbix_server
编译安装 zabbix_server
注意:在zabbix_server 主机上执行
安装依赖
yum install 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 gcc -y
配置环境变量
不配置下列变量,编译会报错,大概就是gcc版本问题,详细信息请跳转
cat >> /etc/profile << EOFexport CFLAGS="-std=gnu99"EOFsource /etc/profile
编译安装
cd zabbix-6.0.14./configure --sysconfdir=/etc/zabbix/ --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-ldap --with-openssl --with-libcurl --with-ibpcremake install#检测上一条命令是否执行成功,如果输出0 代表成功,否则失败echo $?
配置 zabbix_server.conf
注意:修改日志文件路径后,注意修改用户和组的权限为 zabbix ,如: chown zabbix.zabbix /var/log/zabbix/
$ egrep -nv '^$|#' /etc/zabbix/zabbix_server.conf13:ListenPort=1005139:LogFile=/tmp/zabbix_server.log # 建议修改 日志文件路径为:/var/log/zabbix/zabbix_server.log 89:DBHost=localhost101:DBName=zabbix # 确保和自己数据一致117:DBUser=zabbix # 确保和自己数据一致126:DBPassword=zabbix # 确保和自己数据一致510:Timeout=4596:LogSlowQueries=3000711:StatsAllowedIP=127.0.0.1
zabbix_server 命令启动
注意:如果这里启动失败,注意去看 zabbix_server.log 日志文件
# -s:用户以什么shell环境执行 /sbin/nologin : 用户无法登录系统,但可以使用系统资源 -M: 不创建家目录useradd -s /sbin/nologin -M zabbixzabbix_servernetstat -ntplu|grep 10051ps -ef|grep zabbix# 停止 zabbix_serverkill 26376 # zabbix_server 的 PID
配置 systemctl 命令启动 zabbix_server
#书写systemctl配置文件cat > /usr/lib/systemd/system/zabbix-server.service <<EOF[Unit]Description=Zabbix ServerAfter=syslog.targetAfter=network.target[Service]Environment="CONFFILE=/etc/zabbix/zabbix_server.conf"EnvironmentFile=-/etc/zabbixType=forkingPIDFile=/tmp/zabbix_server.pidExecStart=/usr/local/sbin/zabbix_server -c /etc/zabbix/zabbix_server.confExecStop=/usr/bin/kill $MAINPIDRestart=alwaysRestartSec=5User=zabbixGroup=zabbix[Install]WantedBy=multi-user.targetEOFsystemctl enable zabbix-server && systemctl start zabbix-servernetstat -ntplu|grep 10051ps -ef|grep zabbix
访问 Zabbix_ui
复制 zabbix 源码包中 ui 目录下得 php 前端页面,到 nginx web页面得工作目录下
cp -r /root/zabbix-6.0.14/ui/* /usr/share/nginx/html/# 修改用户和组权限,使得 nginx 可以访问chown -R nginx.nginx /usr/share/nginx/html/systemctl restart nginx
浏览器访问,就可以看到 zabbix_ui 页面:
完成 Zabbix_ui 安装
语言选择中文后,点击下一步
这里条件检测发现出现三个失败,这里不要慌,只需要修改 php.ini 配置文件达到对应的要求即可,要求如图:
1.修改对应的值$ egrep 'post_max.*|.*_time' /etc/php.ini; max_input_timemax_execution_time = 300max_input_time = 600post_max_size = 80Mdefault_socket_timeout = 60;oci8.persistent_timeout = -12.重启 php-fpm,再次访问即可$ systemctl restart php-fpm
连接 DB
设置主页信息,选择时区(上海),主题
安装
登录 Zabbix_ui
默认用户名称和密码:
用户名称:Admin
密码:zabbix
恭喜您到这里我们 zabbix-6.0 就全部按照完成了
我们通过监控,可以看到页面中存在一个一般严重的问题,问题是 zabbix_server 主机的 agent 不可用,不要慌,因为我们根本没有安装,安装配置 agent 我们将在下一章说明。
✊ 最后
👏 我是秋意临,欢迎大家一键三连、加入云社区
👋 我们下期再见(⊙o⊙)!!!
来源地址:https://blog.csdn.net/qq_48450494/article/details/129655588