当前位置: 首页 > news >正文

Zabbix 安装部署

目录

一、Zabbix 简介

用途:开源的分布式监控系统,用于监控服务器、网络设备、应用程序等。

特点:

提问:主动模式和被动模式有什么区别?

Zabbix 架构组件:

二、Zabbix 安装部署

1、MySQL8.0.30 部署

2、nginx 部署 

3、php 部署

4、zabbix-server 部署 

5、web端初始化

三、解决中文乱码问题:


一、Zabbix 简介

用途开源的分布式监控系统用于监控服务器、网络设备、应用程序等

特点:

(1)支持主动/被动监控模式

(2)提供实时告警、可视化图标、自动发现等功能

(3)支持 SNMP、JMX、IPMI、HTTP等多种协议

提问:主动模式和被动模式有什么区别?

主动检测: 相对于agent而言; agent(active),agent向server请求与自己相关监控项配置, 主动地将server配置的监控项相关的数据发送给server;主动监控能极大节约监控server的资源。

被动检测:相对于agent而言 ; agent, server向agent请求获取配置的各监控项相关的数据;agent接收请求、获取数据并响应给server

Zabbix 架构组件

Zabbix Server(服务器):核心组件,管理所有监控任务,负责处理监控数据、触发警报、执行自动化任务等。它接收来自 Zabbix Agent 和 Zabbix Proxy 的数据,并将监控数据存储到 Zabbix Database 中,还提供 Web 前端接口,方便用户查看监控数据和配置监控项 。

Zabbix Agent(代理):安装在被监控的主机上,负责收集主机的性能数据,如 CPU 使用率、内存使用率、磁盘空间等。它支持主动和被动两种模式:

主动模式:主动周期性地向 Zabbix Server 或 Zabbix Proxy 发送收集到的数据。

被动模式:接收来自 Zabbix Server 的请求,并根据请求返回相应的监控数据。

Zabbix Proxy(代理):分布式监控环境中的可选组件,可代替 Zabbix Server 收集数据,将数据汇总后发送给 Zabbix Server。在监控大量主机时,能够有效减轻 Zabbix Server 的负载,还适用于网络隔离等无法直接与 Zabbix Server 通信的环境 。

Zabbix Database(数据库):用于存储所有的监控数据、配置信息、历史数据等,支持 MySQL、PostgreSQL、Oracle 等多种数据库。数据库的性能和容量对 Zabbix 的整体性能影响较大 。

Zabbix Web Interface(Web 界面):基于 Web 的用户界面,用户可通过浏览器访问,用于配置监控项、查看监控数据、管理警报等。同时提供丰富的图表和报表功能,以帮助用户分析和可视化监控数据,还具备配置管理、用户管理、权限管理等功能。

二、Zabbix 安装部署

本实验是在 关闭系统防火墙的 情况下进行:

1、MySQL8.0.30 部署

[root@zabbix-40 ~]# cd /usr/local/src/
[root@zabbix-40 /usr/local/src]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar[root@zabbix-40 /usr/local/src]# tar -xf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
# 忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的
[root@zabbix-40 /usr/local/src]# sudo rpm -ivh mysql-community-*  --force --nodeps
#创建数据存储目录
[root@zabbix-40 ~]# mkdir -p /data/mysql
[root@zabbix-40 ~]# chown mysql:mysql /data/mysql#修改配置文件
[root@zabbix-40 ~]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
port=3306
lower_case_table_names=1
max_connections=500#启动数据库
[root@zabbix-40 ~]# systemctl enable mysqld
[root@zabbix-40 ~]# systemctl start mysqld
#启动失败的话可以查看日志 /var/log/mysqld.log#获取密码登录MySQL
[root@zabbix-40 /data]# awk '/password/ {print $NF}' /var/log/mysqld.log 
z-Tp1q+/8J.7
[root@zabbix-40 /data]# mysql -uroot -p'z-Tp1q+/8J.7'
mysql> alter user 'root'@'localhost' identified by '@MySQL123';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> flush privileges;

2、nginx 部署 

[root@zabbix-40 ~]# rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.0-1.el7.ngx.x86_64.rpm[root@zabbix-40 ~]# mkdir /data/web
[root@zabbix-40 ~]# vim /etc/nginx/conf.d/haha.confserver {listen       80;server_name  localhost;root         /data/web;location / {index  index.php index.html index.htm;}location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}}#启动nginx
[root@zabbix-40 ~]# systemctl  enable nginx 
[root@zabbix-40 ~]# systemctl  start nginx #验证端口(能看到nginx的 80 端口开始监听了)
[root@zabbix-40 ~]# netstat -ntlp
Proto Recv-Q  Send-Q   Local Address   Foreign Address      State        PID/Program name
tcp    0       0       0.0.0.0:80      0.0.0.0:*            LISTEN      2507/nginx: master  

3、php 部署

