部署服务端
powershell
1.安装源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.修改源 修改为阿里云
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
3.清除旧的yum缓存
yum clean all
4.安装zabbix服务端
zabbix-server-mysql zabbix-agent -y
5.安装software collections (scl) 可以让在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包 软件包会安装在 /opt/rh目录下
yum install cntos-release-scl -y
6.修改zabbix-front前端源 修改/etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1 #将这个值修改为1 开启
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
7.安装zabbix前端环境,且是安装到scl环境下(安装后会安装到/opt/rh 目录)
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
8.安装zabbix所需要的数据库
yum install mariadb-server -y
9.配置数据库开机启动
systemctl enable --now mariadb
10.初始化数据库,设置密码
systemctl start mariadb //启动mariadb数据库
mysql_secure_installation
Enter current password for root (enter for none): //请输入当前用户密码,默认空所以回车
Set root password? [Y/n] //设置root密码
Remove anonymous users? [Y/n] //是否移除匿名用户 选择是
Disallow root login remotely? [Y/n] //禁止root远程登录
Remove test database and access to it? [Y/n] //是否移除默认测试数据库
11.添加数据库,以及添加zabbix所需数据库
create database zabbix character set utf8 collate utf8_bin; //创建zabbix数据库,设置字符为utf8
create user zabbix@localhost identified by 'zabbix'; //创建zabbix用户 密码也是zabbix
grant all privileges on zabbix.* to zabbix@localhost; //给zabbix用户授权
flush privileges; //刷新授权表
12.使用zabbix-mysql命令,导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -u zabbix -p zabbix //将本地的zabbix创建sql 导入到mysql zabbix库中
13.修改zabbix配置文件中的数据库密码
vim /etc/zabbix/zabbix_server.conf
14.修改zabbix的php配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai //将时区修改为上海
15.启动zabbix相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
16.访问zabbix入口
访问 ip/zabbix
17.安装成功后,默认账号密码
账号:Admin 密码:zabbix
部署客户端
powershell
1.确保服务器时间争取
yum install ntpdate -y //安装插件
ntpdate -u ntp.aliyun.com //更新时间
2.时区的统一配置
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
具体的zabbix-agent2部署流程
powershell
1.提前配置好zabbix的yum源
2.安装zabbix-agent2
yum install zabbix-agent2 -y
3.启动zabbix-agent客户端
systemctl enable --now zabbix-agent2
4.修改agent2配置文件(/etc/zabbix/zabbix_agent2.conf)
Server 修改为服务端地址
ServerActive 修改为服务端地址
5.重启zabbix-agent2
验证zabbix-agenet2的连通性
powershell
1.在服务端上用过命令主动获取数据
yum install zabbix-get -y //安装主动获取数据的插件
zabbix_get -s '192.168.23.130' -p 10050 -k 'agent.ping' //测试连通性
zabbix_get -s '192.168.23.130' -p 10050 -k 'agent.hostname' //获取客户端主机名
解决zabbix-server查看的乱码问题
powershell
1.在服务端安装字体
yum install wqy-microhei-fonts -y //安装字体
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf //复制字体
自定义监控内容
powershell
1.在客户端手动创建zabbix配置文件,用于自定义key
/etc/zabbix/zabbix_agent2.d/ //进入zabbix的扩展目录
vim userParameter_login.conf //创建一个配置文件
UserParameter=login.user,who | wc -l //编辑文件增加一个查看当前登录用户数的命令
systemctl restart zabbix-agent2 //重启zabbix-agent
2.在服务端通过命令,来获取数据
zabbix_get -s '192.168.**.**' -p 10050 -k 'login.user'
在页面添加zabbix-server的自定义监控项模板
powershell
1.创建模板
2.创建应用集(好比是一个文件夹,里面放一堆监控项)
3.创建监控项,自定义item
4.创建触发器(当监控项获取到值得时候,进行和触发器比较、判断是否正常,决定是否报警)
5.创建图形
6.将具体的主机和该模板连接关联
邮件报警
通过管理 报警媒介类型 ----》 用户设置 添加报警媒介来触发
全网监控方案
powershell
1.克隆监控模板
2.自动注册和自动发现
自动发现:
zabbix server主动去发现所有的客户端,然后将客户端的信息登记在服务端的机器上
缺点:zabbix-server压力会比较大 耗时较久
自动注册:
zabbix agent2主动上报自己的信息,发给zabbix-server
缺点:agent2可能找不到server(配置文件写错了,网络不通)
自动发现配置:需要将客户端正确配置 ---》 zabbix页面 ---》 配置 ---》 自动发现 ---》 配置合适的发现规则 ---》动作 ---》 配置合适的动作
自动注册配置:修改客户端配置文件 ---》 打开HostnameItem 配置 ---》 重启zabbix-agent2(systemctl restart zabbix-agent2) ---> 服务端动作 自动注册
3.使用zabbix的api接口,利用curl语言或者开发自己的编程脚本
应用服务监控
powershell
监控mysql数据库是否正常
通过端口 net.tcp.port[,3306]
分布式监控
powershell
作用
分担server的集中压力
agent > proxy > server
多机房之间的网络延时问题
搭建
proxy(代理)
1.配置zabbix的yum源,修改源地址
2.安装proxy,以及数据库
yum install zabbix-proxy-mysql zabbix-get -y
yum install mariadb-server mariadb -y
3.启动数据库,配置数据库用户,存储zabbix-agent2信息数据
systemctl start mariadb //启动数据库
create database zabbix_proxy character set utf8 collate utf8_bin; //创建zabbix数据库,设置字符为utf8
create user zabbix@localhost identified by 'zabbix'; //创建zabbix用户 密码也是zabbix
grant all privileges on zabbix_proxy.* to zabbix@localhost; //给zabbix用户授权
flush privileges; //刷新授权表
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.2/schema.sql.gz | mysql -u zabbix -p zabbix //将本地的zabbix创建sql 导入到mysql zabbix库中
4.修改zabbix-proxy配置文件,连接数据库的信息(可以vim修改文件 也可以使用命令更换)
sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Server=127.0.0.1#Server=10.211.55.10#' /etc/zabbix/zabbix_proxy.conf //10.211.55.10 替换为自己server的地址
sed -i 's#Hostname=Zabbix proxy#Hostname=zabbix-agent05#' //将主机名zabbix-agent05替换为自己的主机名
5.启动代理服务
systemctl restart zabbix-proxy
agent2(客户端)
将客户端server 和 serveractiv 指向代理服务器
server(服务端)
管理 ---> agent代理程序 ---> 添加 --->启用主机
配置 ---> 主机 ---> 将客户端添加 选择agent proxy 代理