Zabbix 是一个广泛使用的企业级开源监控解决方案,能够监控网络、服务器、虚拟机和云服务等 IT 基础设施。它通过灵活的通知机制,使用户能够为几乎所有事件配置基于电子邮件的警报,从而快速响应服务器问题。
(1)全面的监控能力:能够监控几乎所有类型的 IT 组件,包括操作系统性能、网络设备、数据库、应用程序等。
(2)灵活的数据收集方式:支持多种数据收集方法,如 SNMP、IPMI、JMX、Zabbix Agent、自定义脚本等。
(3)强大的报警系统:可以基于阈值设定触发器,并通过邮件、短信等多种方式发送警报。
(4)可视化界面:提供丰富的图表和仪表盘选项来展示监控数据,帮助快速识别问题。
(5)自动发现:能够自动检测网络中的新设备和服务,简化了配置过程。
(6)分布式监控:支持部署多个 Zabbix Proxy 节点以实现跨地域或大规模环境下的高效监控。
(7)Web 监控:不仅可以监控后端服务,还可以检查网站的可用性和响应时间。
(8)高可用性:支持主备模式部署,确保监控系统的稳定运行。
(9)API 接口:提供了 REST API,方便与其他系统集成或自动化管理任务。
(10)低资源消耗:设计为即使在资源有限的情况下也能良好运作。
(1)Zabbix Server:Zabbix 的核心组件,存储了所有的配置信息、统计信息和操作信息。Zabbix Agent 会向 Zabbix Server 报告可用性、完整性及其他统计信息。
(2)Zabbix Agent:客户端守护进程,负责收集客户端数据。
(3)Zabbix Proxy:分布式代理守护进程,解决高并发问题,可以分担 Zabbix Server 的压力。
(4)Zabbix Get:Zabbix 数据接收工具。
(5)Zabbix Sender:Zabbix 数据发送工具。
(6)Web 页面:通常和 Zabbix Server 位于一台物理设备上,但在特殊情况下也可以分开配置。Web 页面主要提供了直观的监控信息,以方便运维人员监控管理。
(7)数据库:存储了配置信息、统计信息等 Zabbix 的相关内容。
zabbix 10.0.0.61 172.16.1.61
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar
tar zxf mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.36-1.el8.x86_64.rpm
systemctl start mysqld
cat /var/log/mysqld.log | grep root@local
2025-01-17T07:20:49.705882Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: G*1x/&Mgit12
mysql -uroot -p'G*1x/&Mgit12 '
alter user root@localhost identified by 'Lyx123.com';
create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified by 'Lyx123.com';
ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Lyx123.com';
grant all privileges on zabbix.* to 'zabbix'@'localhost';
rm -rf mysql-*
wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.43.tar.gz
tar zxf zabbix-5.0.43.tar.gz
cd zabbix-5.0.43/database/mysql/
mysql -uzabbix -p'Lyx123.com' zabbix < schema.sql
mysql -uzabbix -p'Lyx123.com' zabbix < images.sql
mysql -uzabbix -p'Lyx123.com' zabbix < data.sql
yum -y install php php-bcmath php-cli php-common php-devel php-embedded php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo php-process php-xml php-json php-ldap
vim /etc/php-fpm.d/www.conf
38 listen = 127.0.0.1:9000
systemctl start php-fpm
systemctl enable php-fpm
netstat -lntup | grep 9000
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
yum -y install nginx
vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name _;
root /code;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx -t
vim /etc/nginx/nginx.conf
user apache;
worker_processes auto;
systemctl start nginx
systemctl enable nginx
netstat -lntup | grep 80
mkdir /code
cd /code
cp -r /root/zabbix-5.0.43/ui/* ./
chown -R apache.apache /code
cd /root/zabbix-5.0.43
yum -y install libxml2 libxml2-devel net-snmp-devel curl-devel libevent-devel
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
cd /root
zabbix_
zabbix_agentd zabbix_get zabbix_js zabbix_sender zabbix_server
vim /usr/local/etc/zabbix_server.conf
94:DBName=zabbix
110:DBUser=zabbix
118:DBPassword=Lyx123.com
groupadd -g 666 zabbix
useradd -u666 -g666 -M -s /sbin/nologin zabbix
zabbix_server #启动服务端
zabbix_agentd #启动客户端
vim /usr/lib/systemd/system/zabbix.service
[Unit]
Description=Zabbix server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_server
ExecStop=/usr/local/sbin/zabbix_server stop
User=zabbix
Group=zabbix[Install]
WantedBy=multi-user.target
systemctl daemon-reload
ps aux | grep zabbix_server | grep -v grep | awk '{print $2}' | xargs kill -9
vim /etc/php.ini
date.timezone = Asia/ShangHai #这一条需要添加
systemctl restart php-fpm
Zabbix 作为一个开源免费的企业级监控解决方案,具有强大的功能和灵活的定制能力,能够满足多种监控场景的需求。虽然在某些方面存在不足,但通过自定义和社区的支持,可以有效地解决这些问题。Zabbix 的全球和中国的生态已经初步成熟起来,希望它能够越做越好,帮助更多的企业,助力企业快速成长。