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

Linux之Zabbix分布式监控篇(一)

一、概念和特点

  • 概念

Zabbix是一款开源、免费的监控软件  主要用于7*24*365实时监控网络设置,操作系统,应用程序,网络带宽等资源的运行状态,并且一旦发生异常能够第一时间个SA管理员发送报警信息

  • 特点

  1. Zabbix是c/s结构,有client客户端和server服务端
  2. 支持web界面管理通过web轻松管理Zabbix监控
  3. 可以监控Windows、Linux服务器,网络设置(防火墙、路由器)
  4. 可以批量监控机器,监控100~1000台机器
  5. 能够进行二次开发,提供API,供运维平台进行整合
  6. 具有Zabbix-proxy代理节点,可以代替server去监控客户端

二、核心组件

Zabbix监控主要由五大组件组成:Zabbix_server、Zabbix_agent、Zabbix_web、Zabbix_proxy、Zabbix-database

  • Zabbix_server

作为整个监控平台的核心组件,主要用于汇总、收集客户端的监控数据,并且将监控数据持久化转移至后端数据库中

  • Zabbix_agent

Zabbix_agent被称为客户端插件,主要用于采集客户端监控指标,CPU,MEM,I/O,进程数,打开文件数,文件是否被修改等

  • Zabbix_web

Zabbix_Web是基于php语言开发的网站部署,SA管理员可以更加快捷,高效的去管理zabbix监控平台(查看监控、添加监控、删除数据)

  • Zabbix_proxy

作为Zabbix_server的分布式代理,可以代替Zabbix_server实现客户端监控数据的汇总、收集并将监控的数据转至Zabbix_server端

  • Zabbix-databse

Zabbix-databse是一个关系型数据库(MySQL),主要存储Zabbix整个监控平台的数量,监控指标、历史数据、趋势数据、用户名、密码权限等

三、Zabbix实战

实战步骤

## 环境准备
server端:10.0.0.6
agent端: 10.0.0.7## 准备Zabbix源码包(可以去官网下载)
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.32.tar.gz
tar -zxvf zabbix-6.0.32.tar.gz ## 预编译(可能会遇到很多错误,具体报错解决方案如下)
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql## 编译
make -j4 install## 切换至zabbix目录,拷贝脚本
cd /root/zabbix-6.0.32
cp misc/init.d/tru64/zabbix_* /etc/init.d/## 启动脚本(可能遇到权限用户问题)
/etc/init.d/zabbix_agentd start
/etc/init.d/zabbix_server start## 安装zabbix-database、web
yum -y install mysql-server mysql
yum -y install nginx
yum -y install php-fpm php-devel php-mysqlnd## 修改nginx配置文件(添加PHP配置)
vim /etc/nginx/nginx.conf.default
grep -vE "#|^$" /etc/nginx/nginx.conf.default >/etc/nginx/nginx.conf
vim /etc/php-fpm.d/www.conf (修改listen)
listen = 0.0.0.0:9000## 切换到zabbix目录,移动ui界面到nginx下
cd zabbix-6.0.3
\cp * /usr/share/nginx/html/ -a## 重启数据库
systemctl start mysqld

zabbix安装遇到问题

  • 安装gcc编译器:yum -y install gcc

  • 安装mysql库文件:yum -y install mysql-devel;find / -name 'libmysql*.so'

  • 安装事件库文件:yum -y install libevent-devel

  • 安装pcre库文件:yum -y install pcre-devel

出现以下界面说明预编译过程完成

出现以下界面文件说明编译过程完成

启动服务出现报错:chmod +x /etc/init.d/zabbix_*

需要制作软连接:ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

zabbix用户不存在需要手动创建

useradd -s /sbin/nologin zabbix -M

已经正常启动了

nginx需要加入的配置

网页出现500错误由于php缺少依赖

yum install php php-cli php-common php-devel php-embedded php-fpm php-gd php-mbstring php-mysqlnd php-opcache php-pdo php-xml -y

修改/etc/php.ini 文件,之后重启php-fpm

缺乏依赖包:yum -y install php-bcmath php-ldap

数据库缺少用户:建库新建用户

create database zabbix character set utf8 collate utf8_bin;

create user zabbix@localhost identified by 'aaaAAA111.';

grant all privileges on zabbix.* to zabbix@localhost;

alter user 'zabbix'@'localhost' identified with mysql_native_password by 'aaaAAA111.';

flush privileges;

数据库不含库表文件需要自行导入

