centos7-zabbix安装与使用(较全的配置)

news2024/11/24 21:05:10

文章目录

  • zabbix介绍
    • 一、zabbix是什么
      • 1.1 zabbix专用词汇
      • 1.2 zabbix程序组件
    • 二、zabbix的优缺点
    • 三、为什么使用zabbix
      • 3.1 zabbix可以满足的监控系统需求
    • 四、zabbix监控的生命周期
  • zabbix安装
    • 一、zabbix环境搭建
      • 1.1 安装wget
      • 1.2 关闭防火墙
      • 1.3 关闭SELinux
    • 二、安装zabbix
      • 2.1 获取zabbix下载源
      • 2.2 更换yum源
      • 2.3 清空缓存
      • 2.4 安装zabbix数据库和服务端
      • 2.5 安装CentOS的Software Collection(SCL)仓库
      • 2.6 更改zabbix-front前端源
      • 2.7 安装zabbix前端环境
      • 2.8 安装mariadb数据库
      • 2.9 初始化数据库
      • 2.10添加数据库,并添加zabbix数据库信息
      • 2.11 使用zabbix-mysql命令,导入数据库信息
      • 2.12 修改zabbix server配置文件,修改数据库密码
      • 2.13 修改zabbix的php配置文件
      • 2.14 启动zabbix相关服务
  • zabbix-agent安装部署
    • 一、agent主机初始环境
    • 二、安装ntp时间服务器
    • 三、部署zabbix-agent2
      • 3.1 配置yum源
      • 3.2安装zabbix-agent2
      • 3.3启动zabbix-agent2
      • 3.4修改agent配置文件
      • 3.5 重启zabbix-agent2
    • 四、验证agent2的联通性
      • 4.1 在服务端主动获取数据
  • zabbixWB界面配置
    • 一、web界面初始配置
    • 二、web使用界面配置
      • 2.1更改界面语言
      • 2.2 解决主机中图形乱码问题
      • 2.3 添加agent主机
      • 2.4 创建自定义key
      • 2.5 邮件报警
      • 2.6 自动添加主机监控
        • 2.6.1 自动发现
        • 2.6.2 自动注册
        • 2.6.3 配置hosts解析
        • 2.6.4 自动发现配置
        • 2.6.5 自动注册配置
      • 2.7 部署分布式zabbix-proxy
        • 2.7.1代理端配置
        • 2.7.2 web页面添加代理
        • 2.7.3 agent链接proxy


zabbix介绍

一、zabbix是什么

Zabbix是一个企业级的开源分布式监控解决方案,由Alexei Vladishev创建,并由Zabbix是一个企业级的开源分布式监控解决方案,由Alexei Vladishev创建,并由Zabbix SIA主导开发和支持。它能够监控众多网络参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康状况和完整性。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报,从而使得系统管理员可以快速定位和解决存在的问题。

1.1 zabbix专用词汇

词汇描述
zabbix server服务端、收集数据,写入数据
zabbix agent部署在被监控的机器上,是一个进程,和zabbix server进行交互,以及负责执行命令
host服务器的概念,指zabbix监控的实体,服务器,交换机等
applications应用
events事件
media发送通知的通道
remote command远程命令
template模版
item对于某一个指标的监控,称之为items,如某台服务器的内存使用情况,就是一个item监控项
trigger触发器,定义报警的逻辑,有正常,异常,未知三个状态
action当trigger符合设定值后,zabbix指定的动作,如发送邮件给运维人员,告诉报警

1.2 zabbix程序组件

zabbix_server服务端守护进程
zabbix_agentdagent守护进程
zabbix_proxy代理服务器
zabbix_database存储系统,mysql,pgsql
zabbix_webgui图形化界面
zabbix_get命令行工具,测试向agent发起数据采集请求
zabbix_sender命令行工具,测试向server发送数据
zabbix_java_gatewayjava网关

二、zabbix的优缺点

Zabbix是一个企业级的开源分布式监控解决方案,它提供自动发现服务器和网络设备的功能,同时,它还允许运维人员根据需求自定义监控项并设置报警规则。当被监控对象的状态异常时,Zabbix会通过邮件、短信等方式及时通知相关人员。

