目录
Zabbix监控软件简介
Zabbix是一个基于Web界面的、提供分布式系统监控以及网络监控功能的企业级开源软件,它能监视各项网络参数,保证服务器系统的安全运行,并提供异常通知机制,帮助管理员快速定位与解决设备环境中的各种异常。
Zabbix主要包含两端:Zabbix Server 与 Zabbix Agent。其中 Zabbix Server 是 Zabbix 的服务器端,主要负责收集、存储、分析与展示数据以及发送警告信息,可运行在Linux、Solaris、AIX、Free BSD、Open BSD等平台之上。Zabbix Server 也集成了良好的Web界面,使运维人员能够更直观、方便地了解设备环境的各项信息。
Zabbix Agent 是 Zabbix 的客户端,需要安装在被监视的目标服务器上,它主要负责信息的收集与发送。Zabbix Agent 的监控方式分为主动模式和被动模式。其中,被动模式下,Zabbix Agent 监听10050端口,等待 Zabbix Server 发出的监控信息收集请求;主动模式下,Zabbix Agent 采集监控信息,并通过10050端口主动将数据传给 Zabbix Server 所在的服务器的10051端口。除 Zabbix Agent 外,Zabbix 也支持通过SNMP协议、JMX框架或者PIMI接口等进行监控。
除 Server 端和 Agent 端外,Zabbix 也支持使用Proxy统一收集各 Agent 采集的数据,一次性转交给 Server。
Zabbix的安装与配置
Zabbix-server服务器系统:Ubuntu 22.04
Zabbix版本:6.0 LTS
Zabbix数据库:MySQL8.0
Zabbix-server IP:192.168.11.88
Zabbix-server-DBServer IP:192.168.11.83
Zabbix-agent服务器系统:fedora oracle Debian
Zabbix-agent IP:192.168.11.81 192.168.11.82
安装Zabbix,首先看官网。包括很多应用软件,官网都有给出安装文档,照着装就行了。官网地址
1.选择Zabbix服务器的平台
不知道自己服务器系统版本,可以使用以下命令查看:
cat /etc/os-release
2.安装和配置Zabbix
a.Install Zabbix repository
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt-get update
b.安装Zabbix server,Web前端,agent
sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
c.创建初始数据库
在数据库主机上运行以下代码。
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user 'zabbix'@'%' identified by 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
set global log_bin_trust_function_creators = 1;
quit
以上内容不明白的可以看我的另外一篇文章MySQL8安装、创建新用户,授权
导入初始架构和数据,系统将提示您输入新创建的密码。(我的数据库和server不在同一台服务器)
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -h192.168.11.83 -P3306 -Dzabbix -uzabbix -p
导入数据库架构后禁用log_bin_trust_function_creators选项。
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
d. 为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
e. 为Zabbix前端配置PHP
编辑配置文件 /etc/zabbix/nginx.conf uncomment and set ‘listen’ and ‘server_name’ directives.
listen 8080;
server_name example.com;
f. 启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm
g. 打开Zabbix UI网页
账号:Admin
密码:zabbix
3.安装遇到的问题及解决方案
问题一:zabbix-server已经运行,但是页面显示运行失败
查看日志:cat /var/log/zabbix/zabbix_server.log
原因分析:zabbix的server和DB没有在同一台服务器上面,导致无法连接到数据库。
解决方法:修改文件sudo vi /etc/zabbix/zabbix_server.conf,增加如下内容:
DBHost=192.168.11.83
DBPort=3306
DBName=zabbix
DBSocket=/run/mysqld/mysqld.sock
如果server和db在一台服务器,则不会出现该问题。
4.在192.168.11.82服务器上安装zabbix-agent服务
先确定一下server端和agent端的时区是否一致,如果不一致,需要修改一下。当然也可以安装时间同步服务器。
# 查看当前时区
timedatectl status
# 列出所有可用的时区
timedatectl list-timezones
# 找到上海的时区
Asia/Shanghai
# 设置时区为上海
sudo timedatectl set-timezone Asia/Shanghai
# 再次检查设置是否成功
timedatectl status
# 使用date命令,看两个服务器的时间是否一致
date
或者使用时间同步服务器,道理是一样的。
安装zabbix-agent
a. Install Zabbix repository
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb
sudo dpkg -i zabbix-release_6.0-5+debian12_all.deb
sudo apt update
b. Install Zabbix agent2
sudo apt install zabbix-agent2 zabbix-agent2-plugin-*
c.修改配置文件
sudo vi /etc/zabbix/zabbix-agent.conf
# 第80行,修改zabbix-server IP
Server=192.168.11.88
# 第133行,修改zabbix-server IP
ServerActive=192.168.11.88
# 第144行,指定当前zabbix客户端的主机名
Hostname=zbx_agent82
d.Start Zabbix agent2 process
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
# 查看启动状态
systemctl status zabbix-agent2.service
# 查看一下端口号
netstat -anlt
e.zabbix web端配置主机
运行情况:
未完待补充。。。
交流Linux运维工作、学习经验,欢迎添加QQ群:418251587
或者添加微信:lxs1266L,拉进微信群