百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

安装Zabbix5.0服务并监控服务器

nanshan 2025-02-09 13:33 7 浏览 0 评论

Zabbix简介

官方网站:http://www.zabbix.com/

Zabbix 是企业级监控系统的开源解决方案,是一个基于 WEB 界面的分布式监控服务器。

主要特点:

Zabbix 安装不配置简单,学习成本低,支持多语言(包括中文),免费开源,自动发现服务器与网络设备,分布式监视,良好的 WEB 界面交互等通知功能。

Zabbix 主要监控服务器:CPU 负载、内存使用、磁盘使用、网络状态、端口监视、日志监视。

Zabbix 运行机制

Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法监控服务器状态。可以在 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多平台运行。

Zabbix Agent 安装在被监控的服务器上,主要完成对内存,CPU,磁盘等信息收集。

Agent [?e?d??nt] 代理人

Zabbix 运行过程图

Zabbix 运行过程图

(1)Agent 从服务器中收集相关数据,传送给 Zabbix Server

(2)Server 把数据存储到数据库中

(3)Server 把数据分析之后以 Web 页面,展示出来。

zabbix-server 监听端口:10051 ; Agent 监控端口 10050 。

服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent 一个服务。


Zabbix 服务安装部署及监控配置

安装 LAMP 环境

我们需要先构建 LAMP 的环境,因为 Zabbix 通过 PHP 页面展示数据。

1、安装 lamp 环境

yum -y install httpd mariadb mariadb-server
yum install centos-release-scl
#安装官方扩展源
yum -y install rh-php72
#安装zabbix5.0所需rh-php-72

2、安装 zabbix 需要的 php 库

后续安zabbix5.0要求安装

安装 Zabbix-server

1、安装 zabbix yum 源

**注:**zabbix 官方源在中国无法使用,而且每个人网络环境无法保障,所以我们可以选择配置本地 yum源进行离线安装。

xshell上传所需rpm包

清华大学镜像源下载,附地址:

https://mirrors.tuna.tsinghua.edu.cn/zabbix/

yum源

yum -y install https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

依次安装

依赖包装一下

yum install OpenIPMI OpenIPMI-libs OpenIPMI-modalias
unixODBC fping -y

rpm -ivh 这边不作详细描述

zabbix-agent #客户端
zabbix-web #zabbix的web页面
zabbix-server-mysql #服务器包

zabbix-apache-conf #Apache conf.d下配置文件 ( 4.4装完web-mysql httpd配置文件下会有zabbix.conf 5.0的话需要单独安装)

server安装过程中会提示需要php依赖。

zabbix-web-deps-scl 这个需要php扩展包若干。

rh-php72-php-mysqlnd
rh-php72-php-bcmath rh-php72-php-fpm rh-php72-php-gd rh-php72-php-ldap rh-php72-php-mbstring
yum -y install rh-php72-php-mysqlnd
yum -y install rh-php72-php-bcmath rh-php72-php-fpm rh-php72-php-gd rh-php72-php-ldap rh-php72-php-mbstring

依赖解决之后 zabbix5.0所需六个包全部装好。


配置Zabbix Server

启动数据库

systemctl restart mariadb.service
systemctl enable mariadb.service
systemctl stop firewalld && systemctl disable firewalld #关闭防火墙

创建初始数据库

mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
**注:**character set utf8:设置数据库的默认字符集编码为 utf8 ;
collate utf_bin:是以二进制值比较,也就是区分大小写,collate 是核对的意思
character [?k?r?kt??] 特征 ; collate [k??le?t] 核对,整理
MariaDB [(none)]>
grant all privileges on zabbix.* to zabbix@localhost identified by
'password';
**注:**创建 zabbix 用户,密码是 passwod
MariaDB [(none)]> exit;

zabbix表导入mariadb

zcat /usr/share/doc/zabbix-server-mysql-4.4.6/create.sql.gz |
mysql -u zabbix -p zabbix
Enter password: 输入 password
zcat 命令 用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
cat直接查看为乱码
可登录数据库查看导入的表
mysql -u root -p zabbix

修改zabbix配置文件

vim /etc/zabbix/zabbix_server.conf
91 # DBHost=localhost #数据库的 IP 地址 ,默认就可以
100 DBName=zabbix #数据库名,默认就可以
116 DBUser=zabbix #违接数据库授的用户是 zabbix,默认就可以
改:124 # DBPassword=
为:DBPassword=password #mysql 用户 zabbix 的密码 password
vim /etc/httpd/conf.d/zabbix.conf
#5.0不安装zabbix-apache-conf-scl 没有这个配置文件

