Zabbix监控系统,最细搭建详解

Posted 他和晚风一样温柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix监控系统,最细搭建详解相关的知识,希望对你有一定的参考价值。

文章目录

Zabbix监控系统

Zabbix监控架构

为了防止Zabbix单点故障,做了Zabbix的高可用,如果公司集群不是很大,单台就可以
如果agentd特别多的话,就需要Proxy做代理,来减少Zabbix的压力
数据存储在database数据库中


Zabbix的优点

  • 开源,无软件成本投入
  • Server对设备性能要求低
  • 支持设备多,自带多种监控模板
  • 支持分布式集中管理,有自动发现功能,可以实现自动化监控
  • 开放式接口,扩展性强,插件编写容易
  • 当监控的 item 比较多服务器队列此较大时可以采用主动状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小
  • Api的支持,方便与其他系统结合

Zabbix监控系统监控对象

类型典型代表服务安装的服务
数据库mysql,MariaDB,Oracle,SQL Serveragent
应用软件nginx,Apache, php,Tomcatagent
集群LVS,Keepalived,HAproxy,RHCS,F5agent
虚拟化VMware,KVM,XEN ,docker ,k8sagent
操作系统Linux,Unix,Windows性能参数agent
硬件服务器,存储,网络设备IPMI
网络网络环境(内网环境,外网环境)SNMP


Zabbix的监控方式

1.主动模式

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

2.被动模式

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

Zabbix程序组件

Zabbix_ server:服务端守护进程
Zabbix_ agentd:agent守 护进程
zabbix_ proxy: 代理服务器
zabbix database:存储系统,mysql, pgsq|
Zabbix_ web:web GUI图形化界面
Zabbix_ get:命令行工具,测试向agent发起数据采集请求
Zabbix_ sender:命令行工具,测试向server发 送数据


Zabbix5.0安装部署

5.0版本对基础环境的要求有大的变化,最大的就是对php版本的要求,最低要求7.2.0 版本,对php扩展组件版本也有要求,详见官网文档:https://www.zabbix.com/documentation/5.2/manual

环境准备工作:

服务器类型系统和IP地址备注
server服务器CentOS7.4(64 位) 192.168.80.104G内存、zabbix-server-mysql、zabbix-agent、centos-release-scl

所有服务器关闭防火墙和SElinux:

systemctl stop firewalld
setenforce 0

获取Zabbix的下载源

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
ls /etc/yum.repos.d/


将官方源替换为阿里源,下载速度更快

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo 
vim /etc/yum.repos.d/zabbix.repo 		##查看确认


清空yum缓存并下载 zabbix-server 和 zabbix-agentd(用于监控本机)

yum clean all && yum makecache
yum install zabbix-server-mysql zabbix-agent -y	


安装Software Collections, 便于后续安装高版本的php, 默认yum安装的php版本为5.4 过低

SCL(Software Collections )可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
软件包会安装在/opt/rh目录下
为了避免系统广泛冲突,/opt/rh包安装在目录中, 例如,这允许你在CentOS 7机器上安装Python 3.5, 而不会删除或干扰Python 2.7
/etc/opt/rh/软件包的所有配置文件都存储在目录中相应的目录中,SCL包提供了定义使用所包含应用程序所需的环境变量的shell脚本

yum install centos-release-scl -y			#需要在线源进行安装



修改zabbix下载源中的[zabbix-frontend](前端源),修改参数如下

安装zabbix前端环境,且是安装到scl目录下

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
ls /opt/rh/   		#查看是否有rh-php72
rh-php72



安装zabbix所需的数据库

yum install mariadb-server -y


配置数据库开机自启动并且立即启动

systemctl enable --now mariadb.service 
systemctl status mariadb.service
netstat -tunlp | grep :3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2692/mysqld 



初始化数据库并设置密码,我这边设置为:abc123,然后测试登录数据库

mysql_secure_installation
mysql -uroot -p				#输入密码




添加数据库用户,以及zabbix所需的数据库信息

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user zabbix@localhost identified by 'abc123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)



使用zabbix -mysq1命令,导入数据库信息,mysql -u用户名 -p 数据库名

ls /usr/share/doc/zabbix-server-mysql*/create.sql.gz
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix


数据导入完成后验证一下,可以看到zabbix表中已经导入了很多数据。

mysql -uzabbix -pabc123
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| zabbix             |
+--------------------+
use zabbix;
show tables;


修改zabbix server配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf 
grep '^DBPa' /etc/zabbix/zabbix_server.conf 
DBPassword=abc123




修改zabbi x的php配置文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
php_value[date.timezone] = Asia/Shanghai


启动zabbix相关服务

systemctl restart zabbix-server.service zabbix-agent httpd rh-php72-php-fpm.service 
systemctl enable zabbix-server.service zabbix-agent httpd rh-php72-php-fpm.service


浏览器中输入:http://192.168.80.10/zabbix 进行测试

Zabbix会检查基础的环境是否正常

输入mysql密码,我这边是:abc23,然后点击下一步

Zabbix server details无需操作,直接下一步

显示安装细节信息,直接下一步

显示安装成功,直接点击 Finish 结束

访问 zabbix 入口
默认账号:Admin
默认密码:zabbix

成功登录

以上是关于Zabbix监控系统,最细搭建详解的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix监控系统,最细搭建详解

不得不学的Zabbix监控系统,最细搭建详解

2021-10-15②企业级zabbix监控 安装部署全网最细

zabbix:zabbix自动化监控系统搭建详解

centos7 zabbix搭建详解

一zabbix搭建