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实战

实战步骤

bash 复制代码
## 环境准备
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仪表盘报警问题

bash 复制代码
/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如何监控另一台客户机

bash 复制代码
## 上传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

配置监控项

添加配置信息

配置图表

最好校验变化数据

相关推荐
乐维_lwops3 小时前
Zabbi server常见配置参数详解!
zabbix·zabbix server
沧澜sincerely4 小时前
Raft 代码分析
分布式·共识算法·raft协议
我重来不说话6 小时前
xFile:高性能虚拟分布式加密存储系统——Go
分布式·压缩存储·权限系统·动态加密·虚拟存储
gorgor在码农8 小时前
分布式ID方案
分布式
Aikes9029 小时前
基于redis的分布式session共享管理之销毁事件不生效问题
redis·分布式·缓存
简婷1870199877512 小时前
高速路上的 “阳光哨兵”:分布式光伏监控系统守护能源高效运转
分布式·能源
钺商科技13 小时前
【6.1.2 漫画分布式事务技术选型】
分布式
帅次13 小时前
系统分析师-计算机系统-输入输出系统
人工智能·分布式·深度学习·神经网络·架构·系统架构·硬件架构
钺商科技17 小时前
【6.1.3 漫画分布式锁】
分布式