zabbix部署教程

1 zabbix介绍

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

Zabbix 由几个主要的软件组件组成:

  • Zabbix server:是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。
  • 数据存储:Zabbix 收集的所有配置信息以及数据都存储在数据库中。
  • Web 界面:为了从任何地方和任何平台轻松访问,Zabbix 提供了基于 Web 的界面。该接口是 Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。
  • Zabbix proxy:可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。
  • Zabbix agent:部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。

Zabbix特点:

  • 自动发现服务器与网络设备。
  • 分布式监视以及 Web 集中管理功能。
  • 可以无 agent 监视。
  • 用户安全认证和柔软的授权方式。
  • 通过 Web 界面设置或查看监视结果。
  • 磁盘使用、网络状况、端口监视等功能。

Zabbix 支持主动轮询和被动捕获,所有的报告、统计信息和配置参数都可以通过基于 Web 的前端页面进行访问,基于 Web 的前端页面可以确保从任何方面评估网络状态和服务器的健康性。适当的配置后,Zabbix 可以在 IT 基础架构监控方面扮演重要的角色,对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。

2 安装

2.0 环境规划

zabbix组件地址监控项操作系统
zabbix server192.168.131.60服务器资源redhat 7.9
zabbix agent192.168.131.99mysql8.0redhat 7.9
zabbix agent192.168.131.100mysql8.0redhat 7.9

2.1 安装zabbix server

我这里在白板机器 192.168.131.60 上部署zabbix server。

1)下载

下载地址:https://www.zabbix.com/download_sources#60LTS

安装手册:https://www.zabbix.com/documentation/current/zh/manual/installation/install

image.png

LTS(Long-Term Support)是长期支持版。

2)解压

将下载好的源码包上传到/tmp,进入路径解压。

[root@zabbix6 tmp]# cd /usr/src/
[root@zabbix6 src]# tar xf /tmp/zabbix-6.0.25.tar.gz
[root@zabbix6 src]# ln -s zabbix-6.0.25 zabbix

[root@zabbix6 src]# ls
debug  kernels  zabbix  zabbix-6.0.25

3)创建zabbix用户和组

[root@zabbix6 src]# groupadd --system zabbix
[root@zabbix6 src]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

4)创建zabbix数据库

我是用mysql8.0作为zabbix的数据库。mysql8.0数据库安装可参考文章:http://t.csdnimg.cn/FJv5A

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.25    |
+-----------+
mysql> 
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user 'zabbix'@'%' identified with mysql_native_password by 'Zabbix123.';
grant all privileges on zabbix.* to 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;

5)初始化数据库

脚本路径在/usr/src/zabbix/database/mysql。

[mysql@zabbix6 ~]$ cd /usr/src/zabbix/database/mysql
[mysql@zabbix6 mysql]$ ls
data.sql  double.sql  history_pk_prepare.sql  images.sql  Makefile.am  Makefile.in  schema.sql

#导入
[mysql@zabbix6 mysql]$ mysql -uzabbix -pZabbix123. zabbix < schema.sql
[mysql@zabbix6 mysql]$ mysql -uzabbix -pZabbix123. zabbix < images.sql
[mysql@zabbix6 mysql]$ mysql -uzabbix -pZabbix123. zabbix < data.sql

6)编译安装zabbix server

[root@zabbix6 zabbix]# yum install -y gcc mysql-devel libevent-devel libcurl-devel libxml2-devel net-snmp-devel
[root@zabbix6 lib]# cd /usr/src/zabbix
[root@zabbix6 zabbix]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

显示以下截图,则说明配置源代码成功。

image.png

如果有其它情况,一般是缺依赖包,请自行安装。一般通过yum安装能解决绝大部分依赖软件,如果不行,这里提供一个rpm包的下载地址 https://rpm.pbone.net/.将rpm包下下来,然后进行rpm安装或者yum安装都可以。

确认配置源代码成功后,根据提示执行 make install,这一步应该以具有足够权限的用户身份运行(通常是 ‘root’,或使用 sudo)。

[root@zabbix6 zabbix]# make install

如果make编译报错,例如:

image.png

image.png

解决办法:

[root@zabbix6 src]# find / -name libcrypto.so.1.1
/usr/local/mysql-8.0.25-linux-glibc2.12-x86_64/lib/private/libcrypto.so.1.1
[root@zabbix6 src]# ln -s /usr/local/mysql-8.0.25-linux-glibc2.12-x86_64/lib/private/libcrypto.so.1.1 /usr/lib
[root@zabbix6 src]# ln -s /usr/local/mysql-8.0.25-linux-glibc2.12-x86_64/lib/private/libssl.so.1.1 /usr/lib64

