2-zabbix部署

zabbix.jpg

概述

系统版本为rocky9,按照zabbix指导文档 进行安装。注意使用不同版本系统进行安装时有所不同,需参考官方指导文档进行部署安装。

server端部署

添加 Zabbix 软件仓库

1
2
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
dnf clean all

执行完成后在/etc/yum.repos.d会生成一个zabbix.repo文件。在安装zabbix是除了zabbix.repo,也要准备好centos 7的相关安装源,以便安装zabbix需要的依赖包。

安装 Server/前端/agent

1
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

安装MariaDB/Mysql数据库

这一步可以选择安装MariaDB或者Mysql数据库

1
2
3
# yum install -y mariadb mariadb-server
# systemctl start mariadb
# systemctl enable mariadb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# mysql_secure_installation  #数据库配置

Enter current password for root (enter for none): # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车

Set root password? [Y/n] # 设置密码,y

New password: # 新密码
Re-enter new password: # 再次输入密码

Remove anonymous users? [Y/n] # 移除匿名用户, y

Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录

Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要

Reload privilege tables now? [Y/n] # 重新加载权限表,y。或者重启服务也许

初始化zabbix database

  • 创建初识数据库
    1
    2
    3
    4
    5
    6
    7
    mysql -uroot -p
    password
    mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
    mysql> create user zabbix@localhost identified by '123456';
    mysql> grant all privileges on zabbix.* to zabbix@localhost;
    mysql> set global log_bin_trust_function_creators = 1;
    mysql> quit;
  • 导入初始架构和数据,系统将提示您输入新创建的密码。
    1
    2
    3
    4
    5
    6
    zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

    mysql -uroot -p
    password
    mysql> set global log_bin_trust_function_creators = 0;
    mysql> quit;

配置zabbix server

配置server端,编辑/etc/zabbix/zabbix_server.conf。
Zabbix server配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#服务监听的端口,保持默认即可。
# ListenPort=10051

#当服务端有多个IP时,通过该参数指定通过哪个IP采集被监控主机的数据
# SourceIP=

#记录日志的方式,system表示将日志发往syslog;file表示使用指定的文件当做日志文件(默认方式);console表示将日志发往控制台
# LogType=file

#当LogType=file时,通过该参数指定日志文件
LogFile=/var/log/zabbix/zabbix_server.log

#设定当日志文件达到多大时进行自动滚动,设置为0时不进行滚动。
LogFileSize=0

#定义日志文件的详细程度,即日志级别
DebugLevel=3

#zabbix服务端程序PID路径
PidFile=/var/run/zabbix/zabbix_server.pid

#zabbix数据库所在IP
# DBHost=localhost

#zabbix数据库名称
DBName=zabbix

#zabbix数据库用户名
DBUser=zabbix

#zabbix数据库用户对应的密码
DBPassword=123456

#zabbix所在数据库服务监听的端口号
# DBPort=3306

在进行配置时只将zabbix数据库用户名对应的密码填写即可使用,并将zabbix server 启动,并将其设置为开机启动。

1
2
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm

zabbix web配置

安装完成后需要对zabbix web进行配置,其配置文件为/etc/httpd/conf.d/zabbix.conf

1
2
3
4
5
6
7
#将该时区修改
# php_value date.timezone Europe/Riga
||
||
\/
#将时区修改为亚洲上海,并将注释符去除
php_value date.timezone Asia/Shanghai

启动httpd服务,并将其设置为开机启动。

1
2
systemctl start httpd.service
systemctl enable httpd.service

初始化配置

使用浏览器登录 zabbix—web_IP/zabbix。

  • 前端安装向导

  • 自动检测安装环境是否满足需要,全部满足后点击下一步

  • 配置数据库连接

  • 配置zabbix server信息

  • 确定概要信息正确,点击下一步

  • 初始化配置完成
    并有提示:配置信息保存到了/etc/zabbix/web/zabbix.conf.php中,若需要修改可对该文件中参数进行修改。

登录zabbix web界面

默认管理员用户名为:Admin,密码为:zabbix

修改界面语言

点击红框中的图标,修改language选项。

  1. 若选项中无Chinese(zh_CN)选项
    修改zabbix web的配置文件/usr/share/zabbix/include/locales.inc.php中zh_CN属性行中display修改为true

  2. 若将界面修改为中文后,有文字出现乱码
    可以在windows系统C:\Windows\Fonts(win7)中,选择一个字体,将该字体的后缀名修改为小写ttf,将其放置在zabbix字体文件下中,并修改/usr/share/zabbix/include/defines.inc.php配置文件(define('ZBX_FONTPATH', realpath('XXXXXXXX'));可以看到字体文件的路径)。

    1
    2
    3
    #将两处的 graphfort 修改为 MSYH(MSYH为刚刚放置的字体文件的文件名,这里我使用的是黑体所以文件名为MSYH)
    define('ZBX_FONT_NAME', 'MSYH');
    define('ZBX_GRAPH_FONT_NAME', 'MSYH');

    修改完成后,重启刷新网页就可以正常显示文字了。

zabbix agent

上面介绍过zabbix agent部署在被监控主机。下面进行安装

安装zabbix agent

agent端的安装比较简单。

1
2
3
4
5
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
dnf clean all
dnf install -y zabbix-agent
systemctl restart zabbix-agent
systemctl enable zabbix-agent

配置agent

修改/etc/zabbix/zabbix_agentd.conf,下面主要介绍上一章中agent的主动模式与被动模式。
Zabbix agent配置文件

  • Passive checks related
    该模块为agent被动模式相关的参数

    • Server
      允许拉取agent端数据的IP,也就是server端IP;多个IP时使用逗号将IP分隔
    • ListenPort
      被动模式所监听端口号,默认为10050,即server端访问10050端口拉取数据
    • ListenIP
      被动模式所监听的IP,默认为0.0.0.0,即为监听本地的所有的IP
    • StartAgents
      指定预计生成的agent进程数量
  • Active checks related
    该模块为主动模式的相关参数

    • ServerActive
      主动推送到server端的IP;多个IP时使用逗号将IP分隔
    • Hostname
      当前主机的主机名
    • RefreshActiveChecks
      agent端每多少秒主动推送数据

这里我们只要将Server、ServerActive、Hostname修改即可。然后重启agent进程,并将其设置为开机启动。

1
2
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service