Zabbix分布式监控快速入门 2

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Zabbix分布式监控快速入门

2.3 Zabbix-Server服务端的安装

安装Zabbix-Server服务器端,由于服务器端也是需要监控的,故这里也一并安装了Zabbix-Agent。

[root@linux30 zabbix]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get

2.3.1 安装MySQL

在CentOS 7系统包仓库安装源中,我们需要安装mariadb-server,而不是MySQL数据库服务(7.0以后的版本用MariaDB替换了MySQL),命令如下:

[root@linux30 zabbix]# yum -y install mariadb-server

修改MySQL配置文件:

[root@linux30 zabbix]# vi /etc/my.cnf

添加如下内容:

[mysqld]
# 设置字符集为UTF-8
character-set-server=utf8
# 让InnoDB的每个表文件单独存储
innodb_file_per_table=1

启动服务:

[root@linux30 zabbix]# systemctl start mariadb

查看服务是否启动成功:

2.3.1.1 创建Zabbix数据库

首先设置MySQL的root用户密码,然后创建zabbix数据库,设置访问策略.

# 设置root用户密码为123456
[root@linux30 zabbix]# mysqladmin -uroot password 123456
# 登录MySQL
[root@linux30 zabbix]# mysql -uroot -p123456
# 创建数据库,名称为zabbix,并将其字符集设置为UTF-8
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 设置zabbix数据库的权限,允许用户zabbix的IP地址127.0.0.1和localhost访问
# 并将zabbix账号的密码设置为zabbix
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限,使其立即生效
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

这里容易出现的问题是,如果创建zabbix数据库的字符集不为UTF-8,则可能会导致Web界面切换到中文语言时出现乱码。

2.3.1.2 导入Zabbix库的数据文件

导入Zabbix库的数据文件,使用以下命令:

# 进入对应版本目录
[root@linux30 zabbix]# cd /usr/share/doc/zabbix-server-mysql-4.0.38/
# 将sql文件解压缩
[root@linux30 zabbix-server-mysql-4.0.38]# gunzip create.sql.gz
# 以zabbix用户登录
[root@linux30 zabbix-server-mysql-4.0.38]# mysql -uzabbix -pzabbix -h127.0.0.1
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| zabbix             |
+--------------------+
3 rows in set (0.00 sec)
# 切换到zabbix数据库
MariaDB [(none)]> use zabbix;
Database changed
# 导入sql文件
# create.sql是zabbix源码包中的3个SQL文件的集合,即分别为schame.sql(表结构);images.sql(图形相关数据);data.sql(模板相关数据)
MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-4.0.38/create.sql

2.3.2 配置zabbix_server.conf

配置zabbix_server.conf文件如下:

vi /etc/zabbix/zabbix_server.conf

内容如下:

# 日志文件
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
# 数据库连接
DBHost=192.168.10.30
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
StartPollers=100
StartIPMIPollers=10
StartPollersUnreachable=10
StartTrappers=10
StartPingers=10
StartDiscoverers=10
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=256M
HistoryCacheSize=128M
TrendCacheSize=128M
ValueCacheSize=2048M
Timeout=30
Timeout=4
TrapperTimeout=300
# 告警和扩展脚本路径
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

告警和扩展脚本路径可能默认不存在,使用以下命令创建目录:

[root@linux30 zabbix]# mkdir -p /etc/zabbix/alertscripts /etc/zabbix/externalscripts

2.3.3 开启Zabbix-Server服务

启动服务:

[root@linux30 zabbix]# systemctl start zabbix-server
[root@linux30 zabbix]# systemctl start httpd

查看进程:

查看日志:

[root@linux30 zabbix]# tail -f /var/log/zabbix/zabbix_server.log

2.3.4 防火墙、SELinux和权限的设置

2.3.4.1 防火墙的设置

如果CentOS操作系统存在防火墙,则需要允许相关端口能够访问,配置命令如下:

[root@linux30 ~]# firewall-cmd --permanent --add-port=80/tcp
# 10050是Agent的端口,Agent采用被动方式,Server主动连接Agent的10050端口;
[root@linux30 ~]# firewall-cmd --permanent --add-port=10050/tcp
# 10051是Server的端口,Agent采用主动或Trapper方式,会连接Server的10051端口。
[root@linux30 ~]# firewall-cmd --permanent --add-port=10051/tcp
[root@linux30 ~]# firewall-cmd -reload
2.3.4.2 SELinux的设置

如果操作系统已开启SELinux,则需要设置语句开启允许SELinux的相关策略。

