Linux-Zabbix监控-安装与配置

这篇具有很好参考价值的文章主要介绍了Linux-Zabbix监控-安装与配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、zabbix 简介

Zabbix官网地址为:Zabbix:企业级开源监控解决方案

Web界面效果图

zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

1、什么是zabbix?
 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。


 Zabbix由两个部分构成,zabbix server与可选组件zabbix agent。

Zabbix Server端

zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。

Agent(Zabbix client端)

zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。

 zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

2、zabbix的功能
①数据收集
具有可用性和性能检查功能
支持SNMP(捕获和轮询)


②数据存储
可以存储历史数据
可以存储配置数据
可以存储监控数据


③灵活的阈值定义
用户可以非常灵活地定义监控阈值,zabbix也称触发器

④可配置的报警
可以配置多种报警媒介,如:邮件,短信,微信等。


⑤实时的可视化图形展示
使用自带的图形工具,实时展示被监控的对象
具有多种web可视化功能选择


3、zabbix的工作原理
zabbix agent 安装在被监控的主机上,负责收集需要的各项数据,并将数据发送到zabbix server端,zabbix server将传递过来的数据存储到数据库中,zabbix web端根据数据来展示和绘图。
zabbix agent收集数据有主动和被动两种方式。

主动方式:Agent端请求server端获取主动的监控项列表,然后主动将监控项内需要检测的数据提交给Server端。
被动模式:Server端主动向Agent端请求获取监控项数据,Agent端返回所需的数据

详细介绍请查看官网:官网链接:Zabbix功能点概览

二、Zabbix的进程介绍

在默认的情况下,zabbix有6个工作进程;分别是 zabbix_agentd,zabbix_get,zabbix_proxy,zabbix_sender,zabbix_server 和 zabbix_gateway。

这6个进程的作用如下:

1、zabbix_agentd

zabbix-agentd为zabbix客户端守护进程 ,主要负责收集客户端监控项数据。

2、zabbix_server

zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据。(端口为10051)

3、zabbix_proxy

zabbix_proxy是zabbix的代理程序,其功能类似于server,作用上类似于一个中转站,最终会把收集的数据再次提交给zabbix_server。

4、zabbix_get

zabbix_get作为zabbix工具,通常运行在zabbix_server或者zabbix_proxy上,用于远程获取客户端信息,通常用于排错。

5、zabbix_sender

zabbix_sender也是zabbix的一个工具,通常运行在zabbix的客户端,用于耗时比较长的检查,其作用是主动发送数据。

6、zabbix_java_gateway

zabbix_java_gateway是zabbix2.0以后引入的新功能,可以用于JAVA方面的设备;但是只能主动获取数据,而不能被动获取数据。
 

三、 zabbix服务端安装

1.1 RPM软件包安装zabbix5.0储存库

hostnamectl set-hostname  xxxx   #永久修改主机名(可以修改主机名分辨服务端以及客户端)

bash  #立即生效

安装zabbix5.0储存库

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

zabbix安装部署linux,Linux,zabbix 查看一下库里是否有zabbix库zabbix安装部署linux,Linux,zabbix

 1.2 安装zabbix软件包

zabbix安装部署linux,Linux,zabbix

 查看配置文件

vim /etc/yum.repos.d/zabbix.repo

zabbix安装部署linux,Linux,zabbix

 运行脚本命令更改配置文件启用仓库

sed -i '11s/enabled=0/enabled=1/' zabbix.repo

zabbix安装部署linux,Linux,zabbix

 1.3 安装zabbix前端软件包

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl 

zabbix安装部署linux,Linux,zabbix


有可能会遇到缺包报错的情况,可加入以下两个库

yum -y install epel-release

  • 安装 EPEL 仓库:EPEL 是 Extra Packages for Enterprise Linux 的缩写,它是一个由社区维护的附加软件包仓库,提供了许多在 CentOS 或 RHEL 官方仓库中不包含的软件包。

  • 作用:通过安装 EPEL 仓库,你可以轻松地访问并安装 EPEL 仓库中的软件包,从而扩展 CentOS 系统的软件源。

