zabbix监控系统

一、Zabbix监控介绍

1.1 Zabbix监控架构

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

1.2 Zabbix的优点

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

1.3 Zabbix的缺点

需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
项目批量修改不方便。
社区虽然成熟,但是中文资料相对较少,服务支持有限。
入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大。
系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;且自定义的项目报警需要自己设置,过程比较繁琐。
缺少数据汇 总功能,如无法查看-组服务器平均值, 需进行二次开发;

1.4 Zabbix监控系统监控对象

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

1.5 Zabbix的监控方式

1. 主动模式
主动检测: 相对于agent而言; agent(active),agent向server请求与自己相关监控项配置, 主动地将server配置的监控项相关的数据发送给server;
主动监控能极大节约监控server的资源。
2. 被动模式
被动检测:相对于agent而言 ; agent, server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server;

1.6 Zabbix程序组件

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

二、Zabbix安装部署

5.0版本对基础环境的要求有大的变化,最大的就是对php版本的要求,最低要求7.2.0 版本,对php扩展组
件版本也有要求,详见官网文档:https://www.zabbix.com/documentation/5.2/manual
环境准备工作:
服务器类型 系统和IP地址 备注
server服务器 CentOS7.4(64 位) 192.168.80.10 4G内存、zabbix-server-mysql、zabbix-agent、centos-release-scl
所有服务器关闭防火墙和SElinux
systemctl stop firewalld
setenforce 0
 
1.获取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/
 
2.将官方源替换为阿里源,下载速度更快
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 ##查看确认
 
3.清空yum缓存并下载 zabbix-server 和 zabbix-agentd(用于监控本机)
yum clean all && yum makecache
yum install zabbix-server-mysql zabbix-agent -y
 
4.安装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 #需要在线源进行安装
 
5.修改zabbix下载源中的[zabbix-frontend](前端源),修改参数如下
6.安装zabbix前端环境,且是安装到scl目录下
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
ls /opt/rh/ #查看是否有rh-php72
rh-php72
 
7.安装zabbix所需的数据库
yum install mariadb-server -y
 
8.配置数据库开机自启动并且立即启动
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
 
9.初始化数据库并设置密码,abc123
然后测试登录数据库。
mysql_secure_installation
mysql -uroot -p #输入密码
 
10.添加数据库用户,以及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)
 
11.使用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
 
12.数据导入完成后验证一下,可以看到zabbix表中已经导入了很多数据。
mysql -uzabbix -pabc123
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| zabbix |
+--------------------+
use zabbix;
show tables;
 
13.修改zabbix server配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf
grep '^DBPa' /etc/zabbix/zabbix_server.conf
DBPassword=abc123
 
14.修改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
 
15.启动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
 
16.浏览器中输入:http://192.168.153.60/zabbix 进行测试
① Zabbix会检查基础的环境是否正常
 
②输入mysql密码,我这边是:abc23,然后点击下一步
 
③ Zabbix server details无需操作,直接下一步
 
④ 显示安装细节信息,直接下一步
 
⑤ 显示安装成功,直接点击 Finish 结束
 
17.访问 zabbix 入口
默认账号:Admin
默认密码:zabbix
 
18.成功登录
posted @ 2022-12-16 17:15  林乃均  阅读(230)  评论(0编辑  收藏  举报