zabbix
简介
Zabbix 是一种高度集成的网络监控解决方案,支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控。
组件
server:Zabbix server 是 Zabbix agent 向其报告可用性、系统完整性信息和统计信息的核心组件。是存储所有配置信息、统计信息和操作信息的核心存储库。
数据库:所有配置信息以及 Zabbix 收集到的数据都被存储在数据库中。
web界面:该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台机器上。
proxy:Zabbix proxy 可以替 Zabbix server 收集性能和可用性数据。将数据在发送给Zabbix server,Zabbix proxy 是 Zabbix 环境部署的可选部分;然而,它对于单个 Zabbix server 负载的分担是非常有益的。
agent:Zabbix agents部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
Zabbix server和proxy守护进程以及 Zabbix 前端,必须需要一个数据库。但是 Zabbix agent并不需要。
如果Zabbix server和agent运行在相同的机器上,建议使用不同的用户运行来 Zabbix server 和 agent。 否则,如果两者都作为同一用户运行,则 Zabbix agent 可以访问 Zabbix server 配置文件,并且可以轻松检索到 Zabbix 中的任何管理员级别的用户,例如,数据库密码。
安装
Zabbix服务端
系统:rocky linux 8.4
软件:zabbix5.0
selinux
# 关闭selinux
setenforce 0
sed -i s'/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
防火墙
# 防火墙开放相应的端口
firewall-cmd --permanent --add-port=10050/tcp --add-port=10051/tcp --add-port=80/tcp --add-port=162/udp --add-port=53/udp
firewall-cmd --reload
ssh:22/tcp
zabbix-agent:10050/tcp
zabbix-trapper:10051/tcp
http:80/tcp
https:443/tcp
snmp trap:162/udp
ntp:53/udp
(一)联网安装
添加zabbix repository
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
清空repository缓存
dnf clean all
安装zabbix-server、zabbix-web、zabbix-agent、mariadb数据库
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent mariadb-server traceroute nmap -y
(二)离线安装
解压tar包
# 将zabbix_server.tar.gz上传到服务器并解压
tar zxvf zabbix_server.tar.gz
cd zabbix_server
rpm -ivh *.rpm
启动数据库
systemctl start mariadb
初始化数据库,设置数据库root密码
mysql_secure_installation
登录数据库,创建zabbix数据库
mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'zabbix';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> quit;
导入zabbix数据库
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
配置zabbix_server
vi /etc/zabbix/zabbix_server.conf
DBPassword=zabbix # 设置数据库用户zabbix密码
User=zabbix # 指定zabbix运行用户
时区问题
vi /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
重启服务
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
访问web页面,开始安装zabbix前端
http://172.16.1.199/zabbix,输入数据库密码,完成zabbix前端安装。
默认web用户密码:Admin/zabbix
(可选)
中文环境(web页面没有中文选项时设置)
# 安装zh_CN语言包
dnf install langpacks-zh_CN.noarch -y
# 安装glibc-common实现对语言包的识别
dnf install glibc-common -y
# 如果已安装过,需要重新安装,用reinstall
dnf reinstall glibc-common -y
# 查看是否有中文
locale -a | grep zh_CN
# 在web页面设置中文
中文乱码
一些图形界面会显示空白,需要更换字体
1.拷贝windows字体路径C:\Windows\Fonts,例如宋体simsun.ttc
2.将simsun.ttc拷贝到服务器/usr/share/zabbix/assets/fonts下
3.更换字体
mv graphfont.ttf graphfont.ttf.bak && mv simsun.ttc graphfont.ttf
SNMP客户端
安装snmp
dnf install net-snmp net-snmp-utils net-snmp-libs
配置snmp
配置snmp后启动服务,防火墙开放端口161/UDP
配置主机
登录http://172.16.1.200后添加主机
添加snmpv2主机
配置-主机-创建主机
输入主机信息
选择监控模板,点击添加
等菜单中的可用性SNMP变为绿色,表示可以检测到主机。
添加snmpv3主机
配置-主机-创建主机
输入主机信息
选择监控模板,点击添加
等菜单中的可用性SNMP变为绿色,表示可以检测到主机。
自动发现注册
新建自动发现规则
配置-自动发现-创建发现规则
创建snmpv2自动发现规则
创建snmpv3自动发现规则,
创建发现动作
配置-动作-点击左上角动作选择发现动作-创建动作
创建发现动作
选择操作
发现设备
过段时间在监测-自动发现中显示已找到的设备
监测-主机显示已注册的设备