yum install centos-release-scl

  • 安装 CentOS SCL 仓库:SCL 是 Software Collections 的缩写,它是一个提供并行安装软件集合的仓库,可以与系统默认软件包并存。

  • 作用:通过安装 CentOS SCL 仓库,你可以使用 SCL 仓库中的软件集合,这些集合包含了其他版本的编程语言、工具和库。这样,你可以同时在系统上安装多个版本的软件,并根据需要使用特定版本。

 下载完成后可以继续下载zabbix前端的两个包


1.4 安装数据库软件

yum install -y mariadb-server

systemctl start mariadb                #启动数据库

systemctl enable mariadb            #设置开机自启

zabbix安装部署linux,Linux,zabbix

 以上截图是我已经安装过了,就不卸载示范了

在这里也可以提一下卸载的命令

systemctl stop XXX        #停止有XX的服务以及相关的服务

rpm -qa | grep -i zabbix       #使用命令请替换掉后面的内容,查找Zabbix的所有服务

rpm -qa mariadb        #查找mariadb

yum -y remove XXX        #卸载XXX服务

find / -name XXX        #查找XXX所有的配置以及相关文件

find / -name "*XXX*"        #需要更干净一点的话,可以利用模糊搜索查找

 1.5 数据库配置

#进入数据库
mysql
 
创建存储数据的库,并支持中文(库名:zabbix)
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
 
#授权连接数据库的用户,并设置密码(用户名:zabbix)
MariaDB [(none)]> create user zabbix@localhost identified by '123456';
 
#数据库授权
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
 
#查看所有库
MariaDB [(none)]> show databases;
+----------------------+
| Database                       |
+----------------------+
| information_schema    |
| mysql                             |
| performance_schema  |
| test                                 |
| zabbix                            |
+----------------------+
5 rows in set (0.07 sec)
 
#进入zabbix库
MariaDB [(none)]> use zabbix; 
Database changed
 
#查看当前库下表
MariaDB [zabbix]> show tables; 
Empty set (0.00 sec)    #没有内容
 
#在Zabbix服务器主机上,导入初始架构和数据。系统将提示您输
入新创建的密码
zcat /usr/share/doc/zabbix-server-mysql-5.0.35/create.sql.gz | mysql -uzabbix -p -D zabbix
Enter password: password    #输入zabbix用户密码

解释:

  • zcat:这是一个用于解压缩 .gz 压缩文件的命令。在这里,它被用于解压缩 /usr/share/doc/zabbix-server-mysql-5.0.35/create.sql.gz 文件。
  • /usr/share/doc/zabbix-server-mysql-5.0.35/create.sql.gz:这是 Zabbix 的数据库架构文件的路径。它是经过压缩的 .sql 文件,使用 gzip 压缩算法。
  • |:管道符号用于将命令的输出作为另一个命令的输入。
  • mysql:这是用于与 MySQL 数据库进行交互的命令行工具。
  • -uzabbix:这是指定 MySQL 用户名为 zabbix。你可以根据你的实际情况修改为正确的用户名。
  • -p'123456':这是指定 MySQL 用户的密码。在这个例子中,密码被设置为 123456。你需要将它替换为你的 MySQL 用户密码。
  • -D zabbix:这是指定要使用的数据库名称,这里是 zabbix。你可以根据你的需求修改为正确的数据库名称。

 
#Zabbix服务器配置数据库
vim /etc/zabbix/zabbix_server.conf
100 DBName=zabbix         #存储监控数据的库名
116 DBUser=zabbix             #连接数据库的用户
124 DBPassword=123456     #设置zabbix用户密码
 
#为Zabbix配置正确的时区
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai    #亚洲/上海 

 中途报错

ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

