Zabbix监控

文章目录

  • Zabbix基本概念
    • zabbix介绍
    • zabbix特性
    • zabbix结构
  • 安装和配置Zabbix
    • 节点规划
    • 案例实施
      • 基础环境配置
      • Zabbix安装
      • 安装和配置数据库
      • 启动zabbix服务
  • Zabbix界面
    • (1)登录界面
    • (2)中文界面
    • (3)修改登录密码
    • (4)添加被监控机器
    • (5)图形乱码解决
    • (6)发送告警到邮箱
      • 创建动作
      • 添加操作
      • 邮件发件人
      • 用户收件人
      • 测试

Zabbix基本概念

zabbix官方文档

zabbix介绍

下图来自百度百科

Zabbix监控_第1张图片

用通俗易懂的话来说,Zabbix是一个监控系统,它可以帮助我们实时检查设备的状态,比如服务器、网络设备等。当设备出现问题时,它会及时通知我们,让我们可以采取措施来解决。同时,它还可以把收集到的数据转化成图表和报告,让我们更直观地了解设备的运行情况

zabbix特性

数据采集:Zabbix Agent方式会定期收集设备的各种指标数据,比如CPU使用率、内存占用、网络流量等。这些数据会被Zabbix Server主动获取。

触发检测告警:Zabbix会根据我们事先设定的阈值和触发条件,对采集到的数据进行检测。如果某个指标超过了阈值或满足了触发条件,Zabbix会触发一个告警。Zabbix会根据事先设置的通知方式,比如邮件、短信等,通知相关的人员或团队。这样我们可以及时知道设备出现了问题。

数据存储:Zabbix将采集到的数据存储在数据库中

数据展示:Zabbix提供了丰富的可视化功能,可以将采集到的数据转化成各种图表和报表。这样我们可以直观地了解设备的运行状态和趋势。

zabbix结构

Zabbix监控_第2张图片

Zabbix-server:收集监控数据,计算是否满足触发条件,向用户发送通知

Zabbix-database:所有配置信息和Zabbix收集到的数据都被存储在数据库中

Zabbix-Web:为了在任何地方和任何平台都能轻松地访问Zabbix,Zabbix提供了基于Web的界面。该界面是

Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上。

Zabbix-proxy:Zabbix Proxy可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix 软件可选择部署的一部分。当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。

Zabbix-agent:Zabbix Agents监控代理部署在监控目标上,主动监控本地资源和应用(硬件驱动,内存等)

安装和配置Zabbix

节点规划

IP 主机名 节点
192.168.200.10 zabbix-server Server节点
192.168.200.20 zabbix-agent Agent节点

案例实施

基础环境配置

(1)主机名配置

一台server节点一台agent节点

[root@localhost ~]# hostnamectl set-hostname zabbix-server
[root@localhost ~]# bash
[root@zabbix-server ~]# 

[root@localhost ~]# hostnamectl set-hostname zabbix-agent
[root@localhost ~]# bash
[root@zabbix-agent ~]# 

(2)关闭防火墙和SElinux并重启生效

将server节点和agent节点的防火墙和Selinux关闭并重新启动

systemctl stop firewalld && systemctl disable firewalld &&  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config &&  reboot

Zabbix监控_第3张图片

(3)配置YUM源

配置server和agent的YUM源

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

这个时候你查看你的yum.repos.d就会发现立马多个了一个zabbx.repo仓库

image-20230723102902961

可以查看一下里面的内容,可以看到连接的是官方镜像仓库,有可能因为我们网络不给力可能会下载不了,所以我们更改为阿里云的镜像仓库

Zabbix监控_第4张图片

更换zabbix.repo镜像仓库地址

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
# 这样可以将Zabbix软件源从官方的地址替换为阿里云镜像地址,以提高软件包的下载速度

可以看到已经由官方镜像仓库改为了阿里云镜像仓库

Zabbix监控_第5张图片

启用zabbix-web仓库

Zabbix监控_第6张图片

