企业级开源监控解决方案,分布式监控系统 Zabbix

news/2024/7/5 20:31:41

企业级分布式监控系统 iZabbix监控系统

  • 一、Zabbix监控介绍
    • 1、Zabbix监控架构
    • 2、Zabbix的优点
    • 3、Zabbix的缺点
    • 4、Zabbix监控系统监控对象
    • 5、Zabbix的监控方式
    • 6、Zabbix程序组件
  • 二、Zabbix5.0安装部署
    • 1、关闭防火墙
    • 2、获取Zabbix的下载源
    • 3、将官方源替换为阿里源,下载速度更快
    • 4、清空yum缓存并下载 zabbix-server 和 zabbix-agentd(用于监控本机)
    • 5、安装Software Collections, 便于后续安装高版本的php, 默认yum安装的php版本为5.4 过低。
    • 6、修改zabbix下载源中的[zabbix-frontend](前端源),修改参数如下
    • 7、安装zabbix前端环境,且是安装到scl目录下
    • 8、安装zabbix所需的数据库
    • 9、配置数据库开机自启动并且立即启动
    • 10、初始化数据库并设置密码,我这边设置为:abc123。然后测试登录数据库。
    • 11、添加数据库用户,以及zabbix所需的数据库信息
    • 12、使用zabbix -mysq1命令,导入数据库信息
    • 13、数据导入完成后验证一下,可以看到zabbix表中已经导入了很多数据。
    • 14、修改zabbix server配置文件,修改数据库的密码
    • 15、修改zabbi x的php配置文件
    • 16、启动zabbix相关服务
    • 17、浏览器中输入:http://192.168.118.18/zabbix 进行测试

一、Zabbix监控介绍

1、Zabbix监控架构

在这里插入图片描述

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

2、Zabbix的优点

Zabbix的优点

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

3、Zabbix的缺点

Zabbix的缺点

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

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

在这里插入图片描述

5、Zabbix的监控方式

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

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

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网关

二、Zabbix5.0安装部署

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

环境准备工作

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

1、关闭防火墙

systemctl stop firewalld
setenforce 0

2、获取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/

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

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 		##查看确认

在这里插入图片描述

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

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

5、安装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			#需要在线源进行安装

在这里插入图片描述

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

vim /etc/yum.repos.d/zabbix.repo
enabled=1

在这里插入图片描述

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


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

8、安装zabbix所需的数据库

yum install mariadb-server -y

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

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 

在这里插入图片描述

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

mysql_secure_installation
mysql -uroot -p				#输入密码

在这里插入图片描述

在这里插入图片描述

11、添加数据库用户,以及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)

在这里插入图片描述

12、使用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

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

mysql -uzabbix -pabc123

show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| zabbix             |
+--------------------+
use zabbix;
show tables;

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

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

在这里插入图片描述

15、修改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

在这里插入图片描述

16、启动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

在这里插入图片描述

17、浏览器中输入:http://192.168.118.18/zabbix 进行测试

在这里插入图片描述
输入mysql密码,我这边是:abc23,然后点击下一步
在这里插入图片描述

Zabbix server details无需操作,直接下一步
在这里插入图片描述
显示安装细节信息,直接下一步

在这里插入图片描述
显示安装成功,直接点击 Finish 结束

在这里插入图片描述
访问 zabbix 入口
默认账号:Admin
默认密码:zabbix

在这里插入图片描述

成功登录
在这里插入图片描述


http://www.niftyadmin.cn/n/3652710.html

相关文章

昨夜风版js日历

昨夜风版js日历&#xff0c;完全采用js实现&#xff0c;故而实现了与语言无关&#xff0c;jsp、asp.net php asp均可使用.无论你是开发软件&#xff0c;还是网站&#xff0c;均是不可或缺的实用代码。效果图&#xff1a;使用方法&#xff1a;1、引入js文件。<script languag…

初识Kubernetes一些重要的组件和核心概念

认识Kubernetes一、Kubernetes简介二、Kubernetes特点1、自我修复2、弹性伸缩3、自动发布&#xff08;默认滚动发布模式&#xff09;和回滚4、服务发现和负载均衡5、集中化配置管理和密钥管理6、存储编排&#xff0c;支持外挂存储并对外挂存储资源进行编排7、任务批量处理运行三…

WEB打印 转

首先在网页中添加&#xff1a; VIEWASTEXT> 然后就可以依次加入功能按钮了&#xff1a; 将这两块东西放到就不会打印这些按钮了。当然要定义noprint了&#xff1a; .Noprint { DISPLAY: none }只要把不想打印的东西的css设置成noprint就可以了。 现在就实现了基本的web打印…

Docker镜像的分层与优化

Docker镜像的分层与优化

asp.net1.1中动态更改页面标题

asp.net1.1由于没有masterpage功能&#xff0c;因此动态更改页面标题显得有些困难。今天在网上找到一个简单的方法&#xff0c;与大家分享。通常情况下&#xff0c;页面的标题应该是这样的&#xff1a;Page Title我们做一些修改&#xff1a;&#xff0c;这就把title变成了一个服…

二进制部署Kubernetes集群(单Master节点)

一、常见的K8S按照部署方式 Minikube Minikube是一个工具&#xff0c;可以在本地快速运行一个单节点微型K8s&#xff0c;仅用于学习、 预览K8S的一些特性使用&#xff0c;没有商业价值。 部署地址: https://kubernetes.io/docs/setup/minikube Kubeadmin Kubeadmin也是一个…

ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署

由于本人机器上仅安装SQLSERVER2005&#xff0c;而没有装SQLSERVER EXPRESS&#xff0c;于是在部署user profile时遇到了aspnetdb.mdf无法连接的问题&#xff0c;经过一番折腾&#xff0c;总算解决了&#xff0c;下面把经验写下来与大家分享。由于没有aspnetdb.mdf数据库&…

K8S错题集-------------------使用Kubead部署K8S单节点,notReady状态解决

使用kubectl get nodes 发现一个节点出现问题&#xff0c;一直没有Ready 查看2个节点的6443端口&#xff0c;发现没起的这个node01端口中的kube-proxy 没有开启 后来才发现node01节点忘记去拉去镜像了&#xff0c;我使用脚本拉取一下镜像就解决了 [rootnode01 opt]# for i in…