cd zabbix-6.0.32/database/mysql/
mysql -uzabbix -paaaAAA111. zabbix <  schema.sql

mysql -uzabbix -paaaAAA111. zabbix <  images.sql 

mysql -uzabbix -paaaAAA111. zabbix <  data.sql

无权限创建配置文件------>后端php-fpm管理后台

chown -R apache /usr/share/nginx/html/conf/

后台出现如下界面,即可正常登陆了

zabbix服务没有正常启动10051

寻找日志------>查找/zabbix/etc/zabbix.conf配置文件

查找日志/tmp/zabbix_server.log

数据库文件未在zabbix配置文件中正常配置

解决方案:修改数据库服务之后,重启zabbix_server服务:/etc/init.d/zabbix_server restart

修改DB_HOST和DB_PASSWORD

返回网页再次进行检查

将英文切换成中文

zebbix_server仪表盘报警问题

/etc/init.d/zabbix_agentd start

字体出现了乱码

使用windows打开字体目录C:\Windows\Fonts====>上传字体到以下目录

切换进入此目录cd /usr/share/nginx/html/assets/fonts/

拷贝并覆盖原字体:

cp DejaVuSans.ttf DejaVuSans.ttf.bak
cp MSYH.TTC DejaVuSans.ttf

zabbix如何监控另一台客户机

## 上传zabbix安装包(zabbix-6.0.32.tar.gz)ls -ld zabbix-6.0.32## 解压zabbi安装包
tar -zxvf zabbix-6.0.32.tar.gz## 预编译命令
./configure --prefix=/usr/local/zabbix --enable-agent## 编译命令
make -j4 install ## 拷贝启动脚本cp misc/init.d/tru64/zabbix_agentd /etc/init.d/## 创建执行权限
chmod o+x /etc/init.d/zabbix_agentd 

部署后发现监控主机还无法启动=====>找到web界面监控主机进行添加

在zabbix_web里面添加新主机

修改zabbix的etc配置内容

vim /usr/local/zabbix/conf/zabbix_agentd.conf 
grep -vE '^#|^$' zabbix-6.0.32/conf/zabbix_agentd.conf 

如何监控nginx服务

方法思路:使用zabbix自定义key

vim /usr/local/zabbix/etc/zabbix_agentd.conf

UserParameter=check_nginx_process,ps -ef|grep nginx|grep -v grep| wc -l

配置监控项

添加配置信息

配置图表

 

最好校验变化数据

http://www.dtcms.com/a/275693.html

相关文章:

  • 电商广告市场惊现“合规黑洞”,企业如何避免亿元罚单
  • phpstudy搭建pikachu靶场
  • 单链表的题目,咕咕咕
  • 区块链平台之以太坊深入解读:技术、经济与生态的全面解析
  • 从OpenMV到执行器:当PID算法开始“调教”舵机
  • 计算机视觉与深度学习 | 基于Matlab的多特征融合可视化指纹识别系统(附完整代码)
  • 迅为RK3588开发板Android13系统super.img的解包和重新组包
  • 【C++】封装红黑树模拟实现set和map
  • GESP2025年6月认证C++三级( 第三部分编程题(2)分糖果)
  • MIG_IP核的时钟系统
  • 《硬件产品经理》第七章:产品开发流程之验证
  • 【6.1.3 漫画分布式锁】
  • 【web站点安全开发】任务1:html基础表单和表格
  • C# 接口(派生成员作为实现)
  • Leaflet面试题及答案(41-60)
  • OneCode 3.0架构深度剖析:工程化模块管理与自治UI系统的设计与实现
  • 20250712-3-Kubernetes 应用程序生命周期管理-服务编排(YAML)及编写技巧_笔记
  • 【Elasticsearch】function_score与rescore
  • 【云端深度学习训练与部署平台】AutoDL连接VSCode运行深度学习项目的全流程
  • Qt窗口:菜单栏
  • 人工智能之数学基础:多元逻辑回归算法的矩阵参数求导
  • 回归(多项式回归)
  • 电商订单数据分析全流程:从数据处理到可视化洞察
  • AI Agents时代,数据分析将彻底被颠覆
  • 数据分析库 Pandas
  • 每日一SQL 【销售分析 III】
  • 【Modern C++ Part10】Prefer-scoped-enum-to-unscoped-enums
  • 开源 python 应用 开发(五)python opencv之目标检测
  • (C++)STL标准库(vector动态数组)(list列表)(set集合)(map键值对)相关对比,基础教程
  • React - createPortal