ERROR 1050 (42S01) at line 1: Table '`zabbix`.`users`' already exists 

解决方法:

①权限问题:

据错误信息,访问被拒绝的问题仍然存在。这可能是由于以下原因导致的:

  1. 密码错误:请确保你输入的密码是正确的,并且没有包含任何特殊字符或空格。

  2. 用户权限:再次验证 'zabbix' 用户在数据库中是否具有正确的权限。确保 'zabbix' 用户具有足够的权限执行导入操作。你可以使用 SHOW GRANTS FOR 'zabbix'@'localhost'; 命令检查用户的权限。

  3. 主机访问限制:检查数据库是否配置了仅允许特定主机或 IP 地址访问的安全规则。确保允许 'zabbix' 用户从所在的主机或 IP 地址进行访问。

  4. 数据库和表存在性:确保 zabbix 数据库已经在目标数据库服务器上创建。还要确保 create.sql.gz 文件中包含正确的 SQL 语句,以创建所需的表和结构。

②'zabbix.users' 已经存在,因此无法创建重复的表。

这可能是因为你之前已经运行过相同的脚本,导致表已经存在于数据库中。如果你确实想重新创建数据库并重新运行脚本,可以尝试以下方法:

  1. 删除现有的数据库:在运行脚本之前,使用以下命令删除现有的 zabbix 数据库:

    mysql -uzabbix -p'123456' -e "DROP DATABASE zabbix;"

    请注意,这将删除 zabbix 数据库及其所有数据,请确保你的操作,并且已备份了重要的数据。

  2. 重新创建数据库:删除数据库后,使用以下命令重新创建 zabbix 数据库:

    mysql -uzabbix -p'123456' -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;"

  3. 重新运行脚本:在重新创建数据库后,再次运行脚本:

    zcat /usr/share/doc/zabbix-server-mysql-5.0.35/create.sql.gz | mysql -uzabbix -p'123456' -D zabbix

zabbix安装部署linux,Linux,zabbix

检验 Zabbix 的数据库架构是否已经导入到 MySQL 数据库中 

  1. 连接到 MySQL 数据库: 使用以下命令连接到 MySQL 数据库,使用与之前导入数据库时相同的用户名和密码:

    mysql -u <用户名> -p

    输入密码后,你将进入 MySQL 命令行提示符。

  2. 选择 Zabbix 数据库: 在 MySQL 命令行提示符下,选择 Zabbix 数据库:

    USE zabbix;
  3. 进入到zabbix查看Zabbix 的数据库架构是否存储

             show tables;

zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

Zabbix服务器配置数据库

zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

为Zabbix配置正确的时区

zabbix安装部署linux,Linux,zabbix

 1.6 启动并查看
#启动所有服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
 
#设置服务随机自启
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
 
#查看zabbix服务占用端口信息
netstat -anptul | grep zabbix
tcp    LISTEN    0    128    *:10051
#zabbix-server端口
tcp    LISTEN    0    128    *:10050
#zabbix-agent端口  

启动所有服务并设置开机自启 查看zabbix服务占用端口信息

zabbix安装部署linux,Linux,zabbix

四、zabbix服务参数介绍


zabbix server服务名:zabbix-server 端口:10051

zabbix  agent服务名:zabbix-agent端口:10050

zabbix server主配置文件:/etc/zabbix/zabbix_server.conf

zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf

zabbix企业微信报警脚本路径:/usr/lib/zabbix/alertscripts

zabbix自定义监控项路径:/etc/zabbix/zabbix_agentd.d zabbix

日志文件的路径:/var/log/zabbix/

五、web页面设置

从浏览器上打开Zabbix前端访问页面

对应Apache:  http://IP地址/zabbix

对应Nginx: http://IP地址

Web前端安装向导页面如下:

zabbix安装部署linux,Linux,zabbix

 先决检查:这里的Check of pre- requisites必须全部项目OK后才能继续配置,如有提示 fail,去server上检查是否安装这个包或配置是否按上述更改