Apache Alias 网站别名作用:为站点 URI 定义一个路径映射关系。

当访问http://192.168.x.x/zabbix目录下的文件时,会直接从服务器/usr/share/zabbix 目录下访问对应的文件。/usr/share/zabbix 下存储着 zabbix web 网站代码。

4.4版本需要在该配置文件中更改时区。

改:20 # php_value date.timezone Europe/Riga
为:20 php_value date.timezone Asia/Shanghai


监控Zabbix Server本身

vim /etc/zabbix/zabbix_agentd.conf
119 Server=127.0.0.1 #指定 zabbix服务器的 IP 地址
160 ServerActive=127.0.0.1 #开启主动模式
171 Hostname=Zabbix server
改:330 # UnsafeUserParameters=0
为:330 # UnsafeUserParameters=0 #不安全的用户参数。是否允许自定义脚本传递特殊字符作为参数,通常不用开。

扩展:主动模式流程如下:

(1)、Agent 主动找 server 要需要采集的数据

(2)、Server 响应 Agent,发送要采的数据内容

(3)、Agent 开始周期性地收集数据

后期可以在配置时指定客户端主动模式。


安装Zabbix-Wbe前端页面

启动服务

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

浏览器访问

http://192.168.x.x/zabbix

开始检查环境,确认所有选项都为 ok。

这里需要修改php.ini 时区
如果不 ok,可以编辑 php.ini 文件,修改环境
vim /etc/php.ini
改: post_max_size = 8M
为: post_max_size = 16M
改: max_execution_time = 30
为: max_execution_time = 300
改: max_input_time = 60
为: max_input_time = 300
改: ;date.timezone =
为: date.timezone = Asia/Shanghai

#输入用于违接数据库的详细信息。Zabbix 数据库必须已经创建。

#请输入 Zabbix 服务器的主机名戒主机 IP 地址和端口号,以及安装的名称(可选)。

端口0为默认3306

下面两页下一步 忘记截图

登录Zabbix并配置修改语音为中文 默认用户名为Admin,密码zabbix

点击左下角用户头像 更改语言为中文。

暂时安装就这些。


配置监控进程主机

安装agent客户端
rpm -ivh zabbix-agent-5.0.0-1.el7.x86_64.rpm
配置Agentd的配置文件
vim /etc/zabbix/zabbix_agentd.conf
改:Server=127.0.0.1
为:Server=192.168.x.x #zabbix server 地址,可以多个,用“,”隔开
改:ServerActive=127.0.0.1
为:ServerActive=192.168.x.x #主动检查本主机的数据发送给 Zabbix Server
改:Hostname=Zabbix server
为:Hostname=客户端ip

启动服务

systemctl start zabbix-agent && systemctl enable zabbix-agent


netstat -lntp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 5512/zabbix_agentd
tcp6 0 0 :::10050 :::*


在服务端测试通讯

zabbix_get 命令是在 server 端用来检查 agent 端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用 zabbix_get 来检查能否采集到数据,以便判断问题所在。

zabbix_get 参数说明:
-s --host: 指定客户端主机名或者 IP
-p --port:客户端端口,默认 10050
-I --source-address:指定源 IP,写上 zabbix server 的 ip 地址即可,一般留空,服务器如果有多ip 的时候,你指定一个。
-k --key:你想获取的 key
zabbix_get -s 192.168.43.42 -p 10050 -k system.uname


Linux xxxxx 3.10.0-693.el7.x86_64 xxxxxxxxxxxxxx

以上可以获取对方系统版本则证明没有问题

如果不知道 key 参数可以使用 zabbix_agentd -p 寻找自己想要找的参数

zabbix_agentd -p | grep system.cpu.load
system.cpu.load[all,avg1]


zabbix_get -s 192.168.43.42 -p 10050 -k system.cpu.load[all,avg1]
0.000000


将客户端主机添加到zabbix服务器上并监控

选择 zabbix agent 模版监控模板,来监控x 上运行状态

注: zabbix agent 模板和 zabbix agent active 版本不能同时选择,有冲突。

选择模板后点击添加即可。

添加后状态为已启动,等待可用性也变为绿色就可以正常获取数据了。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: