首页 > 其他分享 >Zabbix入门到实战-01

Zabbix入门到实战-01

时间:2024-09-25 12:51:01浏览次数:3  
标签:01 入门 Zabbix server etc zabbix php root

参考官网:产品手册 (zabbix.com)

一、zabbix概述

Zabbix 是一个企业级的开源分布式监控解决方案。

Zabbix 是一款监控众多参数的网络以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。Zabbix 基于存储的数据提供出色的报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持轮询和 trapping。所有 Zabbix 报告和统计数据以及配置参数都可以通过基于 Web 的前端访问。基于 Web 的前端确保可以从任何位置评估您的网络状态和服务器的健康状况。如果配置得当,不管对于拥有少量服务器的小型组织还是拥有大量服务器的大公司来讲,Zabbix 都可以在监控 IT 基础设施方面发挥重要作用。

1.1 功能

Zabbix 是一个高度集成的网络监控解决方案,在一个软件包中提供了多种功能。

数据收集

  • 可用性和性能检查

  • 支持 SNMP(trapping 和 polling)、IPMI、JMX、VMware监控

  • 自定义检查

  • 以自定义间隔收集所需数据

  • 由 server/proxy 和 agents 执行

灵活的阈值定义

  • 可以定义非常灵活的问题阈值,称为触发器,从后端数据库引用值

高度可配置的告警

  • 可以针对升级计划、收件人、媒体类型自定义发送通知

  • 使用宏可以使通知变得有意义和友好

  • 自动化操作包括执行远程命令

实时图形

  • 采集到的监控项值可以使用内置的绘图功能立即图形化

网络监控功能

  • Zabbix 可以跟踪网站上的模拟鼠标点击的路径并检查功能和响应时间

丰富的可视化选项

  • 创建自定义图形的能力,可以将多个监控项组合成一个聚合图形

  • 网络拓扑图

  • 在仪表盘中显示幻灯片

  • 报表

  • 被监控资源的高级(业务)视图

历史数据存储

  • 存储在数据库中的数据

  • 可配置的历史数据(保留趋势)

  • 内置管家程序

轻松配置

  • 将受监控的设备添加为主机

  • 一旦主机添加到被数据库,就会开始进行数据采集

  • 将模板应用于受监控的设备

模板的使用

  • 在模板中分组检查

  • 模板可以继承其他模板

网络发现

  • 网络设备自动发现

  • agent 自动注册

  • 发现文件系统、网络接口和 SNMP OID

便捷的 web 界面

  • 基于web的PHP前端

  • 可从任何地方访问

  • 可以通过你的方式点击(到任何页面)

  • 审计日志

Zabbix API

  • Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。

权限系统

  • 安全用户认证

  • 某些用户可以被限制仅访问某些视图

功能齐全且易于扩展的 agent

  • 部署在被监控目标上

  • Linux 和 Windows 操作系统都适用于

二进制守护进程

  • 用 C 编写,用于提高性能和减少内存占用

  • 轻量级、便携

为复杂环境做好准备

  • 使用 Zabbix proxy 轻松实现远程监控

1.2 结构体系

Zabbix 由几个主要的软件组件组成。他们的职责概述如下。

Server

Zabbix server 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。

数据存储

Zabbix 收集的所有配置信息以及数据都存储在数据库中。

Web 界面

为了从任何地方和任何平台轻松访问,Zabbix 提供了基于 Web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。

Proxy

Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。

Agent

Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。

1.3 数据流

此外,回顾一下 Zabbix 中的整体数据流也是很重要的。为了创建一个收集数据的监控项,必须首先创建一个主机。另一方面 Zabbix 必须首先拥有一个监控项来创建触发器。必须有触发器才能创建动作。因此,如果你想收到 服务器 X 上的 CPU 负载过高的警报,必须首先为 服务器 X 创建一个主机条目,然后创建一个用于监控其 CPU 的监控项,然后是一个触发器,如果 CPU 过高则触发动作,然后通过通过动作操作向您发送电子邮件。这可能看起来像很多步骤,其实使用模板并不需要。而且,由于这种设计,可以创建非常灵活的设置。

二、极速实践

获取 Zabbix 安装介质有四种方法:

2.1 节点规划

角色主机名网卡配置
Zabbix服务端zabbix-server10.45.25.302C2G
Zabbix客户端web0110.45.25.311C1G
Zabbix客户端db0110.45.25.321C1G

关闭防火墙和SELinux

# 以服务端为例
[root@zabbix-server ~]# systemctl stop firewalld.service && systemctl disable firewalld.service 
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@zabbix-server ~]# setenforce 0
[root@zabbix-server ~]# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config 

2.2 部署Nginx+PHP环境

