Zabbix入门简介
Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,系统硬件参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让管理员快速定位并解决存在的各种问题。
zabbix优点
- 支持自动发现服务器和网络设备;
- 分布式的监控体系和集中式的WEB管理;
- 支持主动监控和被动监控模式;
- 基于SNMP、IPMI接口方式、Agent方式;
- 安全的用户认证及权限配置;
- 基于WEB的管理方法,支持自由的自定义事件和邮件、短信发送;
- 高水平的业务视图监控资源,支持日志审计,资产管理等功能;
zabbix工作原理
zabbix平台构建
部署系统环境:Nginx1.18,MariaDB10.4.13,PHP7.4.7
先到官网选择Zabbix服务器平台
https://www.zabbix.com/cn/download?zabbix=4.4&os_distribution=centos&os_version=7&db=mysql&ws=nginx
安装官方源
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all
----------------aliyun下载-----------------------------------------------------------------------
在阿里云镜像中寻找国内源
https://developer.aliyun.com/mirror/
将zabbix.repo中的官网源地址调整为阿里云源地址
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
-------------------------end----------------------------------------------------------------------
安装Zabbix server和agent
yum clean all
yum install zabbix-server-mysql zabbix-agent
安装Zabbix frontend
yum install epel-release
yum install zabbix-web-mysql zabbix-nginx-conf
安装过程中报错:缺失php-mysql组件,原因为新版本的PHP7.4中无php-mysql组件。原先PHP5.4版本中的php-mysql组件被新版的php-mysqlnd代替,安装依赖找不到。
好在PHP7.4安装包中有php-pecl-mysql组件,尝试手动安装
yum install php-pecl-mysql
重新安装Zabbix frontend
yum install zabbix-web-mysql zabbix-nginx-conf
终于不再报错,安装成功!
创建数据库
mysql -uroot -p[password]
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> quit;
导入初始架构和数据,系统将提示您输入新创建的密码
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=zabbix
DBSocket=/data/mariadb/mysql.sock
# 如果是源码编译安装的MySQL数据库,需要指定mysql.sock文件路径
配置nginx虚拟主机
编辑配置文件 /etc/nginx/conf.d/zabbix.conf, 去除 ‘listen’和 ‘server_name’ 的注释
指定server_name zabbix.com
在/etc/nginx/nginx.conf中添加以下include语句,包含虚拟主机配置文件,并注释掉配置文件中原先存在的默认虚拟主机配置
include /etc/nginx/conf.d/*.conf;
为Zabbix前端配置PHP
编辑配置文件 /etc/php-fpm.d/zabbix.conf, 修改用户和组至nginx,并设置本地timezone=Asia/Shanghai
[zabbix]
user = nginx
group = nginx
listen = /run/php-fpm/zabbix.sock
listen.owner = nginx
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai
修改/etc/php-fpm.d/www.conf 设置user和group至nginx
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
web目录授权
将/etc/zabbix/web目录的组和拥有者设置为nginx(nginx服务的启动用户)
chown nginx. -R /etc/zabbix/web/
php/session目录授权
修改/var/lib/php/session目录的组和拥有者设置为nginx(nginx服务的启动用户)
chown nginx. -R /var/lib/php/session
# 配置文件/etc/php-fpm.d/zabbix.conf中有此目录设置
启动Zabbix server和agent进程,并设置为开机自启动
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm
查看端口
客户端配置hosts
# 添加虚拟主机server_name zabbix.com
192.168.161.89 zabbix.com
浏览器中访问zabbix.com并配置
确保全绿OK
web前端默认账户为:Admin / zabbix (A大写)
添加被监控主机
被监控主机安装zabbix-agent
# 配置Zabbix源,方法与Zabbix服务端相同
yum install -y zabbix-agent
修改被监控端agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
server=192.168.161.89
# Zabbix Server IP或Hostname
hostname=192.168.161.92
# 被监控IP或Hostname
重启被监控端的zabbix-agent
systemctl restart zabbix-agent
确认端口已启动
在Zabbix Server Web界面添加被监控主机
- 标签