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

配置监控项

添加配置信息

配置图表

最好校验变化数据

相关推荐
不做菜鸟的网工3 天前
Zabbix收集H3C交换机实时配置命令 「SNMP TRAP」
zabbix
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
肖祥4 天前
docker安装zabbix7.4
zabbix
shen121385 天前
【zabbix】自动发现监控项原型计算
zabbix
断手当码农5 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者5 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀5 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Asher05095 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式
凉凉的知识库5 天前
Go中的零值与空值,你搞懂了么?
分布式·面试·go
?Anita Zhang5 天前
联邦学习实战:如何在分布式场景下构建隐私保护机器学习模型
人工智能·分布式·机器学习