Zabbix 是什么
zabbix(音同 za:bix)是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server 与可选组件 zabbix agent。
zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X 等平台上。
Zabbix 安装
Zabbix 需要 LNMP 或者 LAMP 环境
LNMP : liunx + nginx + mysql + php
LAMP : liunx + Apache + mysql + php
在之前我们已经安装了 liunx + nginx + mysql 了,如果还没有安装的话,可以先看前面几章先安装。
我们这里演示下 LAMP 的安装。
LAMP
0)安装 Apache
sudo yum -y install httpd
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动
1) 安装 php
sudo yum install php
2) 安装php扩展
sudo yum install php-mysqlnd php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-common php-ctype php-xml php-xmlreader php-xmlwriter php-session php-mbstring php-gettext php-ldap php-mysqli --skip-broken
sudo yum install wget telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel sendmail mailx net-snmp net-snmp-devel net-snmp-utils freetype-devel libpng-devel perl unbound libtasn1-devel p11-kit-devel OpenIPMI unixODBC
3) 前往 Zabbix官网 获取 Zabbix 源并安装
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
4) 安装zabbix
sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-web
5)配置 MySQL
mysql -u root -p # 进入 mysql
create database zabbix character set utf8; #创建数据库
create user zabbix@'%' identified by 'sa000'; #创建用户和密码
grant all privileges on zabbix.* to zabbix@'%'; #赋权
flush privileges; # 刷新权限
exit; # 退出 mysql
6) 导入 zabbix 所需信息到 mysql
cd /usr/share/doc/zabbix-server-mysql-3.4.12 # 进入 zabbix-mysql 配置目录
zcat create.sql.gz | mysql -uroot zabbix -p # 这里需要上一步配置的 zabbix 账号的 mysql 密码
7) 配置 zabbix 参数
sudo vim /etc/zabbix/zabbix_server.conf
设置数据库密码:
DBPassword= sa000 # 这里需要之前配置的 zabbix 账号的 mysql 密码
设置超时数据从4秒变为30秒
Timeout=30
8) 配置 Apache 中的 PHP 参数
sudo vim /etc/httpd/conf.d/zabbix.conf
在配置中增加 value
php_value date.timezone Asia/Shanghai
https://images.cnblogs.com/cnblogs_com/markLogZhu/1532657/o_Zabbix_00.png
9)重新系统
systemctl stop mysqld && reboot
10) 启动 zbx
sudo systemctl start httpd && systemctl start zabbix-server
接下来就是页面配置环节了。
zabbix 页面配置
1) 在浏览器中输入 http://zbx监控服务器的IP地址/zabbix,进行 zabbix 的页面初始化配置
注:如果已经安装 nginx 并设置为开机自启动的话,记得先关闭服务 systemctl stop nginx.service
,如果还打不开页面,确认下 Apache 服务启动没有 service httpd status
,如果没有的话就启动服务 service httpd start
。
2) 检查先决条件
可以看到都是 OK ,如果还有问题的请自行百度针对解决,下一步。
3)设置数据库配置
4) 配置 zabbix 服务,name 其实就是页面的标题,请发挥你们的脑洞...
5) 无脑下一步即可
6) 终于到登陆界面啦,默认用户名:admin
,默认密码 zabbix
7) 默认是英文界面,像我这种英盲怎么能忍,按下图设置中文吧,记得点击 update
按钮更新哦
8) 现在仪表盘里还没有数据,我们需要先配置下主机
这个时候,因为我们只是安装服务端,但是客户端还没有安装,所以没有数据,我们来安装下客户端
客户端安装
1) 安装客户端
sudo yum install zabbix-agent
2)查看服务端配置
cat /etc/zabbix/zabbix_agentd.conf | grep 'Server'|grep -v "#"
因为是在服务端机器上安装的,所以地址就写 127.0.0.1,不需要变动。
Server=127.0.0.1
ServerActive=127.0.0.1
3) 启动服务
systemctl start zabbix-agent
4) 刷新页面,可以看到已经有数据了
注:如果没有数据请将防火墙先关闭,如不关闭请将对应端口打开
sudo systemctl stop firewalld.service && systemctl disable firewalld.service