重新执行 make install

7)修改配置文件

1.修改/usr/local/zabbix/etc/zabbix_server.conf

主要是配置数据库相关的参数,包括数据库ip、数据库名、用户和密码。

LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix123.
DBPort=3306
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

2.修改/usr/local/zabbix/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server

8)配置服务管理脚本

1.zabbix_server

设置zabbix_server路径,设置配置文件路径和启动项指定配置文件。

[root@zabbix6 etc]# vim /usr/src/zabbix/misc/init.d/fedora/core5/zabbix_server
#修改
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
CONFIG_FILE="/usr/local/zabbix/etc/zabbix_server.conf"
daemon $ZABBIX_BIN -c $CONFIG_FILE

修改后配置如下:

image.png

移动到/etc/init.d/目录下:

[root@zabbix6 etc]# cp /usr/src/zabbix/misc/init.d/fedora/core5/zabbix_server /etc/init.d/

2.zabbix_agentd

[root@zabbix6 etc]# vim /usr/src/zabbix/misc/init.d/fedora/core5/zabbix_agentd
#修改
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
CONFIG_FILE="/usr/local/zabbix/etc/zabbix_agentd.conf"
daemon $ZABBIX_BIN -c $CONFIG_FILE

修改后配置如下:

image.png

移动到systemd目录下:

[root@zabbix6 etc]# cp /usr/src/zabbix/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

9)启动

[root@zabbix6 ~]# service zabbix_server start
[root@zabbix6 ~]# service zabbix_agentd start

设置开机自启

[root@zabbix6 ~]# chkconfig zabbix_server on
[root@zabbix6 ~]# chkconfig zabbix_agentd on
[root@zabbix6 ~]# chkconfig --list
zabbix_agentd   0:off   1:off   2:on    3:on    4:on    5:on    6:off
zabbix_server   0:off   1:off   2:on    3:on    4:on    5:on    6:off

2.2 安装Web组件

1)安装httpd和PHP

PHP要求7.2.5版本以上。

image.png

安装php:

[root@zabbix6 tmp]# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home%3A/matthewdva%3A/build%3A/EPEL%3A/el7/RHEL_7/noarch/epel-release-7-9.noarch.rpm
[root@zabbix6 tmp]# wget ftp://ftp.pbone.net/mirror/repo.webtatic.com/yum/el7/webtatic-release.rpm
[root@zabbix6 tmp]# rpm -ivh epel-release-7-9.noarch.rpm
[root@zabbix6 tmp]# rpm -ivh webtatic-release.rpm
[root@zabbix6 tmp]# php -v
PHP 7.2.34 (cli) (built: Oct  1 2020 13:37:37) ( NTS )

安装好后的php版本是7.2.34。

2)拷贝PHP文件至httpd根目录下

image.png

干吧:

[root@zabbix6 tmp]# mkdir -p /var/www/html/zabbix
[root@zabbix6 tmp]# cp -r /usr/src/zabbix/ui/* /var/www/html/zabbix/
[root@zabbix6 tmp]# chown -R apache.apache /var/www/html/

3)修改PHP配置文件

[root@zabbix6 ~]# vim /etc/php.ini
#修改
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai

4)启动httpd服务

[root@zabbix6 ~]# systemctl start httpd
[root@zabbix6 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2024-01-24 01:25:42 CST; 1s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 21353 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─21353 /usr/sbin/httpd -DFOREGROUND
           ├─21354 /usr/sbin/httpd -DFOREGROUND
           ├─21355 /usr/sbin/httpd -DFOREGROUND
           ├─21356 /usr/sbin/httpd -DFOREGROUND
           ├─21357 /usr/sbin/httpd -DFOREGROUND
           └─21358 /usr/sbin/httpd -DFOREGROUND

Jan 24 01:25:42 zabbix6.0 systemd[1]: Starting The Apache HTTP Server...
Jan 24 01:25:42 zabbix6.0 systemd[1]: Started The Apache HTTP Server.

设置开机自启:

[root@zabbix6 init.d]# chkconfig httpd start

2.4 配置Web页面

1)登录zabbix首页

在浏览器输入http://zabbix_server_ip/zabbix,zabbix_server_ip为zabbix server服务器的地址。

image.png

