目录
一、zabbix介绍
二、选择zabbix的优势
三、zabbix程序组件
四、zabbix的安装
1、准备一台新的机器,环境初始化
2、获取zabbix下载源
3、下载zabbix
4、安装zabbix前端环境
5、安装zabbix所需的数据库
6、配置数据库,开机启动
7、初始化数据库,设置密码
8、添加数据库用户以及zabbix所需的数据库信息
9、使用zabbix-mysql命令导入数据库信息
10、修改zabbix_server配置文件,修改数据库密码
11、修改zabbix的php配置文件
12、重启zabbix并设置为开机自启
13、登入zabbix前设置
14、登入zabbix
一、zabbix介绍
Zabbix是由Alexei Vladishev开发的一种网络监视、管理系统,基于Server-Client架构。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种Database-end如MySQL, PostgreSQL, SQLite, Oracle或IBM DB2储存资料。Server 端基于C语言、Web管理端frontend则是基于PHP所制作的。
Zabbix可以使用多种方式监视。可以只使用Simple Check不需要安装Client端,亦可基于SMTP或HTTP ..、各种协议定制监视。
在客户端如UNIX, Windows中安装Zabbix Agent之后,可监视CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装Agent在监视对象中,Zabbix 也可以经由SNMP、TCP、ICMP、利用IPMI、SSH、telnet 对目标进行监视。
Zabbbix自带的Item足够满足普通小公司的监控需求,对于大公司也可以设定自定义的Item,自动生成报表,也有API可以和其他系统集成。
二、选择zabbix的优势
zabbix就是可以满足理想化的监控系统需求
●支持自定义监控脚本,提供需要输出的值即可
●zabbix存储的数据库表结构稍有复杂但是逻辑清晰
●zabbix存在 模板的概念,可以方便的将-组监控项进行部署(比如说我们有多台zabbix服务端, 假如我们在机器a中定义了100个监控内容,我们在机器b中如果也要定义这么多监控内容不需要我们重新定义一次,只需要将机器a的监控模板导出发给机器b就可以)
●zabbix每一 个item也就是 监控项,都可以看到历史记录,且web界面友好
●zabbix有 强大的Trigger(触发器)定义规则,可以定义复杂的报警逻辑
●zabbix提供了ack报警确认机制
●zabbix支持邮件, 短信,微信等告警
●zabbix在 触发告警后,可以远程执行系统命令
●zabbix有 原生的PHP绘图模块
三、zabbix程序组件
●Zabbix_ server, 服务端守护进程
●Zabbix_ agentd, agent守护进程
●zabbix_ proxy, 代理服务器
●zabbix_ database, 存储系统,mysql, pgsq|
●Zabbix_ web, web GUI图形化界面
●Zabbix_ get, 命令行工具,测试向agent发起数据采集请求
●Zabbix_ sender, 命令行工具,测试向server发送数据
●Zabbix_ java_ gateway, java网关
四、zabbix的安装
zabbix官方下载:下载Zabbix
1、准备一台新的机器,环境初始化
zabbix机器内存应该足够大,4G就挺好。
了解设备名称并且取出其ip地址
关闭防火墙:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
selinux关闭,并且iptables三条链都允许数据开通
2、获取zabbix下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
在阿里云的开源镜像站进行zabbix5.0安装包的下载
下载完成之后,我们可以看到在我们的repo仓库中有一个zabbix文档
然后我们vim打开这个文档,发现其默认下载路径为zabbix官方,也就是外网,下载太慢
因此我们需要将zabbix.repo源改为阿里的,用sed命令进行文档内容替换
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix、repo
然后在此打开文件查看是否修改成功
然后修改zabbix-fronted前端源,将0改成1
然后yum clean all清空旧的yum缓存
3、下载zabbix
yum install zabbix-server-mysql zabbix-agent -y
安装工具,可以在机器上使用多个版本的软件,并且不会影响到整个系统的依赖环境。
yum install centos-release-scl -y
4、安装zabbix前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y(前提是安装过scl工具)
生成下面的目录中文件
5、安装zabbix所需的数据库
就用我们自带的mariadb
yum install mariadb-server -y
6、配置数据库,开机启动
systemctl enable --now mariadb
7、初始化数据库,设置密码
首先确保数据库已经开启
systemctl status mariadb
netstat -tunlp确保3306端口开启
输入命令开始初始化操作 mysql_secure_installation
然后会出现如下选项:
第一:输入你当前的root密码。#我们新安装的mysql,默认密码为空,因此我们直接回车
第二:是否设置root密码,Y/N?#我们输入Y,设置密码
第三:设置你的密码。
第四:再次输入你设置的密码。
第五:是否移除匿名用户?#我们选择Y,移除他。
第六:禁止root远程登录?#我们选N,方便试验。
第七:是否移除测试数据库并且执行?#我们选Y
第八:是否刷新授权表?#我们选Y
然后输入密码进入数据库: mysql -uroot -p
8、添加数据库用户以及zabbix所需的数据库信息
进入数据库
然后创建一个zabbix数据库,字符编码设置成为utf-8
create database zabbix character set utf8 collate utf_bin;
创建一个zabbix用户并设置密码
create user zabbix@localhost identified bu 'chaoge666';
对该用户进行授权
grant all privileges on zabbix.* to zabbix@localhost;
刷新授权表 flush privileges;
退出数据库。
9、使用zabbix-mysql命令导入数据库信息
首先查看该文件是否存在
ls /usr/share/doc/zabbix-server-mysql*/create.sql.gz
然后使用命令将该压缩文件导入数据库中
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
#mysql -u用户名 -p(密码) zabbix(这个zabbix不是密码,而是指定的zabbix这个库)
进入数据库查看是否导入成功
use zabbix
show tables;查看表是否成功
10、修改zabbix_server配置文件,修改数据库密码
进入zabbix_server的配置文件
文档中 /DBpassword找到需要修改的行
然后将空密码进行修改
使用grep命令进行检查是否修改成功
grep '^DBpa' /etc/zabbix/zabbix_server.conf
11、修改zabbix的php配置文件
进入配置文件中
在文档中找到 /timezone这一行,进行修改
将后面的地区改为上海,并且取消掉行前的注释
继续使用grep命令进行检查看是否修改成功
grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
12、重启zabbix并设置为开机自启
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
13、登入zabbix前设置
如果只在网页输入你的ip访问的是httpd的测试页面,应该在ip之后加入zabbix的后缀
如 10.211.55.10/zabbix
进去之后点击NEXT step下一步
下个页面会检测技术的request环境依赖是否正常
全绿切ok点击下一步
输入你登录数据库的密码之后点击下一步
再次点击下一步
继续下一步
点击完成
14、登入zabbix
进入这个页面后,默认的账号是Admin 密码是zabbix,注意A是大写
登入成功