Zabbix监控系统
一、Zabbix介绍
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
官方网站:https://www.zabbix.com/
CentOS7配置Zabbix的官方文档:https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache
二、Zabbix部署
2.1环境准备
2.1.1 2台linux服务器(均可访问互联网)
1.服务器安装Zabbix-server
2.客户端安装Zabbix-agent
2.1.2 确保关闭selinux
vi /etc/sysconfig/selinux
selinux=disabled
2.2开始部署
2.2.1 配置LAMP环境
- LAMP一键安装包:https://www.lamp.sh/
- 通过yum方式部署:
# yum install epel-release -y
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
配置MariaDB源:(使用中科大镜像)
https://idc.wanyunshuju.com/ma/1196.html
vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装mariadb、php环境及相关依赖包:
# yum install mariadb-client mariadb-server mariadb-devle httpd php72w-mysql php72w-gd libjpeg* php72w-ladp php72w-odbc php72w-pear php72w-xml php72w-xmlrpc php72w-mbstring php72w-bcmath php72w-mhash php72w-fpm libxml2-devel libevent-devel curl-devel php72w-snmp net-snmp
2.2.2 部署zabbix server
通过Zabbix官方提供的Quick Start文档来进行部署:https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache
Step1.选择你的操作系统版本、数据库类型以及WEB服务器的类型
Step2.为您的平台安装和配置Zabbix服务器
a.安装Zabbix仓库
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
b.安装Zabbix服务器和代理
# yum install zabbix-server-mysql zabbix-agent
如果遇到上图所示的网络不畅,导致rpm包无法正常下载,可以通过浏览器或下载工具下载rpm包。下载完成后,将rpm包放在/var/cache/yum/x86_64/7/zabbix/packages文件夹里,再次执行yum install【rpm包名称】即可。
利用Xftp工具,将下载好的rpm包拷贝到/var/cache/yum/x86_64/zabbix/packages目录下
再次执行yum install [rpm包名称]
c.安装Zabbix前端
# yum install centos-release-scl
编辑文件/etc/yum.repos.d/zabbix.repo并启用zabbix-frontend存储库。
[zabbix-frontend]
...
enabled=1
...
安装Zabbix前端软件包
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
如果遇到上图所示的网络不畅,导致rpm包无法正常下载,可以通过浏览器或下载工具下载rpm包。下载完成后,将rpm包放在/var/cache/yum/x86_64/7/zabbix-frontend/packages文件夹里,再次执行yum install【rpm包名称】即可。
再次执行yum命令,发现已经能成功安装,如下图所示
如果想要保留下载的rpm包,可以vim /etc/yum.conf,将keepcache置为1.
d.创建初始数据库
测试数据库是否运作正常:
mysql -uroot -p
Enter Password:(默认密码为空),直接回车进入
在数据库主机上运行以下命令:
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin; //使用utf8字符集
mysql> create user zabbix@localhost identified by 'password'; //数据库密码设置为password,允许 zabbix用户从本地访问数据库
mysql> grant all privileges on zabbix.* to zabbix@localhost; //让所有属于zabbix组的用户拥有数 据库的权限
mysql> quit;
在Zabbix服务器主机上,导入初始架构和数据。系统将提示您输入新创建的密码。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
e.为Zabbix服务器配置数据库
编辑文件/etc/zabbix/zabbix_server.conf
DBPassword=password
f.为Zabbix前端配置PHP
编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消注释并设置正确的时区。
; php_value[date.timezone] = PRC
g.启动Zabbix服务器和代理进程
启动Zabbix服务器和代理进程,并使其在系统启动时启动。
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
h.配置Zabbix前端
连接到新安装的Zabbix前端:http:// server_ip_or_name /zabbix
您应该能看到如下图所示的欢迎界面:
Step1.检查先决条件
确保满足所有软件先决条件。
前提条件 | 最低值 | 描述 |
PHP版本 | 7.2.0 | |
PHP memory_limit选项 | 128MB | 在php.ini中: memory_limit = 128M |
PHP post_max_size选项 | 16MB | 在php.ini中: post_max_size = 16M |
PHP upload_max_filesize选项 | 2MB | 在php.ini中: upload_max_filesize = 2M |
PHP max_execution_time选项 | 300秒(允许值为0和-1) | 在php.ini中: max_execution_time = 300 |
PHP max_input_time选项 | 300秒(允许值为0和-1) | 在php.ini中: max_input_time = 300 |
PHP session.auto_start选项 | 必须禁用 | 在php.ini中: session.auto_start = 0 |
数据库支持 | 其中之一:MySQL,Oracle,PostgreSQL。 | 必须安装以下模块之一: mysql,oci8,pgsql |
bcmath | php-bcmath | |
mbstring | php-mbstring | |
PHP mbstring.func_overload选项 | 必须禁用 | 在php.ini中: mbstring.func_overload = 0 |
插座 | php-net-socket。用户脚本支持所必需。 | |
d | 2.0.28 | php-gd。PHP GD扩展必须支持PNG图像(–with-png-dir),JPEG(-- with-jpeg-dir)图像和FreeType 2(-- with-freetype-dir)。 |
的libxml | 2.6.15 | PHP的XML |
xmlwriter | php-xmlwriter | |
xmlreader | php-xmlreader | |
类型 | php-ctype | |
会议 | PHP会话 | |
文字 | php-gettext 自Zabbix 2.2.1起,PHP gettext扩展不是安装Zabbix的强制要求。如果未安装gettext,则前端将照常工作,但是翻译将不可用。 |
列表中还可能包含可选的先决条件。失败的可选前提条件以橙色显示,并且具有警告状态。如果可选的先决条件失败,则设置可以继续。
Step2.配置数据库连接
输入用于连接数据库的详细信息。Zabbix数据库必须已经创建。
Step3.ZABBIX服务器详细信息
输入Zabbix服务器详细信息。
输入Zabbix服务器的名称是可选的,但是,如果提交了名称,它将显示在菜单栏和页面标题中。
Step4.安装前摘要
查看设置摘要。
Step5.完成安装。Step6.登录
Zabbix前端已经准备好!默认用户名为Admin,密码为zabbix。
2.2.3 部署zabbix agent
a.导入源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
b.通过yum方式安装zabbix agent
yum install zabbix-server-mysql zabbix-agent
如果遇到上图所示的网络不畅,导致rpm包无法正常下载,可以通过浏览器或下载工具下载rpm包。下载完成后,将rpm包放在/var/cache/yum/x86_64/7/zabbix/packages文件夹里,再次执行yum install【rpm包名称】即可。
c.编辑zabbix配置文件
cd /etc/zabbix/
ls
cp zabbix_agentd.conf zabbix_agentd.conf.bak
vi zabbix_agentd.conf
修改Server=zabbix_server的ip地址
wq保存退出
d.启动zabbix-agent
systemctl start zabbix-agent
systemctl status zabbix-agent
e.查看zabbix端口
netstat -na
f.停止防火墙
systemctl stop firewalld
至此,您的zabbix agent已经配置完毕。
三、Zabbix前端界面
访问Zabbix前端:
UserName:Admin
Password:zabbix
3.1添加监控主机
如上图所示,ZBX状态显示绿色则表明zabbix-server能正常监控到zabbix-agent主机上的相关数据。
3.2查看监控效果
如上图所示,ZBX状态显示绿色则表明zabbix-server能正常监控到zabbix-agent主机上的相关数据。