在首页,选择默认的语言,可以修改成中文。

2)依赖性检查

主要检查PHP的插件和配置是否满足要求。

image.png

3)配置数据库连接信息

image.png

连接失败,提示没有这个文件或者文件夹,原因是php没有找到mysql数据库的sock文件。解决办法是在php的配置文件中的pdo_mysql.default_socket参数指定mysql数据库的sock文件路径:

[root@zabbix6 zabbix]# find / -name php.ini
/etc/php.ini
[root@zabbix6 zabbix]# vim /etc/php.ini
#修改
pdo_mysql.default_socket=/data/mysql/3306/data/mysql.sock

4)设置zabbix server的信息

image.png

5)配置检查

image.png

检查无误后就,点击finish就完成了zabbix server web的配置。

6)登录

默认用户名是Admin,默认密码是zabbix。

image.png!

7)进入web首页

image.png

2.3 安装zabbix agent

在被监控的机器192.168.131.99上部署zabbix agent。

1)创建用户和组

[root@mysql001 tmp]# groupadd --system zabbix
[root@mysql001 tmp]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

2)解压并编译

将server相同的的源码包上传到/tmp,进入路径解压。

[root@mysql001 tmp]# cd /usr/src
[root@mysql001 src]# tar -xf /tmp/zabbix-6.0.25.tar.gz
[root@mysql001 src]# ln -s zabbix-6.0.25 zabbix
[root@mysql001 src]# ls
debug  kernels  zabbix  zabbix-6.0.25

3)编译安装

[root@mysql001 src]# yum install gcc pcre-devel -y
[root@mysql001 src]# cd zabbix
[root@mysql001 zabbix]# ./configure --prefix=/usr/local/zabbix --enable-agent
[root@mysql001 zabbix]# make install

4)修改agent配置文件

LogFile=/tmp/zabbix_agentd.log
Server=192.168.131.60
ServerActive=127.0.0.1
Hostname=mysql001

配置说明:

  • Server:被动模式下server的地址。被动模式下,zabbix server发送请求,agent发送数据。
  • ServerActive:主动模式下server地址。主动模式下,agent会将采集到的数据主动发送给server。
  • Hostname:被监控服务器的自定义名称。建议配置成有辨识度的name,例如主机名、ip地址、服务名等。

4)配置服务管理脚本

[root@mysql001 src]# cd zabbix/misc/init.d/fedora/core5/
[root@mysql001 core5]# vim zabbix_agentd
#修改
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
CONFIG_FILE="/usr/local/zabbix/etc/zabbix_agentd.conf"
daemon $ZABBIX_BIN -c $CONFIG_FILE

修改后的结果如下图:

image.png

将启动脚本拷贝到/etc/init.d目录:

[root@mysql001 core5]# cp zabbix_agentd /etc/init.d/

设置开机自启:

[root@mysql001 core5]# chkconfig zabbix_agentd on
[root@mysql001 core5]# chkconfig --list
zabbix_agentd   0:off   1:off   2:on    3:on    4:on    5:on    6:off

5)启动zabbix agent

[root@mysql001 core5]# service zabbix_agentd start
Starting zabbix_agentd (via systemctl):                    [  OK  ]

查看服务状态:

[root@mysql001 core5]# service zabbix_agentd status
● zabbix_agentd.service - SYSV: Zabbix Monitoring Agent
   Loaded: loaded (/etc/rc.d/init.d/zabbix_agentd; bad; vendor preset: disabled)
   Active: active (running) since Thu 2024-01-25 00:50:36 CST; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 11784 ExecStart=/etc/rc.d/init.d/zabbix_agentd start (code=exited, status=0/SUCCESS)
 Main PID: 11792 (zabbix_agentd)
   CGroup: /system.slice/zabbix_agentd.service
           ├─11792 /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
           ├─11793 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─11794 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─11795 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─11796 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─11797 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Jan 25 00:50:36 mysql001 systemd[1]: Starting SYSV: Zabbix Monitoring Agent...
Jan 25 00:50:36 mysql001 zabbix_agentd[11784]: Starting Zabbix Agent: [  OK  ]
Jan 25 00:50:36 mysql001 systemd[1]: Started SYSV: Zabbix Monitoring Agent.

另一台192.168.131.100也用同样的方式部署zabbix agent。

【关联文章】

(1)zabbix部署教程
(2)zabbix监控MySQL
(3)PMP自定义监控项
(4)zabbix监控业务数据

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值