zabbix安装部署linux,Linux,zabbix

配置数据库连接

输入连接数据库所需的详细信息。

zabbix安装部署linux,Linux,zabbix

Zabbix server服务器详情

请输入Zabbix服务器详情,可选的输入Zabbix服务器的名字, 提交后, Zabbix服务器的名字将会显示在菜单和页面的标题

 安装前总结

zabbix安装部署linux,Linux,zabbix

 如果webserver用户对conf/目录有写访问权,配置文件 将自动保存,并且可以立即进入下一步

zabbix安装部署linux,Linux,zabbix

 web界面登陆

zabbix前端已经安装完成!最高管理员是Admin,密码是zabbix

为了防止暴力破解和词典攻击,如果发生连续五次尝试登陆失败,Zabbix接口将暂停30秒。

在下次成功登陆后,将会在界面上显示登录尝试失败的IP地址。

zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

修改界面的语言

 zabbix安装部署linux,Linux,zabbix

 成功修改为中文界面zabbix安装部署linux,Linux,zabbix

六、部署被监控的主机

1、修改源

rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.24-1.el7.x86_64.rpm

 我的客户端已经安装过了,所以有冲突正常时两条加载进度条100%

zabbix安装部署linux,Linux,zabbix

2、下载agent包并查看

yum install -y zabbix-agent

 我的客户端也是下载过了

zabbix安装部署linux,Linux,zabbix

 正常情况下应该是以下截图zabbix安装部署linux,Linux,zabbix

 查看以下agent包的服务zabbix安装部署linux,Linux,zabbix

  3、修改agent配置文件

vim /etc/zabbix/zabbix_agentd.conf
117 Server=192.168.40.140    #指定zabbix server地址

164 ServerActive=192.168.40.140

175 Hostname=zabbix-client   #此处地址后续在Web界面上添加客户端需名称一致

122 StartAgents=0                         #在122行加一条配置信息

客户端的agent的模式,0表示关闭被动模式,zabbix-agentd不监控本地端口,所以看不到zabbix_agentd进程。

286 UnsafeUserParameters=1         #在286行加一条配置信息


#启动服务并设置服务开机自启
systemctl start zabbix-agent
systemctl enable zabbix-agent 

 我这边挂了公网不方便暴露地址了,这里写服务端的IP

 zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

 Zabbix客户端脚本

#!/bin/bash
Ip_addr=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
#yum -y install redhat-lsb  telnet zlib-devel pam-devel  gcc vim net-tools bind-utils sysstat traceroute libaio expect pcre-devel openssl-devel zlib-devel tcl numactl wget unzip
echo "===========================安装软件源==========================="
#rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
echo "===========================安装软件zabbix-agent==========================="
yum install -y zabbix-agent
echo "===========================生成配置文件==========================="
mkdir /etc/zabbix/script
cp /opt/ins_xg/zabbix/tcp_status.sh /etc/zabbix/script/
chmod +x /etc/zabbix/script/tcp_status.sh
cp /opt/ins_xg/zabbix/tcp_status.conf /etc/zabbix/zabbix_agentd.d/
cp -aRp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf_bak
echo "===========================修改配置文件==========================="
cd /etc/zabbix/
sed -i 's/Server=127.0.0.1/Server=121.192.191.80/g' zabbix_agentd.conf
sed -i 'N;122aStartAgents=0' zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/ServerActive=121.192.191.80/g' zabbix_agentd.conf
#sed -i 's/Hostname=Zabbix server/Hostname= $Ip_addr/g' zabbix_agentd.conf
sed -i 'N;286aUnsafeUserParameters=1' zabbix_agentd.conf
echo "===========================启动服务==========================="
#/etc/init.d/zabbix-agent restart
#systemctl restart zabbix-agent

 七、在ZabbixfuWeb界面发现客户端