然而,Zabbix也存在一些缺点。首先,由于监控系统的特殊性质,即持续的周期性数据收集和处理,因此在高峰期,性能瓶颈问题尤为突出。具体来说,随着监控的机器数量增加,数据量也会随之增大,这会使数据库的写入成为一项瓶颈。目前,官方给出的单机上限是5000台,超过这个数量就需要引入proxy来分担压力,从而会增加成本。其次,Zabbix采集数据有pull方式,也就是server主动模式。当目标机器数量增大之后,pull任务会出现积压,进而导致数据采集的延迟。此外,对于项目二次开发,需要分析MySQL表结构,由于其表结构较为复杂,因此对开发能力有一定的要求。最后,Zabbix内置的housekeeping在执行过程中会对数据库增加压力,这就需要进行数据库优化以保持其良好运行。

三、为什么使用zabbix

Zabbix是一款优秀的开源网络监控工具,它具备诸多优点。首先,Zabbix具有强大的数据采集能力,支持可用性和性能检测,自动发现服务器和网络设备,同时支持agent、snmp、JMX、telnet等多种采集方式。其次,Zabbix同样具备良好的高可用性,其server对设备性能要求低,支持proxy分布式监控和分布式集中管理。

除此之外,Zabbix也因为其灵活性而备受好评。它可以通过自定义监控项、触发器和报警方式来适应各种复杂的监控需求。与此同时,Zabbix的扩展性也非常强,它支持与其他监控工具和第三方应用程序的集成,并且可以通过API进行自动化操作。最后,Zabbix能够处理大量的监控数据,并提供高度可扩展的架构。

然而,任何事物都存在两面性,Zabbix也不例外。尽管Zabbix是一款优秀的开源网络监控工具,但它同样存在一些缺点。例如,由于Zabbix的灵活性和可扩展性,配置过程可能比较复杂,需要耗费一定的时间和精力。再比如,zabbix的系统级别报警设置较多,如果不筛选报警邮件会比较多;自定义项目报警需要自行设置过程繁琐。因此,用户在选择使用Zabbix时,也需要根据自身的需求和技术水平来权衡。

3.1 zabbix可以满足的监控系统需求

  • 支持自定义监控脚本,提供需要输出的值即可
  • zabbix存储的数据库表结构稍有复杂但是逻辑清晰
  • zabbix存在模版的概念,可以方便的将一组监控项进行部署
  • zabbix每一个item也就是监控项,都可以看到历史记录,且web界面友好
  • zabbix有强大的trigger(触发器)定义规则,可以定义复杂的报警逻辑
  • zabbix提供了ack报警确认机制
  • zabbix支持邮件、短信、微信等告警
  • zabbix在触发告警后,可以远程执行系统命令
  • zabbix有原生的php绘图模块

四、zabbix监控的生命周期

Zabbix的监控生命周期开始于服务器的上架,并会持续到服务被下架或替换。在监控过程中,Zabbix将定期收集各项指标数据,包括硬件的信息如服务器温度、风扇转速、检查线路、服务器接口状态等。同时,Zabbix也支持灵活的时间间隔设置,可以定义多达七个灵活的时间间隔。

然而,值得注意的是,任何Zabbix版本都有其生命周期,一旦生命周期到期,Zabbix将会停止进一步的维护更新,包括blocker和严重bug修复。因此,对于使用Zabbix的企业或者个人来说,定期升级Zabbix监控解决方案到最新版本是非常必要的,以保证监控系统的稳定性和安全性。

zabbix安装

一、zabbix环境搭建

1.1 安装wget

[root@bogon ~]# yum install -y wget

1.2 关闭防火墙

