Zabbix(一)

news2024/11/29 12:30:47

介绍

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

功能组件

Server :

Zabbix server是zabbix软件的核心组件

Zabbix agent向其报告可用性、系统完整性和统计信息

Zabbix server存储所有的配置信息、统计信息和操作信息的核心存储库

Zabbix server是监控系统的告警中心。在监控的系统中出现的任何异常,将发出通知给管理员

基本的Zabbix server可拆解为三个不同组件:Zabbix server、Web前端和数据库。

Zabbix的所有配置信息都存储在Server和Web前端进行交互的数据库中。例如,当你通过Web前
端(或者API)新增一-个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server以
每分钟一-次的频率查询监控项表中的有效项,接着将它存储在Zabbix server中的缓存里。这就是
为什么Zabbix前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

数据库:

所有配置信息以及zabbix采集到的数据都被持久存储到数据库中,可支持MySQL、PostgreSQL、Oracle等多种数据库

Web界面:

作为Zabbix server的一部分,用于实际显示和配置的界面;通常和Zabbix server运行在同一台物理机。

基于Apache(Nginx)+PHP实现,早期只支持LAMP结构,从zabbix5.0开始支持LNMP。

Agent:

Zabbix agent部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集到的数据发送给Zabbix server。从zabbix5.0支持Zabbix agent2

Proxy:
Zabbix proxy可代替Zabbix server采集性能和可用数据;Zabbix proxy在zabbix的部署是可选部分,Zabbix proxy的部署可很好的分担单个Zabbix server的负载

Java网关:

zabbix要监控tomcat服务器和其它java程序,需要使用Java gateway作为代理,才能从java程序中获取数据。

监控对象

源代码:*.html、*.jsp、*.php   监控网页信息是否被篡改

数据库:MySQL、Mariadb、Oracle、SQLserver

应用软件:Nginx、Apache、Tomcat   通过agent

集群:LVS、Keepalive、HAproxy、RHCS、F5

虚拟化:VMware、KVM   通过agent

操作系统:LInux、Unix、Windows性能参数

硬件:服务器、存储   通过IPMI

网络:路由器、交换机、防火墙   通过SNMP

监控收集数据模式

主动被动都是对于被监控主机而言

主动模式

agent向server发起连接。主动给server传送监控项数据

被动模式(默认)

server向agent发起连接。server向agent请求监控项数据,agent返回数据。

被监控主机数量很多时,使用主动模式可以很好的减少zabbix server负载。

环境

Zabbix版本OS版本Zabbix组件数据库Web服务器
6.0CentOS 8Server、Frontend、AgentMariaDB 10.5Nginx

部署

aliyun镜像站
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm

zabbix服务器(192.168.29.141   zabbix-server)

#安装zabbix存储库
[root@zabbix-server ~]#rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
[root@zabbix-server ~]#yum clean all

#安装zabbix server、web前端、agent
[root@zabbix-server ~]#yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

#安装数据库
[root@wenzi ~]#vim /etc/yum.repos.d/MariaDB.repo 
# MariaDB 10.5 RedHatEnterpriseLinux repository list - created 2023-05-31 17:34 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.5/rhel/$releasever/$basearch
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.5/rhel/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
[root@zabbix-server ~]#yum -y install MariaDB-server MariaDB
[root@zabbix-server ~]#systemctl enable --now mariadb
#创建zabbix所需数据库、账号密码
[root@zabbix-server ~]#mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> create user zabbix@localhost identified by 'Admin.123';
Query OK, 0 rows affected (0.000 sec)

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

MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
#导入sql文件至zabbix数据库
[root@zabbix-server ~]#zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
#导入后禁用log_bin_trust_function_creators选项
[root@zabbix-server ~]#mysql -uroot
MariaDB [(none)]> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
Bye