zabbix安装部署linux,Linux,zabbix

 配置模板并更新zabbix安装部署linux,Linux,zabbix

zabbix安装部署linux,Linux,zabbix

在最新数据当中已经可以看到客户端的一些配置信息

zabbix安装部署linux,Linux,zabbix

 zabbix安装部署linux,Linux,zabbix文章来源地址https://www.toymoban.com/news/detail-741310.html

到了这里,关于Linux-Zabbix监控-安装与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux系统zabbix监控分布式监控的部署

    zabbix server端监控到大量zabbix agent端,这样会使zabbix server端压力过大,使用zabbix proxy进行分布式监控 安装工具 安装mysql 导入数据结构 配置proxy端 浏览器配置 这个时候创建主机就可以选择proxy端 选择刚刚创建的agent代理程序

    2024年02月20日
    浏览(50)
  • Zabbix监控系统及安装部署

    作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: ●1、通过一个友好的界面进行浏览整个网站所有的服务器状态 ●2、可以在 Web 前

    2024年02月12日
    浏览(46)
  • 【Zabbix 6.0 监控系统安装和部署】

    利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器状态 ●可以在 Web 前端方便的查看监控数据 ●可以回溯寻找事故发生时系统的问题和报警情况 ●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解

    2024年02月12日
    浏览(41)
  • linux系统zabbix监控配置钉钉告警

    配置钉钉告警 环境准备 配置钉钉脚本文件 钉钉日志目录 编写脚本 浏览器配置钉钉告警 中文消息告警模版 为用户添加报警媒介 添加监控项=》添加触发器=》 添加玩监控项和触发器后添加动作 至此,监控钉钉报警就配置完成了

    2024年02月22日
    浏览(43)
  • 安装及配置zabbix_agent代理端(监控FTP服务器)

    监控agent的linux主机我们在之前的文章里已经做好了 现在直接安装ftp服务即可             监控成功

    2024年02月16日
    浏览(41)
  • Zabbix监控系统 第一部分:zabbix服务部署+自定义监控项+自动发现与自动注册(附详细部署实例)

    zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix age

    2024年02月07日
    浏览(45)
  • Linux分布式应用 Zabbix监控配置[添加主机 自定义监控内容 邮件报警 自动发现/注册 代理服务器 高可用集群]

    关闭防火墙  服务端和客户端都配置时间同步 服务端和客户端都设置 hosts 解析 设置 zabbix 的下载源,安装 zabbix-agent2 修改 agent2 配置文件 启动 zabbix-agent2 在服务端验证 zabbix-agent2 的连通性 在 Web 页面中添加 agent 主 机 点击左边菜单栏【配置】中的【主机】,点击【创建主机

    2024年02月13日
    浏览(59)
  • 监控平台zabbix介绍与部署

    业务架构 :客户端 - 防火墙 - 负载均衡(四层、七层)- Web缓存/应用 - 业务逻辑(动态应用)- 数据缓存 - 数据持久 运维架构 :运维客户端 - 堡垒机/跳板机(jumpserver/VNC)- 监控系统、日志系统、存储系统、自动化运维平台、持续集成持续部署平台(CI/CD) 作为一个运维,需

    2024年01月18日
    浏览(37)
  • 用yum部署Zabbix(监控)!

    目录 一、zabbix 是什么? 二、zabbix 监控原理  三、 安装 zabbix 3.1部署 zabbix 服务端 3.2 解决 zabbix-server Web页面中文乱码问题 3.2.1 解决问题  3.3 部署 zabbix 客户端 3.3.1服务端和客户端都配置时间同步 3.3.2客户端配置时区,与服务器保持一致 3.3.3设置 zabbix 的下载源,安装 zabbix

    2024年02月13日
    浏览(38)
  • 分布式监控Zabbix的部署

    作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器状态 ●可以在 Web 前端方便

    2024年02月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包