[root@zabbix-server ~]# yum install -y nginx php-fpm
​
# nginx配置
[root@zabbix-server ~]# mv /etc/nginx/default.d/php.conf /etc/nginx/default.d/php.conf.bak
[root@zabbix-server ~]# vim /etc/nginx/conf.d/zyb.zabbix.com.conf
[root@zabbix-server ~]# cat /etc/nginx/conf.d/zyb.zabbix.com.conf
server {
  listen 80;
  server_name zyb.zabbix.com;
  root /app/zbx;
  location / {
    index  index.php;
  }
  location ~ \.(php|phar)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;
​
    fastcgi_intercept_errors on;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
  }
}
[root@zabbix-server ~]# 
​
#php配置
[root@zabbix-server ~]# sed -ri '/^(user|group)/s#apache#nginx#g' /etc/php-fpm.d/www.conf 
[root@zabbix-server ~]# egrep '^(user|group)' /etc/php-fpm.d/www.conf
user = nginx
group = nginx
[root@zabbix-server ~]# 
​
# 创建测试文件
[root@zabbix-server ~]# mkdir -p /app/zbx
[root@zabbix-server ~]# vim /app/zbx/info.php
[root@zabbix-server ~]# cat /app/zbx/info.php
<?php
phpinfo()
?>
[root@zabbix-server ~]# 
# 配置hosts解析(注:如果要在windows中访问,则需要在windows中配置hosts解析)
[root@zabbix-server ~]# tail -1 /etc/hosts
10.45.25.30 zyb.zabbix.com
​
# 启动服务并测试
[root@zabbix-server ~]# systemctl enable nginx php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
[root@zabbix-server ~]# systemctl start nginx php-fpm
[root@zabbix-server ~]# 

访问zyb.zabbix.com/info.php

2.3 部署数据库

mysql安装在db01上

# 安装并启动数据库
[root@zabbix-server ~]# yum install -y mariadb-server
[root@zabbix-server ~]# rpm -qa | grep mariadb
mariadb-connector-c-config-3.2.6-1.el9.noarch
mariadb-common-10.5.22-1.el9.x86_64
mariadb-connector-c-3.2.6-1.el9.x86_64
mariadb-errmsg-10.5.22-1.el9.x86_64
mariadb-backup-10.5.22-1.el9.x86_64
mariadb-gssapi-server-10.5.22-1.el9.x86_64
mariadb-server-utils-10.5.22-1.el9.x86_64
mariadb-server-10.5.22-1.el9.x86_64
mariadb-10.5.22-1.el9.x86_64
[root@zabbix-server ~]# systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
[root@zabbix-server ~]# 
​
# 初始化数据库
[root@zabbix-server ~]# mysql_secure_installation
n n y y y y
[root@zabbix-server ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.22-MariaDB MariaDB Server
​
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
MariaDB [(none)]> 
​
# 创建和配置数据库和用户
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.000 sec)
​
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'%' identified by'zabbix';
Query OK, 0 rows affected (0.001 sec)
​
MariaDB [(none)]> select user,host from mysql.user;
+-------------+------------+
| User        | Host       |
+-------------+------------+
| zabbix      | %          |
| mariadb.sys | localhost  |
| mysql       | localhost  |
| root        | localhost  |
+-------------+------------+
4 rows in set (0.001 sec)
MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> 
#数据库部署完成

2.4 安装zabbix-server

