OpenEuler22.03 LTS部署Zabbix 发表于 2024-11-16 | 更新于 2024-11-16
| 总字数: 3.3k | 阅读时长: 14分钟 | 浏览量:
OpenEuler22.03 LTS部署Zabbix 以下文档部分参考:Zabbix 6.2 安装:国产系统篇(OpenEuler)-zabbix 5.0安装
主机拓扑图
主机名
ip
硬盘
cpu
备注
zabbix-server
192.168.48.101
100g
2v
主控
zabbix-agent
192.168.48.102
100g
2v
测试机
基础配置 操作节点:[server]
不要一股脑的复制,注意修改网卡的名字,我这里是ens33,包括修改ip段,比如我的是192.168.48.
你就要修改成你的172.8.3.
最后那一个主机位就不用管,其他不变
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 # !/bin/bash if [ $# -eq 2 ];then echo "设置主机名为:$1" echo "ens33设置IP地址为:192.168.48.$2" else echo "使用方法:sh $0 主机名 主机位" exit 2 fi echo "--------------------------------------" echo "1.正在设置主机名:$1" hostnamectl set-hostname $1 echo "2.正在关闭firewalld、selinux" systemctl disable firewalld &> /dev/null systemctl stop firewalld sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config setenforce 0 echo "3.正在设置ens33:192.168.48.$2" cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=ens33 UUID=53b402ff-5865-47dd-a853-7afcd6521738 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.48.$2 GATEWAY=192.168.48.2 PREFIX=24 DNS1=192.168.48.2 DNS2=114.114.114.114 EOF nmcli c reload nmcli c up ens33 echo "4.新增华为云源" mkdir /etc/yum.repos.d/bak/ cp /etc/yum.repos.d/* /etc/yum.repos.d/bak/ sleep 3 # 切换为华为云,下载速度更快 sed -i 's/\$basearch/x86_64/g' /etc/yum.repos.d/openEuler.repo sed -i 's/http\:\/\/repo.openeuler.org/https\:\/\/mirrors.huaweicloud.com\/openeuler/g' /etc/yum.repos.d/openEuler.repo echo "5.更新yum源软件包缓存" yum clean all && yum makecache echo "6.添加hosts解析" cat > /etc/hosts <<EOF 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.48.101 zabbix-server 192.168.48.102 zabbix-agent EOF echo "7.安装chrony服务,并同步时间" yum install chrony -y systemctl enable chronyd --now timedatectl set-timezone Asia/Shanghai timedatectl set-local-rtc 1 timedatectl set-ntp yes chronyc -a makestep chronyc tracking chronyc sources echo "8.必备工具安装" yum install wget psmisc vim net-tools telnet socat device-mapper-persistent-data lvm2 git -y echo "9.重启" reboot
运行
1 2 3 4 5 6 sh system_init.sh 主机名 主机位 [zabbix-server] sh system_init.sh zabbix-server 101 [zabbix-agent] sh system_init.sh zabbix-agent 102
zabbix-server安装 zabbix服务段安装 操作节点:[server]
1 2 3 4 5 groupadd --system zabbix useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix mkdir -p /app/zabbix
下载 Zabbix 源码
1 2 3 wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.5.tar.gz tar -zxvf zabbix-7.*.tar.gz
开始编译安装
prefix
指定安装目录。
enable-server
启用 Zabbix Server。
enable-agent
启用 Zabbix agent。
with-mysql
后端指定数据库为mysql。
net-snmp
支持 snmp 协议。
其实还有很多参数,大家可以参考 ./configure –help 自行研究 ,官方文档里也有案例
1 2 3 4 5 dnf -y install mysql-devel libevent-devel pcre-devel mv zabbix-7.0.5 zabbix && cd zabbix./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql
出现这个页面是编译完成
整体目录情况
PHP部分 openEuler 22.04 自带8.0版本,所以符合6.0以上版本的需求。
1 dnf -y install php php-fpm
Apache 由于安装PHP会自动安装apache(httpd)服务,所以安装过程并未提及apache的安装过程
现在移动zabbix前端网页文件到/var/http/html(这是apache网页的运行根目录文件)
1 2 3 4 5 6 7 8 9 [root@zabbix-sever zabbix]# pwd /root/zabbix cd /root/zabbixcp -rp ui/* /var/www/html/systemctl start httpd && systemctl enable httpd systemctl start php-fpm && systemctl enable php-fpm
访问192.168.48.101
选择中文
这里显示有些php扩展没下载等
1 dnf -y install php-gd php-mysqlnd php-bcmath php-xml php-mbstring
安装完依赖此时不需要重启任何服务,接下来调整PHP的配置文件。
根据报错来调整三个值分别是 post_max_size
,max_execution_time
,max_input_time
。
所要求的最小PHP post大小是16M (配置项”post_max_size”)。
所要求的最小PHP脚本执行时间是300 (配置项 “max_execution_time”)。
所要求的PHP脚本最小解析时间是300 (配置项”max_input_time”)。
1 2 3 4 sed -i 's/post_max_size = 8M/post_max_size = 16M/g' /etc/php.ini sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini
改完之后需要重启php-fpm服务。
1 systemctl restart php-fpm
刷新页面就ok了
安装mysql 安装mysql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 dnf -y install mysql-server systemctl start mysqld && systemctl enable mysqld mysql_secure_installation Press y|Y for Yes, any other key for No: NO (填NO) New password: Re-enter new password: Remove anonymous users ? (Press y|Y for Yes, any other key for No) : Y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : No Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y mysql -u root -pqianyios007
创建Zabbix所需要的数据库和用户 1 2 3 4 5 6 7 8 9 10 mysql -u root -pqianyios007 create database zabbix character set utf8mb4 collate utf8mb4_bin; create user zabbix@localhost identified by '123456' ; grant all privileges on zabbix.* to zabbix@localhost; set global log_bin_trust_function_creators = 1;quit;
导入Zbbix 的数据文件 1 2 3 4 5 6 7 8 cd /root/zabbixcat database/mysql/schema.sql | mysql -uzabbix -p123456 zabbixcat database/mysql/images.sql | mysql -uzabbix -p123456 zabbixcat database/mysql/data.sql | mysql -uzabbix -p123456 zabbixmysql -u root -pqianyios007 set global log_bin_trust_function_creators = 0;quit;
完成这部分,就可以在前端进入数据库配配置界面。
报错了,此时会出现无法创建,这是由于目标目录没有权限导致的,可以点击蓝色字体(网页中下载配置文件) 将配置得好的文件下载下来,然后传到前端提示的目录里,该文这里路径为:
自行下载用工具传过去即可
放过去之后刷新即可
管理员用户名密码为Admin/zabbix
服务端安装成功!
zabbix-server基本配置 这里可以看姐server端是没有启动的,说明要对于他进行配置
首先来说说zabbix server 目录的一些情况
程序文件路径为/app/zabbix/sbin/
配置文件路径为/app/zabbix/etc/
编辑配置文件
1 2 3 sed -i 's|^LogFile=.*|LogFile=/var/log/zabbix/zabbix_server.log|' /app/zabbix/etc/zabbix_server.conf sed -i '/^# DBPassword=/a \ DBPassword=123456' /app/zabbix/etc/zabbix_server.conf sed -i '/^# PidFile=\/tmp\/zabbix_server.pid$/a \ PidFile=/var/log/zabbix/zabbix_server.pid' /app/zabbix/etc/zabbix_server.conf
制作zabbix server守护文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 cat > /usr/lib/systemd/system/zabbix-server.service <<"EOF" [Unit] Description=Zabbix Server After=syslog.target After=network.target After=postgresql.service After=pgbouncer.service After=postgresql-13.service [Service] Environment="CONFFILE=/app/zabbix/etc/zabbix_server.conf" EnvironmentFile=-/etc/sysconfig/zabbix-server Type=forking Restart=on-failure PIDFile=/var/log/zabbix/zabbix_server.pid KillMode=control-group ExecStart=/app/zabbix/sbin/zabbix_server -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s TimeoutSec=0 [Install] WantedBy=multi-user.target EOF
由于是源码编译安装,所以存放日志文件的目录不存在,所以需要自行创建和给予权限
1 2 mkdir /var/log/zabbixchown zabbix:zabbix /var/log/zabbix
启动zabbix-server和查看服务的状态。
1 2 systemctl start zabbix-server && systemctl enable zabbix-server systemctl status zabbix-server
查看日志也正常
1 tail -f /var/log/zabbix/zabbix_server.log
查看网页已经在运行了
zabbix-agent安装 server端安装agent 操作节点[server]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 cat > /usr/lib/systemd/system/zabbix-agent.service<<"EOF" [Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=/app/zabbix/etc/zabbix_agentd.conf" Type=simple Restart=on-failure PIDFile=/var/log/zabbix/zabbix_agentd.pid KillMode=control-group ExecStart=/app/zabbix/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target EOF sed -i 's|^LogFile=.*|LogFile=/var/log/zabbix/zabbix_agentd.log|' /app/zabbix/etc/zabbix_agentd.conf sed -i '/^# PidFile=\/tmp\/zabbix_agentd.pid$/a \ PidFile=/var/log/zabbix/zabbix_agentd.pid' /app/zabbix/etc/zabbix_agentd.conf systemctl daemon-reload systemctl start zabbix-agent && systemctl enable zabbix-agent
这样在server主机的zabbix的server端和agent端已经安装好了,但是现在就是说只有一个agent端也就是本机,只能监控自己,现在就教你们去监控其他机子
其他主机安装agent 操作节点:[zabbix-agent]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.5.tar.gz tar -zxvf zabbix-7.*.tar.gz groupadd --system zabbix useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix mkdir -p /app/zabbixdnf -y install mysql-devel libevent-devel pcre-devel mv zabbix-7.0.5 zabbix && cd zabbix./configure --prefix=/app/zabbix --enable-agent make install sed -i 's|^LogFile=.*|LogFile=/var/log/zabbix/zabbix_agentd.log|' /app/zabbix/etc/zabbix_agentd.conf sed -i '/^# PidFile=\/tmp\/zabbix_agentd.pid$/a \ PidFile=/var/log/zabbix/zabbix_agentd.pid' /app/zabbix/etc/zabbix_agentd.conf sed -i 's/Server=127.0.0.1/Server=192.168.48.101/g' /app/zabbix/etc/zabbix_agentd.conf sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.48.101/g' /app/zabbix/etc/zabbix_agentd.conf sed -i 's/Hostname=Zabbix server/Hostname=zabbix-agent/g' /app/zabbix/etc/zabbix_agentd.conf cat > /usr/lib/systemd/system/zabbix-agent.service<<"EOF" [Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=/app/zabbix/etc/zabbix_agentd.conf" Type=simple Restart=on-failure PIDFile=/var/log/zabbix/zabbix_agentd.pid KillMode=control-group ExecStart=/app/zabbix/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target EOF mkdir /var/log/zabbixchown zabbix:zabbix /var/log/zabbixsystemctl daemon-reload systemctl start zabbix-agent && systemctl enable zabbix-agent
zabbix页面配置测试机监控端
最终效果,点击添加即可
测试端的机子已经添加好了
测试 Zabbix Web 配置模板(监听 Port 80) 操作节点:[zabbix-agent]
安装nginx并配置网页 因为没有适配openeuler的版本,这里直接用centos8的来代替,兼容的没关系,你可以根据你的系统去自行替换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 cat >/etc/yum.repos.d/nginx.repo << "EOF" [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/8/$basearch / gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/8/$basearch / gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true EOF yum install nginx -y systemctl enable nginx --now
这样就可以随时安装最新版本的nginx
添加测试网页
/etc/nginx/conf.d/default.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@zabbix-agent ~]# cat /etc/nginx/conf.d/default.conf server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
直接修改80端口下的网站里面的内容
1 vim /usr/share/nginx/html/index.html
里面的内容全部删了,写入以下内容,然后保存退出即可
1 <h1>welcome to qianyios.blog</h1>
重启服务
配置80端口模板 创建监控80端口状态的模板
创建监控项
创建触发器
点击触发器,创建触发器
创建图形
配置测试机应用80端口模板
更新一下
80端口模板测试
当我们模拟80端口down
然后我们再开起来
到此监测80端口成功
千屹博客旗下的所有文章,是通过本人课堂学习和课外自学所精心整理的知识巨著 难免会有出错的地方 如果细心的你发现了小失误,可以在下方评论区告诉我,或者私信我! 非常感谢大家的热烈支持!