[root@linux30 ~]# setsebool -P httpd_can_connect_zabbix on
[root@linux30 ~]# setsebool -P httpd_can_network_connect_db on
# 获取当前SELinux的运行状态
[root@linux30 ~]# getenforce
Enforcing
# 设置为告警模式,只给出提示,不会阻止操作,不用重启服务
[root@linux30 ~]# setenforce 0

直接关闭SELinux的方法:

[root@linux30 ~]# vi /etc/selinux/config
SELINUX=disabled
注意:此方式需要重启服务器才能生效。

2.3.5 php.ini配置文件的设置

修改php.ini相关配置参数,命令如下:

[root@linux30 etc]# vi /etc/php.ini
data.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
# web页面内存不够用时,调节此参数
memory_limit = 128M
mbstring.func_overload = 0

修改zabbix.conf,只需要修改date.timezone即可

[root@linux30 etc]# vi /etc/httpd/conf.d/zabbix.conf
# 修改date.timezone
php_value date.timezone Asia/Shanghai

如果在后面配置Web时提示任何参数不满足安装与配置要求,则修改对应的参数后重启httpd即可。

2.3.6 配置Zabbix-Web

打开浏览器,输入http://IP地址/zabbix,会出现欢迎页面。

http://192.168.10.30/zabbix

PHP提示的各项参数都满足后,可以继续往下进行,单击“Next step”按钮。如果提示参数不通过,则修改php.ini配置文件,并重启Web(httpd)服务。

配置数据库连接的各项参数。单击“Next step”按钮进行下一步操作。

Zabbix-Server的连接地址、端口、名称设置,将会显示在Zabbix的前端页面中。

这些配置信息将会被写入/etc/zabbix/web/zabbix.conf.php文件中

配置文件生成成功

登录页面,默认账户是Admin,密码是zabbix

登录成功后的首页

在System information面板中,如Zabbix server is running为No,则分别检查SELinux、iptables,以及zabbix_server.conf和zabbix.conf.php中的各项配置参数

2.4 Zabbix-Agent客户端的安装

通过前面的介绍,我们知道Zabbix监控可以采用服务器端/客户端架构,其客户端的采集方式分为Agent、SNMP等。在这里,我们先学习使用Agent方式对服务器进行监控。

2.4.1 安装Zabbix-Agent

在这里,我们对需要进行监控的服务器安装Zabbix-Agent,使用RPM包方式进行安装,命令如下:

# 将rpm包复制到linux31服务器
[root@linux30 zabbix]# scp zabbix-release-4.0-1.el7.noarch.rpm root@192.168.10.31:/opt/itcast/zabbix/
# 安装Zabbix官方yum源
[root@linux31 zabbix]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
# 安装
[root@linux31 zabbix]# yum -y install zabbix zabbix-agent

2.4.2 防火墙的设置

如果操作系统开启了防火墙,为了允许端口能够正常通信,则需要使用下列命令进行配置:

[root@linux31 zabbix]# firewall-cmd --permanent --add-port=10050/tcp
[root@linux31 zabbix]# firewall-cmd --reload

2.4.3 配置zabbix_agentd.conf

zabbix_agentd.conf是Zabbix-Agent的配置参数文件,需要对配置参数进行手动修改。修改的参数如下:

[root@linux31 ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.30
ServerActive=192.168.10.30
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@linux31 ~]#

参数含义如下。

  • Server:被动模式,允许zabbix_server服务器连接客户端,此处允许192.168.10.30访问10050端口,多个IP地址之间用逗号分隔。
  • ServerActive:主动模式,向目标zabbix_server服务器传送数据。这种模式的性能较好,建议使用,但需要确保zabbix_agentd.conf的参数Hostname值与Zabbix-Web页面中的主机名一致;

配置完成后,使用如下命令启动Zabbix-Agent:

[root@linux31 zabbix]# systemctl start zabbix-agent


目录
相关文章
|
3天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
41 25
|
1月前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
52 9
|
1月前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
80 7
|
5月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
2月前
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
48 5
|
2月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
144 7
|
2月前
|
数据采集 存储 监控
公司监控软件:基于 PHP 的分布式监控系统设计
本文介绍了基于 PHP 的分布式监控系统的设计与实现。该系统包括监控节点、数据采集模块、数据传输模块和监控中心,能够高效地收集、传输和分析各节点的数据,确保系统的稳定运行和安全防护。通过示例代码展示了数据采集、传输及存储的具体实现方法,并强调了安全与可靠性的重要性。
55 3
|
3月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
105 2
|
4月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
98 2
zabbix agent集成percona监控MySQL的插件实战案例
|
5月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
121 0

推荐镜像

更多