安装Software Collections 和 epel-release仓库

yum install -y centos-release-scl  epel-release

至此,2个节点的Yum源全部配置完毕

Zabbix安装

zabbix安装

[root@zabbix-server ~]# yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl

安装和配置数据库

(1)安装数据库

[root@zabbix-server ~]# yum install -y mariadb-server
[root@zabbix-server ~]# systemctl enable mariadb-server --now

(2)初始化数据库

[root@zabbix-server ~]# 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):   # 提供当前root用户的密码 没有就回车
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y     # 是否设置root密码
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!  # 设置root密码成功


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y # y表示移除匿名用户的权限
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n #  n表示允许root用户远程登录
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y # 是否移除test测试数据库
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y  # 使所有更改立即生效
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

(3)添加数据库用户,以及zabbix所需的数据库信息

# 登录数据库
[root@zabbix-server ~]# mysql -uroot -p000000

# 创建一个名为zabbix的数据库,并指定字符集为utf8
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

# 创建一个名为zabbix的用户,并设置该用户可以在本地连接,身份验证密码为000000
MariaDB [(none)]> create user zabbix@localhost identified by '000000';

# 给zabbix用户授予对zabbix数据库的全部权限
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;flush privileges;

# 退出数据库
MariaDB [(none)]> exit

(4)使用zabbiix-mysql命令,导入数据库信息