# 下载安装源仓库
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
dnf clean all
​
# 安装Zabbix server,Web前端及agent
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y
​
# 导入初始架构和数据,系统将提示您输入新创建的密码。
[root@zabbix-server ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password: 
[root@zabbix-server ~]# 
MariaDB [(none)]> show tables from zabbix;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
·································
| widget                     |
| widget_field               |
+----------------------------+
203 rows in set (0.001 sec)
MariaDB [(none)]> 
# 可以看到数据导入成功,接下来禁用log bin trust function creators选项
MariaDB [(none)]> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected (0.000 sec)
​
MariaDB [(none)]> 
​
# 为Zabbix server配置数据库
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
DBPassword=zabbix
[root@zabbix-server ~]# 
​
# 为Zabbix前端配置PHP
[root@zabbix-server ~]# vim  /etc/nginx/conf.d/zabbix.conf
    listen          8080;
    server_name     zyb.zabbix.com;
[root@zabbix-server ~]# 
​
# 启动Zabbix server和agent进程
[root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent nginx php-fpm
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent nginx php-fpm

2.5 zabbix web配置

浏览器访问:http://zyb.zabbix.com:8080

2.6 安装客户端

在web01和db01节点安装

# 下载安装源仓库并清理yum缓存
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/centos/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
dnf clean all
​
# 安装Zabbix agent2
dnf install zabbix-agent2 zabbix-agent2-plugin-* -y
​
# 修改配置文件
[root@web01 ~]# cat /etc/zabbix/zabbix_agent2.conf | egrep '^Server|^Host'
Server=10.45.25.30
ServerActive=10.45.25.30
Hostname=web01
[root@web01 ~]# 
[root@db01 ~]# cat /etc/zabbix/zabbix_agent2.conf | egrep '^Server|^Host'
Server=10.45.25.30
ServerActive=10.45.25.30
Hostname=db01
[root@db01 ~]# 
​
# 启动并开机自启Zabbix agent2
systemctl enable --now zabbix-agent2

添加主机

标签:01,入门,Zabbix,server,etc,zabbix,php,root
From: https://blog.csdn.net/weixin_52377412/article/details/142494499

相关文章

  • DC00015基于java web校园网上购物系统
    1、项目功能演示DC00015【含配套文档】基于javaweb校园网上购物系统2、项目功能描述 基于javaweb校园网上购物系统分为用户和系统管理员两个角色。2.1用户功能1、系统登录、用户注册、忘记密码2、商品浏览、商品详情3、购物车、付款4、我的订单5、修改密码、......
  • KBPC1010-LK-ASEMI新能源专用KBPC1010-LK
    编辑:llKBPC1010-LK-ASEMI新能源专用KBPC1010-LK型号:KBPC1010-LK品牌:ASEMI封装:KBPC-4批号:2024+分类:整流桥特性:整流方桥、整流桥平均正向整流电流(Id):10A最大反向击穿电压(VRM):1000V恢复时间:>2000ns结温:-55℃~150℃正向峰值电压:1.10V引脚数量:4芯片个数:4芯片尺寸:MILKBPC1010-LK特点芯片与底......
  • terraform入门操作指南
    terraform入门操作指南Terraform是什么?Terraform是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是"Write,Plan,andcreateInfrastructureasCode",基础架构即代码。Terraform几乎可以支持所有市面上能见到的云服务。具体的......
  • CCO 2019 Day2
    LuoguP6680题目描述给定一张\(N\)个点,\(M\)条边的无向简单图。如果存在\(1\lea<b<c\leN\)满足存在边\((a,b),(a,c)\),并且不存在\((b,c)\),则加入边\((b,c)\)。求最后的边数。思路首先我们可以把边看做从小的连向大的。通过观察可以发现只有在这种情况下才会建边:......
  • KBPC1010-LK-ASEMI新能源专用KBPC1010-LK
    编辑:llKBPC1010-LK-ASEMI新能源专用KBPC1010-LK型号:KBPC1010-LK品牌:ASEMI封装:KBPC-4批号:2024+分类:整流桥特性:整流方桥、整流桥平均正向整流电流(Id):10A最大反向击穿电压(VRM):1000V恢复时间:>2000ns结温:-55℃~150℃正向峰值电压:1.10V引脚数量:4芯片个数:4芯片尺寸:MILKBPC10......
  • 算法题之图论 [NOIP2001 提高组] Car的旅行路线详细题解
    P1027[NOIP2001提高组]Car的旅行路线这道题的思路呢,就是建个图,然后跑一遍Floyd,比较最小值就可以解决了。but!它每个城市只给三个点(共四个),所以还得计算出第四个点坐标。这里根据矩形的中点公式来表示未知点的坐标:(这个思路源于大佬 _jimmywang_       ......
  • 鸿蒙入门到实战
    简介本套课程是up主精心根据鸿蒙api12最新版本设计,总体课程分为以下几个方向鸿蒙应用开发-前置课鸿蒙应用开发-基础课鸿蒙应用开发-进阶课鸿蒙应用开发-高级课鸿蒙应用开发-项目实战计划鸿蒙应用开发-前置课鸿蒙应用开发-基础课鸿蒙应用开发-进阶课鸿蒙应用......
  • MySQl 01文中的图片放在我的资源里了
    MySQL数据库概念长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据仓库特点免费、开源数据库小巧、功能齐全使用便捷可运行于Windows或Linux操作系统可适用于中小型甚至大型网站应用数据库总览关系型数据库(SQL)MySQL、Oracle、SQLServer、SQLite、......
  • 黑客和程序员有什么区别?零基础入门到精通,收藏这一篇就够了
    黑客和程序员到底有什么区别?首先你要知道的是,程序员不一定能成为黑客,但黑客一定是程序员。在计算机领域,程序员一般被称为数据开发工程师,驱动开发工程师等等,而黑客被称为网络安全工程师。所以要想成为黑客,首先必须是一名合格的程序员。不仅要掌握并精通一些编程语言,还要......
  • 小白的大模型入门课-第一讲
    这个是大模型系列课程的第一节。接下来我带着大家一起拥抱新技术,分享的进展不会很快,大概一周一次,有空可以直播讲解或实操。为了照顾那些工程出身,甚至非技术同学,我这个系列会从小白开始,从基础概念入门逐步展开。废话不多说,赶快上车。我们先理解一下什么是大模型,先从Chat......