[root@zabbix-40 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@zabbix-40 ~]# yum -y install epel-release
[root@zabbix-40 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@zabbix-40 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#webtatic源,一个web服务的源
#安装php7及其它依赖软件
[root@zabbix-40 ~]# yum -y install gcc gcc-c++ php72w-cli php72w-fpm php72w-gd php72w-mbstring php72w-bcmath php72w-xml php72w-ldap php72w-mysqlnd
[root@zabbix-40 ~]# vim /etc/php.ini 
368:max_execution_time = 300
378:max_input_time = 300
656:post_max_size = 16M
[root@zabbix-40 ~]# cd /data/web/
[root@zabbix-40 ~]# vim index.php   #创建php测试页面,这一步可以省略
<?php
phpinfo();
?>
[root@zabbix-40 ~]# systemctl  enable php-fpm
[root@zabbix-40 ~]# systemctl  start php-fpm#验证端口(能看到php的 9000 端口开始监听了)
[root@zabbix-40 ~]# netstat -ntlp
Proto Recv-Q  Send-Q   Local Address      Foreign Address      State        PID/Program name
tcp    0      0        127.0.0.1:9000       0.0.0.0:*          LISTEN      8450/php-fpm: maste

4、zabbix-server 部署 

#创建用户
[root@zabbix-40 ~]# groupadd zabbix
[root@zabbix-40 ~]# useradd -g zabbix -M -s /sbin/nologin zabbix
#下载安装
[root@zabbix-40 ~]# cd /usr/local/src
[root@zabbix-40 /usr/local/src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.1.tar.gz
[root@zabbix-40 /usr/local/src]# tar -xf zabbix-6.0.1.tar.gz
[root@zabbix-40 /usr/local/src]# cd zabbix-6.0.1/
#安装依赖
[root@zabbix-40 /usr/local/src/zabbix-6.0.1]# yum -y 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
#编译安装
[root@zabbix-40 /usr/local/src/zabbix-6.0.1]# ./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
[root@zabbix-40 /usr/local/src/zabbix-6.0.1]# make && make install[root@zabbix-40 ~]# vim /etc/zabbix/zabbix_server.conf
比如12行:ListenPort=10051
38:LogFile=/tmp/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=123123
507:Timeout=4
593:LogSlowQueries=3000
708:StatsAllowedIP=127.0.0.1#向数据库中导入zabbix的库表及数据(注意导入的顺序)
[root@zabbix-40 ~]# mysql -uzabbix -p@Mysql123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
[root@zabbix-40 ~]# mysql -uzabbix -p@Mysql123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
[root@zabbix-40 ~]# mysql -uzabbix -p@Mysql123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql
#如果上面那种方法经常出现报错,不妨进入到MySQL里面再进行导入
[root@zabbix-40 ~]# mysql -uzabbix -p@Mysql123
mysql> SOURCE /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql;
mysql> SOURCE /usr/local/src/zabbix-6.0.1/database/mysql/images.sql;
mysql> SOURCE /usr/local/src/zabbix-6.0.1/database/mysql/data.sql;#移动zabbix前端页面到网站根目录
[root@zabbix-40 ~]# cp -rp /usr/local/src/zabbix-6.0.1/ui/* /data/web/
cp:是否覆盖"/data/web/index.php"? y#配置zabbix系统启停命令(注意这个文件是新增的)
[root@zabbix-40 ~]# 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#重新加载system文件
[root@zabbix-40 ~]# systemctl daemon-reload
[root@zabbix-40 ~]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix.service.
[root@zabbix-40 ~]# systemctl start zabbix-server

5、web端初始化

下面这一步是需要根据提示 下载配置文件,然后上传到 /data/web/conf 目录,才能完成安装

三、解决中文乱码问题:

可以将Windows 下的C盘 :/Windows/Fonts 路径下的任一字体的 ttf 文件复制到 Linux 下的 /data/web/assets/fonts 目录 

[root@manager ~]# cd /data/web/assets/fonts[root@manager fonts]# ll
总用量 740
-rw-r--r-- 1 test test 756072 2月  28 2022 DejaVuSans.ttf
#ttf 文件复制到 Linux 下的 /data/web/assets/fonts 目录 
-rw-r--r-- 1 test test   756072 2月  28 2022 DejaVuSans.ttf
-rw-r--r-- 1 root root 11787328 3月   7 16:57 simkai.ttf
[root@manager fonts]# mv DejaVuSans.ttf{,.bak}
[root@manager fonts]# mv simkai.ttf DejaVuSans.ttf

最后效果: 


http://www.mrgr.cn/news/93536.html

相关文章:

  • 可视化+图解:轻松搞定链表
  • fiddler everywhere 绿色永久版
  • linux awk命令和awk语言
  • 电脑总显示串口正在被占用处理方法
  • Go语言集成DeepSeek API和GoFly框架文本编辑器实现流式输出和对话(GoFly快速开发框架)
  • 从 Faith 与 Belief 的语义与语境辨析中解析其宗教哲学内涵
  • vulnhub靶场之【digitalworld.local系列】的vengeance靶机
  • Jmeter使用介绍
  • C++智能指针weak_ptr
  • c++实现最大公因数和最小公倍数
  • linux---天气爬虫
  • 自动驾驶---不依赖地图的大模型轨迹预测
  • TensorFlow.js 全面解析:在浏览器中构建机器学习应用
  • Java核心语法:从变量到控制流
  • STM32之BKP
  • 【音视频】ffmpeg命令提取像素格式
  • ROS实践-虚拟仿真平台Stage/Gazebo
  • 第三次CCF-CSP认证(含C++源码)
  • DeepSeek大模型 —— 全维度技术解析
  • vite:初学 p5.js demo