[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl disable firewalld
# 列出当前系统防火墙规则
[root@bogon ~]# iptables -L

1.3 关闭SELinux

# 查看selinux状态
[root@bogon ~]# getenforce
# 关闭selinux
[root@bogon ~]# vi /etc/selinux/config
[root@bogon ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

二、安装zabbix

2.1 获取zabbix下载源

[root@bogon ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@bogon ~]# ls /etc/yum.repos.d/
CentOS-Base.repo         CentOS-fasttrack.repo  CentOS-x86_64-kernel.repo
CentOS-Base.repo.backup  CentOS-Media.repo      docker-ce.repo
CentOS-CR.repo           CentOS-Sources.repo    zabbix.repo
CentOS-Debuginfo.repo    CentOS-Vault.repo

2.2 更换yum源

sed命令是不会显示结果的

[root@bogon ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

2.3 清空缓存

[root@bogon ~]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base docker-ce-stable extras updates zabbix
               : zabbix-non-supported
Cleaning up list of fastest mirrors

2.4 安装zabbix数据库和服务端

[root@bogon ~]# yum install -y zabbix-server-mysql zabbix-agent -y

2.5 安装CentOS的Software Collection(SCL)仓库

SCL是一个用于在CentOS上安装和管理多个版本的软件包的工具集,它允许您在同一台服务器上运行不同版本的软件,而无需为每个版本创建单独的系统。

[root@bogon ~]# yum install -y centos-release-scl

2.6 更改zabbix-front前端源

[root@bogon ~]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# vi zabbix.repo
[root@bogon yum.repos.d]# cat zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

2.7 安装zabbix前端环境

# 这条命令不会改变全局环境,只是单独修改一个软件的环境,以rh开头的文件存在opt/rh下
[root@bogon /]# yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
[root@bogon /]# ls /opt/rh
rh-php72

2.8 安装mariadb数据库

[root@bogon /]# yum install -y mariadb-server
# 设置开机自启
[root@bogon /]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@bogon /]# systemctl enable --now mariadb
# (以上两条命令都是开机自启,随意使用一条就行)

2.9 初始化数据库

[root@bogon /]# systemctl status mariadb
[root@bogon /]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
#(本次测试数据库初始化选择:空格、y、y、n、y、y)
# 进入数据库
[root@bogon /]# mysql -uroot -p

2.10添加数据库,并添加zabbix数据库信息

# 查看数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
# 创建zabbix数据库,并设置编码
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 创建zabbix用户设置密码
MariaDB [(none)]> create user zabbix@localhost identified by 'yuan3128..';
Query OK, 0 rows affected (0.00 sec)
# 给zabbix数据库授权所有权限
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)

2.11 使用zabbix-mysql命令,导入数据库信息

[root@bogon /]# ls /usr/share/doc/zabbix-server-mysql*/create.sql.gz
/usr/share/doc/zabbix-server-mysql-5.0.39/create.sql.gz
[root@bogon /]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password:
[root@bogon /]# mysql -uzabbix -p
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| zabbix             |
+--------------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix]>
# 查看表
MariaDB [zabbix]> show tables;

2.12 修改zabbix server配置文件,修改数据库密码

[root@bogon /]# vi /etc/zabbix/zabbix_server.conf
#(修改# DBPassword=yuan3128..)
DBUser=zabbix

### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=yuan3128..

2.13 修改zabbix的php配置文件

[root@bogon /]# vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[zabbix]
user = apache
group = apache

listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 200

php_value[session.save_handler] = files
php_value[session.save_path]    = /var/opt/rh/rh-php72/lib/php/session/

php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai
# 查看更改的配置
[root@bogon /]# grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

2.14 启动zabbix相关服务

[root@bogon /]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@bogon /]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php72-php-fpm.service to /usr/lib/systemd/system/rh-php72-php-fpm.service.

zabbix-agent安装部署

需要新建两台全新的机器,以下命令两台机器都需要执行

一、agent主机初始环境