[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
# 这条命令将会将zabbix服务器所需的数据库结构和初始数据导入到名为zabbix的数据库中

# 测试 能看到信息就证明导入成功了
[root@zabbix-server ~]# mysql -uroot -p000000 -e "use zabbix;show tables;"

(5)修改zabbix server配置文件,修改数据库的密码

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
# 修改如下信息
DBPassword=000000

Zabbix监控_第7张图片

(6)修改时区

[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 修改如下内容
php_value[date.timezone] = Asia/Shanghai

启动zabbix服务

重启zabbix服务,并设置开机自启

[root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

查看端口号,验证 zabbix-server 的服务端口 10051 是否存在

[root@zabbix-server ~]# netstat -tlnp|grep 10051
tcp        0      0 0.0.0.0:10051     0.0.0.0:*     LISTEN     27246/zabbix_server 
tcp6       0      0 :::10051         :::*           LISTEN      27246/zabbix_server 

Zabbix界面

(1)登录界面

[root@zabbix-server ~]# hostname -I
192.168.200.10 

在浏览器访问 192.168.200.10/zabbix

进入 Zabbix 安装向导,单击右下角Next step按钮,进入下一步操作

Zabbix监控_第8张图片

显示 PHP 版本信息等内容,然后单击右下角Next step按钮,进入下一步操作

Zabbix监控_第9张图片

填写连接数据库的必要信息,Password 为 000000,填写完毕后单击右下角Next step按钮,进行下一步操作

Zabbix监控_第10张图片

Name 字段可以随意填写,是给监控平台起个名字。然后单击右下角Next step按钮,进行下一步操作

Zabbix监控_第11张图片

平台配置概况

Zabbix监控_第12张图片

安装 Zabbix,安装成功后,单击右下角Finish按钮,结束安装

Zabbix监控_第13张图片

单击Finish按钮后,进入登录界面,使用默认的用户名和密码 Admin/zabbix 登录

Zabbix监控_第14张图片

进入 Zabbix 主页

Zabbix监控_第15张图片

(2)中文界面

单击左下角User settings按钮,进入设置界面

Zabbix监控_第16张图片

将Language一栏修改为Chinexe(zh CN),然后单击下方Update按钮

Zabbix监控_第17张图片

中文界面的 Zabbix 监控界面已配置完成

Zabbix监控_第18张图片

(3)修改登录密码

Zabbix监控_第19张图片

Zabbix监控_第20张图片

(4)添加被监控机器

回到 zabbix-agent 节点,安装 zabbix-agent 服务

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

修改/etc/zabbix/zabbix_agentd.conf配置文件,配置 zabbix-agent,修改如下

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
# 修改如下信息
Server=192.168.200.10
ServerActive=192.168.200.10
Hostname=zabbix-agent

启动 zabbix-agent 服务,并查看 10050 端口是否存在

[root@zabbix-agent ~]# systemctl enable zabbix-agent --now


[root@zabbix-agent ~]# netstat -tlnp |grep 10050
tcp        0      0 0.0.0.0:10050      0.0.0.0:*   LISTEN      51248/zabbix_agentd 
tcp6       0      0 :::10050          :::*        LISTEN      51248/zabbix_agentd 

验证zabbix-agent2的连通性

[root@zabbix-server ~]# yum install -y zabbix-get
[root@zabbix-server ~]# zabbix_get -s '192.168.200.20' -p 10050 -k 'agent.ping'
1
[root@zabbix-server ~]# zabbix_get -s '192.168.200.20' -p 10050 -k 'system.hostname'
zabbix-agent

回到 Web 界面,选择菜单栏配置→主机→创建主机命令,会跳转到如图

Zabbix监控_第21张图片

填写信息,将 zabbix-agent 节点添加到被监控机器,然后单击下方“添加”按钮

Zabbix监控_第22张图片

添加完毕后如图

Zabbix监控_第23张图片

添加监控项,单击Zabbix agent名称,然后单击模板标签,进行添加模板操作界面,如图

Zabbix监控_第24张图片

单击图中的选择按钮,进行监控模板添加,在跳转界面勾选用户想要监控的复选框,然后单击下方选择按钮

Zabbix监控_第25张图片

选择完模板后,如图,单击添加按钮,显示链接的模板,然后单击更新按钮

Zabbix监控_第26张图片

单击更新按钮后,zabbix-agent 节点被添加到监控中

Zabbix监控_第27张图片

(5)图形乱码解决

Zabbix监控_第28张图片

Zabbix监控_第29张图片

解决方法

1. 安装字体
[root@zabbix-server ~]# yum install -y wqy-microhei-fonts
[root@zabbix-server ~]# cp -rf /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf 
cp:是否覆盖"/usr/share/fonts/dejavu/DejaVuSans.ttf"? Y

Zabbix监控_第30张图片

(6)发送告警到邮箱

创建动作

配置→动作→创建动作

Zabbix监控_第31张图片

名称为send_Email,条件添加触发器,所有触发器内容

Zabbix监控_第32张图片

添加操作

Zabbix监控_第33张图片

Zabbix监控_第34张图片

Zabbix监控_第35张图片

Zabbix监控_第36张图片

邮件发件人

准备一个邮箱这里使用的是QQ邮箱

点击设置

Zabbix监控_第37张图片

点击账户

Zabbix监控_第38张图片

往下滑找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

开启服务

Zabbix监控_第39张图片

可能会弹出一个绑定手机号的先绑定手机号

Zabbix监控_第40张图片

绑定成功后会出现授权码

Zabbix监控_第41张图片

打开zabbix Web页面

点击管理→报警媒介类型→点击Email

Zabbix监控_第42张图片

测试

Zabbix监控_第43张图片

Zabbix监控_第44张图片

发送成功

Zabbix监控_第45张图片

Zabbix监控_第46张图片

用户收件人

管理→用户→点击Admin→选择报警媒介

Zabbix监控_第47张图片

Zabbix监控_第48张图片

点击更新

Zabbix监控_第49张图片

测试

查看触发器

Zabbix监控_第50张图片

[root@zabbix-agent boot]# df -h /boot
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda1      1014M  151M  864M   15% /boot

我们给/boot目录增加内存压力测试是否发送邮件

[root@zabbix-agent boot]# dd if=/dev/zero of=csq bs=1M count=800
记录了800+0 的读入
记录了800+0 的写出
838860800字节(839 MB)已复制,0.495063 秒,1.7 GB/秒

Zabbix监控_第51张图片
将创建的文件删除查看问题是否解决
image-20230723201048383

你可能感兴趣的:(zabbix,zabbix)