#修改zabbix配置文件
[root@zabbix-server ~]#vim /etc/zabbix/zabbix_server.conf
...
#数据库在哪台主机
DBHost=localhost
...
#数据库名
DBName=zabbix
...
#连接数据库用户
DBUser=zabbix
...
#用户密码
DBPassword=Admin.123
...
#
[root@zabbix-server ~]#vim /etc/nginx/conf.d/zabbix.conf
server {
        listen          8080;
        server_name     myzabbix.com;
...

#重启服务,设置开机自启
[root@zabbix-server ~]#systemctl restart zabbix-server zabbix-agent nginx php-fpm
[root@zabbix-server ~]#systemctl enable zabbix-server zabbix-agent nginx php-fpm
[root@zabbix-server ~]#netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      5405/zabbix_agentd  
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      5406/zabbix_server  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5423/nginx: master  
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      5423/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      902/sshd            
tcp6       0      0 :::10050                :::*                    LISTEN      5405/zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      5406/zabbix_server  
tcp6       0      0 :::3306                 :::*                    LISTEN      4598/mariadbd       
tcp6       0      0 :::80                   :::*                    LISTEN      5423/nginx: master  
tcp6       0      0 :::22                   :::*                    LISTEN      902/sshd          

zabbix服务端默认端口:10051   zabbix客户端默认端口:10050 

测试

访问http://192.168.29.141:8080

登录账号:Admin   登录密码:zabbix

修改zabbix界面语言为中文

因为字体原因通过windows访问界面出现乱码问题

 解决:

 windows本地字体库路径 C:\Windows\Fonts 选中微软雅黑,将其上传至zabbix-server服务器

[root@zabbix-server ~]#cd /usr/share/zabbix/assets/fonts/
[root@zabbix-server fonts]#ls
graphfont.ttf
[root@zabbix-server fonts]#mv graphfont.ttf{,.bak}
[root@zabbix-server fonts]#ls
graphfont.ttf.bak
[root@zabbix-server fonts]#mv /root/
anaconda-ks.cfg  .bash_logout     .bashrc          .cshrc           MSYHL.TTC        .mysql_history   .viminfo         
.bash_history    .bash_profile    centos8init.sh   MSYHBD.TTC       MSYH.TTC         .tcshrc          
[root@zabbix-server fonts]#mv /root/MSYHBD.TTC ./graphfont.ttf
[root@zabbix-server fonts]#ls
graphfont.ttf  graphfont.ttf.bak

刷新web页面

zabbix客户端(192.168.29.142   web1)

[root@web1 ~]#rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
[root@web1 ~]#yum clean all
17 files removed
#安装zabbix客户端
[root@web1 ~]#yum -y install zabbix-agent
[root@web1 ~]#vim /etc/zabbix/zabbix_agentd.conf
...
#被动模式
#指定zabbix位置。多个IP之间用逗号, 分割
Server=192.168.29.141
...
#主动模式
ServerActive=192.168.29.141
...
#agent主机名,要和server端一致
Hostname=web1
...
#启动客户端
[root@web1 ~]#systemctl enable --now zabbix-agent.service

zabbix_get

server通过命令行方式zabbix_get获取agent监控数据

-s:指定主机名或IP

-k:指定监控项

-p:指定端口,默认10050

[root@zabbix-server ~]#yum -y install zabbix-get.x86_64
[root@zabbix-server ~]#zabbix_get -s 192.168.29.142 -k system.uname
Linux wenzi.localdomain 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64
[root@zabbix-server ~]#zabbix_get -s 192.168.29.142 -k system.cpu.load[all,avg15]
0.080000

监控apache服务

#agent安装httpd
[root@web1 ~]#systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@web1 ~]#netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      914/sshd            
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2237/zabbix_agentd  
tcp6       0      0 :::80                   :::*                    LISTEN      2776/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      914/sshd            
tcp6       0      0 :::10050                :::*                    LISTEN      2237/zabbix_agentd

在web界面中

一、创建主机群组

配置>主机群组>创建主机群组(web界面右上角)

二、创建主机

配置>主机>创建主机

主机名称:和/etc/zabbix/zabbix_agentd.conf中Hostname的值保持一致

模板:选择>Templates>HTTP Service

群组:选择自己创建的群组web_apache

interfaces:填写Apache所在的主机IP,端口

三、监测的结果以图表显示

配置>主机>图形(web1所在行)>创建图形

四、验证

中间关闭apache服务几分钟,再启动服务,观察图形变化。1是开启;0是关闭

踩坑:

若始终看不到agent,检查server端 /etc/zabbix/zabbix-server.conf中的StatsAllowedIP是否包含agent的IP。格式 192.168.29.0/24

若添加的agent中可用性的绿色ZBX始终不亮,HTTP Service中类型从简单检查改为Zabbix 客户端,形成被动监控。

 

 

valiability一共三种颜色对应三种状态【官网解释】:

Green -   available
Red  -   not available (upon mouseover, details of why the interface cannot be reached are displayed)
Gray   -   unknown or not configured


1. 如果是绿色,代表正常的,健康的;

2. 如果是红色,代表错误,移动鼠标到红色 ZBX 上,会自动提示错误信息,根据错误提示寻找原因;

3. 如果是灰色,代表Unknown

  ① 检查 /etc/zabbix/zabbix_agentd.conf 中的 Hostname 字段值是否与zabbix页面中的配置对应主机地方中的 Host name 的值是否一致(要一致);

  ② 检查是否给要监控的主机添加了监控模板或者具体的监控项(要添加);

  ③ 是否添加了被动监控模板或者被动监控项(需要存在被动监控);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/606949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python取出列表中的若干元素

Python取出列表中的若干元素 Python是一个功能强大且易于学习的编程语言,具有广泛的应用领域。在数据科学和机器学习中,Python是一个非常流行的语言,因为它具有许多用于处理数据和矩阵运算的库,例如NumPy和pandas。在Python的列表…

chatgpt赋能python:使用Python向微信发送信息的方法详解

使用Python向微信发送信息的方法详解 Python作为一种广泛应用于科学计算、数据处理等多个领域的编程语言,也可以用于自动化工作流程和自动发送微信消息等操作,大大提高了工作效率。如果你想在日常工作中用Python向微信群或个人发送自定义信息&#xff0…

linux网络设置

文章目录 一、查看网络配置1.查看网络接口信息——ifconfig1.1查看所有本机的网络的网络设备1.2设置网络接口参数1.3对指定的设备开启或关闭 2.查看主机名称——hostname2.1查看或临时设置当前主机名2.2永久设置主机名 3.查看路由表条目——route3.1查看当前主机路由表3.2添加路…

chatgpt赋能python:Python取消赋值:让你的代码更清晰简洁

Python取消赋值:让你的代码更清晰简洁 在Python编程中,我们经常需要使用赋值语句对变量进行赋值。但在某些情况下,我们也会发现需要取消赋值,即将已经赋过值的变量重新设为未赋值状态。这时,Python提供了一种特殊的语…

阿里云 Windows Server 2022 安装 Docker

阿里云Windows Server 2022 安装 Docker 文章目录 情景尝试正解 安装Docker管理工具安装Docker重启系统配置Docker系统路径配置Docker引擎(也许不用)启动Docker服务 情景 情景:最近一直在搞微服务,团队的服务器是阿里云的 Windows Server 2022&…

chatgpt赋能python:Python发展史:从诞生到井喷的开源之路

Python发展史:从诞生到井喷的开源之路 1. Python诞生的背景和历史 Python作为一种高级动态编程语言,在世界上得到了广泛应用,其诞生与发展也是有着自己的背景和历史的。20世纪90年代初期,著名的荷兰数学家Guido van Rossum开发了…

操作系统之文件管理

目录 认识文件管理 文件的逻辑结构 文件目录 文件的物理结构 文件存储空间管理 文件的基本操作 文件共享 文件保护 文件系统的全局结构 虚拟文件系统 内容摘自:4.1_1_初识文件管理_哔哩哔哩_bilibili 认识文件管理 文件——就是一组有意义的信息/数据集合…

chatgpt赋能python:Python可以用C语言吗?——一份详细解读

Python可以用C语言吗?——一份详细解读 Python和C语言是两种常见而重要的编程语言。Python被广泛应用于各种领域,从人工智能到数据科学,而C语言则是系统编程,操作系统和编译器方面最受欢迎的语言之一。许多人认为Python和C语言没…

pikachu靶场总结

目录 一.暴力破解 1.基于表单的暴力破解 2.验证码绕过(on server) 3.验证码绕过(client) 4.token防爆破 二.Cross-Site Scripting 1.先了解XSS 2.反射型xss(get) 3.反射型xss(post&…

[SPSS] SPSS统计分析软件简介

SPSS的英文缩写来源于以下两个 ① Statistical Package for Social Science(社会科学统计软件包) ② Statistical Product and Service Solutions(统计产品与服务解决方案) SPSS是一种专业的统计分析软件。为用户提供了直观的图形化菜单界面,用户的数据管理和统计…

C++——多态与虚表

目录 1.多态的实现 2.虚表 2.1虚函数重写是怎么实现的 2.2多态的原理 2.3静态绑定与动态绑定 3.单继承体系中的虚函数表 ​编辑4.多继承体系中的虚函数表 5.菱形继承的虚函数表 6.菱形虚拟继承的虚函数表 1.多态的实现 在C中,要想实现多态,必…

认识elasticSearch并安装

一、介绍 定义:简称es,本质是一个开源的nosql数据库。主要用于全文检索,所以我们又称它为搜索引擎框架; 用途:实时数据搜索、日志采集分析 特点: 检索快。面对PB级的海量数据,用传统sql方式…

solr快速上手:配置从mysql同步数据(五)

0. 引言 上一节我们已经配置了新的索引,但是数据还是手动添加的,并没有实现自动从数据库同步,所以这一节,继续来实现从mysql同步数据到solr solr快速上手:solr简介及安装(一) solr快速上手&a…

chatgpt赋能python:Python中取某个元素的技巧

Python 中取某个元素的技巧 作为一种强大而灵活的编程语言,Python 常常被用来处理各种数据集合,如列表、元组、字典等。在处理这些数据集合的过程中,取某个元素的需求很常见,同时也有多种实现方法。在本文中,我们将介…

python学习-进阶基本知识点总结

(一)正则表达式 1、正则表达式 字符类 [abc]:匹配 “a”、“b” 或 “c” 中的任意一个字符。abc:除了 “a”、“b” 和 “c” 以外的任何字符。[a-z]:匹配任何小写字母。[A-Z]:匹配任何大写字母。[0-9]&…

第6节:obj/fbx/shp等转3dtiles(免费转换工具+视频)

推介使用cesiumlab 进行转换(可免费转换,含转换结果预览),网上也看了很多转换工具,要么操作安装不方便,要么转换出来效果不理想。 1、下载cesiumlab工具 下载地址 2、启动cesiumlab,进行登录访问(网页版) 没有账号的可以用手机号注册一个 3、 选择通用模型切片 …

恒容容器放气的瞬时流量的计算与合金氢化物放氢流量曲线的计算

有时候,你会遇到一个问题,该问题的描述如下: 你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开…

数据库关系操作集合

文章目录 传统集合运算1:联合(UNION)2:差集(EXCEPT 或 MINUS 或 LEFT JOIN&&IS NULL)3:交集(INTERSECT或INNER JOIN)4:笛卡尔积(JOIN) 专门集合运算1:选择(SELEC…

JVM那些事 (含经典面试题)

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 前言: 1. JVM:Java 虚拟机&#x…

【MySQL高级篇笔记-性能分析工具的使用 (中) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、数据库服务器的优化步骤 二、查看系统性能参数 三、统计SQL的查询成本:last_query_cost 四、定位执行慢的 SQL:慢查询日志 1、开启慢查询日志参数 2、查看慢查询数目 3、慢查询日志分析工具&#xf…