# 关闭防火墙
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl disable firewalld
# 关闭selinux
[root@bogon ~]# vi /etc/selinux/config
[root@bogon ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

二、安装ntp时间服务器

为了确保时间正确,需要安装ntp时间服务器

[root@bogon ~]# yum install -y ntpdate
[root@bogon ~]# ntpdate -u ntp.aliyun.com
30 Nov 15:13:08 ntpdate[3765]: adjust time server 203.107.6.88 offset 0.005838 sec
[root@bogon ~]# date
20231130日 星期四 15:14:35 CST

配置时区统一配置

[root@bogon ~]# mv /etc/localtime{,.bak}
[root@bogon ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@bogon ~]# date
20231130日 星期四 15:17:22 CST

三、部署zabbix-agent2

3.1 配置yum源

[root@bogon ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
获取https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.9tiBS7: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-5.0-1.el7         ################################# [100%]
[root@bogon ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@bogon ~]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base extras updates zabbix zabbix-non-supported
Cleaning up list of fastest mirrors

3.2安装zabbix-agent2

[root@bogon ~]# yum install -y zabbix-agent2

3.3启动zabbix-agent2

[root@bogon ~]# systemctl enable --now zabbix-agent2

3.4修改agent配置文件

# 查看配置主要的文件
[root@bogon ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
# 查看进程号
[root@bogon ~]# cat /var/run/zabbix/zabbix_agent2.pid
29379
root@bogon ~]# ps -ef|grep zabbix
zabbix    29379      1  0 15:28 ?        00:00:00 /usr/sbin/zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf
root      31598   8684  0 15:34 pts/0    00:00:00 grep --color=auto zabbix
# 修改主机名
[root@bogon ~]# hostnamectl set-hostname zbx-agent01
# 修改配置后
[root@zbx-agent01 ~]# vi /etc/zabbix/zabbix_agent2.conf
[root@zbx-agent01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.1.106
ServerActive=192.168.1.106
Hostname=zbx-agent01
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

3.5 重启zabbix-agent2

[root@zbx-agent01 ~]# systemctl restart zabbix-agent2

四、验证agent2的联通性

4.1 在服务端主动获取数据

# 服务端安装
[root@bogon ~]# yum install -y zabbix-get
# 命令检测是否链接上客户端
[root@bogon ~]# zabbix_get -s '192.168.1.107' -p 10050 -k 'agent.ping'
1
[root@bogon ~]# zabbix_get -s '192.168.1.107' -p 10050 -k 'agent.hostname'
zbx-agent01

zabbixWB界面配置

一、web界面初始配置

登录地址:192.168.1.106/zabbix
在这里插入图片描述
点击next step
在这里插入图片描述
这里没有报错,直接点击下一步
在这里插入图片描述
这里只输入密码就行,其他的不用修改,因为是在本地环境,所以不用修改
点击下一步
在这里插入图片描述
这里不作任何配置
点击下一步
在这里插入图片描述
点击下一步
在这里插入图片描述
完成!!!
在这里插入图片描述
登录用户和密码:Admin;zabbix
在这里插入图片描述

二、web使用界面配置

2.1更改界面语言

在这里插入图片描述
点击User settings进入用户文件设置
在这里插入图片描述
在这里插入图片描述
选择Language,再选择Chinese(zh_CN)将web界面改为中文语言
Theme这个选项可以选择自己喜欢的界面风格
在这里插入图片描述
上图就是更改成中文后界面

2.2 解决主机中图形乱码问题

右侧选择主机
在这里插入图片描述
然后点击图形
在这里插入图片描述
上图中可以看到有一些乱码
在这里插入图片描述
解决办法

# 安装字体
[root@bogon ~]# yum -y install wqy-microhei-fonts
[root@bogon ~]# \cp^C
[root@bogon ~]# alias
# 复制字体
[root@bogon ~]# \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

随后在返回web界面,可以看到已经没有乱码了(有些可能需要你刷新界面)
在这里插入图片描述

2.3 添加agent主机

点击配置,选择主机
在这里插入图片描述
可以看到右上角有一个创建主机,选择点击
在这里插入图片描述
下图就是创建主机的信息
在这里插入图片描述
可以看到,这里已经添加上了这一台主机
在这里插入图片描述
然后点击这台主机名,进行模版添加
在这里插入图片描述
在这里插入图片描述
上图可以看到ZBX没有亮,刷新以下页面
在这里插入图片描述

2.4 创建自定义key

这里创建的key是只要有一台主机登录人数超过两个人就会发出报警信息
命令行配置

# 查看登录用户和人数
[root@zbx-agent01 ~]# who
root     tty1         2023-12-01 09:42
root     pts/0        2023-12-01 09:56 (192.168.1.104)
[root@zbx-agent01 ~]# who | wc -l
2
# 手动创建zabbix配置文件,用于自定义key
[root@zbx-agent01 ~]# cd /etc/zabbix/zabbix_agent2.d/
[root@zbx-agent01 zabbix_agent2.d]# vi userparameter_login.conf
[root@zbx-agent01 zabbix_agent2.d]# cat userparameter_login.conf
UserParameter=login.user,who | wc -l
[root@zbx-agent01 zabbix_agent2.d]# systemctl restart zabbix-agent2
[root@zbx-agent01 zabbix_agent2.d]# systemctl status zabbix-agent2
[root@bogon zabbix]# zabbix_get -s '192.168.1.107' -p 10050 -k 'login.user'
2

web界面配置
点击配置,选择模版
在这里插入图片描述
选择右上角的创建模版选项
在这里插入图片描述
找到刚刚创建的模版,然后点击名字
在这里插入图片描述
进入之后,选择应用集
在这里插入图片描述
点击右上角的创建应用集
在这里插入图片描述
点击添加后会回到原来的界面,选择监控项,开始创建监控项
在这里插入图片描述
点击添加后会回到原来的界面,选择触发器,开始创建触发器
在这里插入图片描述
表达式:
在这里插入图片描述
点击添加后会回到原来的界面,选择图形,开始创建图形
在这里插入图片描述
关联
在这里插入图片描述

2.5 邮件报警

点击管理,报警媒介类型
在这里插入图片描述

创建报警类型
在这里插入图片描述
(注:这个密码需要自己在163邮箱内的授权码中设置,具体设置,可以百度)
点击用户设置,报警媒介

在这里插入图片描述
添加收件人

在这里插入图片描述
点击管理,报警媒介类型,选择消息模版
在这里插入图片描述
添加模版类型
在这里插入图片描述

2.6 自动添加主机监控

# 检查客户端agent2是否处于活动状态
[root@zbx-agent01 ~]# systemctl is-active zabbix-agent2
active
# 在服务端验证连通性
[root@bogon /]# zabbix_get -s '192.168.1.105' -p 10050 -k 'agent.ping'
1
2.6.1 自动发现
  • zabbix server主动的去发现所有的客户端,然后将客户端的信息,登记在服务端的机器上
  • 缺点是zabbix—server压力会比较大,如果定义一个网段,耗时较久,且压力大
2.6.2 自动注册
  • zabbix agent2主动上报自己的信息,发送给zabbix-server
  • 缺点是agent2可能会找不到server
2.6.3 配置hosts解析
[root@zbx-agent01 ~]# hostname
zbx-agent01
[root@zbx-agent01 ~]# vi /etc/hosts
[root@zbx-agent01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


192.168.1.109 bogon
192.168.1.105 zbx-agent01
2.6.4 自动发现配置

点击配置,自动发现
在这里插入图片描述
创建发现规则
在这里插入图片描述
点击动作,选择发现动作
在这里插入图片描述
启动动作
在这里插入图片描述
回到主机界面,等待自动发现

# 检测服务端主机添加日志
[root@bogon /]# tail -f /var/log/zabbix/zabbix_server.log
2.6.5 自动注册配置
# 修改配置
[root@zbx-agent02 ~]# vi /etc/zabbix/zabbix_agent2.conf
[root@zbx-agent02 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.1.109
ServerActive=192.168.1.109
Hostname=zbx-agent02
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
# 重启agent
[root@zbx-agent02 ~]# systemctl restart zabbix-agent2
# 服务端验证通信
[root@bogon /]# zabbix_get -s '192.168.1.110' -p 10050 -k 'agent.ping'
1

点击配置,选择动作,选择自动注册动作
在这里插入图片描述
点击创建动作
在这里插入图片描述
在这里插入图片描述

# 检测客户端或服务端日志
[root@zbx-agent02 ~]# tail -f /var/log/zabbix/zabbix_agent2.log

2.7 部署分布式zabbix-proxy

注:

  • 需要关闭防火墙
  • 如有zabbix-agent2,则需要停止运行
  • 在zabbix-web界面需要关闭自动注册和自动发现
  • 需要准备三台环境,一台服务端,一台代理端,一台客户端
2.7.1代理端配置
# 代理端安装zabbix-proxy-mysql和zabbix-get
[root@zbx-agent01 ~]# yum install -y zabbix-proxy-mysql zabbix-get
# 安装mariadb数据库
[root@zbx-agent01 ~]# yum install -y mariadb-server mariadb
# 进入数据库
[root@zbx-agent01 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-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)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 授权zabbix_proxy
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
# 刷新授权表
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 查找rpm包
[root@zbx-agent01 ~]# rpm -ql zabbix-proxy-mysql
/etc/logrotate.d/zabbix-proxy
/etc/zabbix/zabbix_proxy.conf
/usr/lib/systemd/system/zabbix-proxy.service
/usr/lib/tmpfiles.d/zabbix-proxy.conf
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-5.0.40
/usr/share/doc/zabbix-proxy-mysql-5.0.40/AUTHORS
/usr/share/doc/zabbix-proxy-mysql-5.0.40/COPYING
/usr/share/doc/zabbix-proxy-mysql-5.0.40/ChangeLog
/usr/share/doc/zabbix-proxy-mysql-5.0.40/NEWS
/usr/share/doc/zabbix-proxy-mysql-5.0.40/README
/usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz
/usr/share/man/man8/zabbix_proxy.8.gz
/var/log/zabbix
/var/run/zabbix
# 将/usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz导入数据库
[root@zbx-agent01 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy
# 进入数据库
[root@zbx-agent01 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.68-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)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix_proxy       |
+--------------------+
5 rows in set (0.00 sec)
# 选择zabbix_proxy数据库
MariaDB [(none)]> use zabbix_proxy
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix_proxy]>
# 查看数据表
MariaDB [zabbix_proxy]> show tables;
# 修改zabbix-proxy配置文件,链接数据库信息
[root@zbx-agent01 ~]# sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
[root@zbx-agent01 ~]# sed -i 's#Server=127.0.0.1#Server=192.168.1.109#' /etc/zabbix/zabbix_proxy.conf
[root@zbx-agent01 ~]# sed -i 's#Hostname=Zabbix proxy#Hostname=zbx-agent01#' /etc/zabbix/zabbix_proxy.conf
# 查看zabbix_proxy.conf配置文件
[root@zbx-agent01 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=192.168.1.109
Hostname=zbx-agent01
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBPassword=zabbix
DBName=zabbix_proxy
DBUser=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
# 启动代理服务
[root@zbx-agent01 ~]# systemctl start zabbix-proxy
2.7.2 web页面添加代理

选择管理,点击agent代理程序
在这里插入图片描述
点击创建代理
在这里插入图片描述

2.7.3 agent链接proxy

选择配置-选择主机-创建主机
在这里插入图片描述

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

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

相关文章

上传文件接口的创建_FastAPI

上传文件接口的创建 功能描述代码效果演示与注意事项 功能描述 前端用户需要上传文件至平台,就比如CSDN的上传资源部分,都是一样的功能逻辑,想要实现这个功能其实并不难。 这里以上传的JSON格式文件为例,其他格式文件的话可以自…

基本网络安全概述:保护您的数字生活

数字时代给我们的生活带来了无与伦比的连通性和便利,但也带来了新的威胁和漏洞。随着我们越来越依赖技术,网络安全概述的重要性怎么强调都不为过。在这篇文章中,我们将深入探讨网络安全的重要性、其关键组成部分、最佳实践、常见威胁以及该领…

【go语言开发】go项目打包成Docker镜像,包括Dockerfile命令介绍、goctl工具生成

本文主要介绍如何将go项目打包成镜像,首先介绍Dockerfile常用命令介绍,然后介绍使用工具goctl用于生成Dockerfile,还可以根据需求自定义指令内容,最后讲解如何将go-blog项目打包成镜像,以及如何运行等 文章目录 前言Do…

C语言结构体介绍(超详细)

文章目录 每日一言结构体是什么?为什么要使用结构体?如何使用结构体?结构体的定义结构体的声明如何访问结构体中的成员 结构体内存对齐什么是结构体内存对齐对齐规则修改默认对齐数 为什么存在结构对齐 总结结语 每日一言 Develop your imagination – you can u…

Ubuntu系统下使用apt-get安装Redis

记录一下Ubuntu20.04 64位系统下使用apt-get安装Redis 首先检查一下系统是否安装过redis whereis redismywmyw-K84HR:~$ whereis redis redis: mywmyw-K84HR:~$ 更新软件包 sudo apt-get update -y安装redis sudo apt-get install redis-server -ymywmyw-K84HR:~$ sudo apt…

【S32K3环境搭建】-0.1-安装S32 Design Studio for S32 Platform 3.5

目录(S32DS安装步骤详细) 1 安装S32 Design Studio for S32 Platform 3.5准备工作 2 下载S32 Design Studio for S32 Platform 3.5安装包 2.1 获取S32DS的License许可 3 安装S32 Design Studio for S32 Platform 3.5 4 打开S32 Design Studio for S…

DNS协议(DNS规范、DNS报文、DNS智能选路)

目录 DNS协议基本概念 DNS相关规范 DNS服务器的记录 DNS报文 DNS域名查询的两种方式 DNS工作过程 DNS智能选路 DNS协议基本概念 DNS的背景 我们知道主机通信需要依靠IP地址,但是每次通过输入对方的IP地址和对端通信不够方便,IP地址不好记忆 因此提…

备战春招——12.05算法

树、二叉树 本次主要是对树、二叉树的前中后和递归与非递归遍历以及通过这种结构完成一些操作实现。 二叉树 中序遍历 中序遍历就是中间打印出结果嘛,如下列递归实现的,中间取结果. /** 递归实现* Definition for a binary tree node.* struct TreeNode {* …

axios使用

Get请求 Post请求 出问题了: 并发请求 全局配置 多个实例如何处理 拦截器 axios在Vue中的模块封装

Pyside2 (Qt For Python)进度条功能实现

Pyside2 (Qt For Python)进度条功能实现 进度条(QProgressBar) 今天来介绍PySide2进度条(QProgressBar)的使用,如下所示: 说明 进度条也是一个常用的控件,当程序需要做一件比较耗费时间的任…

【PduR路由】PduR模块详细介绍

目录 1.PDUR模块功能介绍 2.关键概念理解 3.功能详细设计 3.1I-PDU handling 3.1.1 I-PDU Reception to upper module(s) 3.1.1.1 Communication Interface 3.1.1.2 Transport Protocol 3.1.2 I-PDU Transmission from upper module(s) 3.1.2.1 Multicast 3.1.2.2 Co…

流媒体音视频/安防视频云平台/可视化监控平台EasyCVR无法启动且打印panic报错,是什么原因?

国标GB视频监控管理平台/视频集中存储/云存储EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园…

软件设计模式之组合模式

组合模式:将对象组合成树形结构。 案例:公司管理。一个公司可以分总公司和分公司,无论是总公司还是分公司都有自己的部门,如人力资源管理部门、财务部门。分公司可以建立自己在不同地域的办事处。请使用组合模式打印出某个公司的…

Nodejs+vue+ElementUi自动排课系统

使用自动排课系统分为管理员和学生、教师三个角色的权限子模块。 管理员所能使用的功能主要有:首页、个人中心、学生管理、教师管理、班级信息管理、专业信息管理、教室信息管理、课程信息管理、排课信息管理、系统管理等。 学生可以实现首页、个人中心、排课信息管…

Linux系统调试课:PCIe调试手段

文章目录 一、lspci 命令二、pciutils 工具沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文我们要介绍pcie调试手段。 一、lspci 命令 通过lspci可以查看当前系统挂载了哪些pci设备。 lspci - 列出 PCI 设备 lspci 命令可以列出计算机中所有 PCI 设备的详细信息,…

Leetcode每日一题学习训练——Python3版(到达首都的最少油耗)

版本说明 当前版本号[20231205]。 版本修改说明20231205初版 目录 文章目录 版本说明目录到达首都的最少油耗理解题目代码思路参考代码 原题可以点击此 2477. 到达首都的最少油耗 前去练习。 到达首都的最少油耗 ​ 给你一棵 n 个节点的树(一个无向、连通、无环…

处理k8s中创建ingress失败

创建ingress: 如果在创建过程中出错了: 处理方法就是: kubectl get ValidatingWebhookConfiguration kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission 然后再次创建,发现可以:

阿里云环境下的配置DNS和SLB的几种实践示例

一、背景 对于大多中小型公司来说,生产环境大多是购买阿里云或者腾讯云等等,也就存在以下需求: 外网域名内网域名SLB容器化部署 特别是前两项,一定是跳不过的。容器化部署,现在非K8S莫属了。 既然是购买阿里云&…

初级数据结构(一)——顺序表

文中代码源文件已上传:数据结构源码 1、顺序表的特点 1.1、数组 现实中数据记录一般都记录在表格中,如进货单、菜单等,它们的最大特点就是有序。表述中可以用第一项、第二项、第 n 项来描述表格中某个数据或者某串数据。在 C 语言中&#…

解决ssr服务端渲染程序启动报错: ReferenceError: location is not defined

现象: 原因:chatgpt给出的解释很到位: 该错误表明代码尝试访问 location 对象,该对象通常在浏览器环境中可用。 然而,你的服务器端代码正在 Node.js 环境中运行,而在这个环境中 location 对象未定义。 问…