部署服务端
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 - $basearchbaseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontendenabled=1 #将这个值修改为1 开启gpgcheck=1gpgkey=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_installationEnter 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数据库,设置字符为utf8create user zabbix@localhost identified by 'zabbix'; //创建zabbix用户 密码也是zabbixgrant 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.confphp_value[date.timezone] = Asia/Shanghai //将时区修改为上海
15.启动zabbix相关服务systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpmsystemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
16.访问zabbix入口访问 ip/zabbix
17.安装成功后,默认账号密码账号:Admin 密码:zabbix
部署客户端
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部署流程
1.提前配置好zabbix的yum源
2.安装zabbix-agent2yum install zabbix-agent2 -y
3.启动zabbix-agent客户端systemctl enable --now zabbix-agent2
4.修改agent2配置文件(/etc/zabbix/zabbix_agent2.conf)Server 修改为服务端地址ServerActive 修改为服务端地址
5.重启zabbix-agent2
zabbixagenet2_78">验证zabbix-agenet2的连通性
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' //获取客户端主机名
zabbixserver_86">解决zabbix-server查看的乱码问题
1.在服务端安装字体yum install wqy-microhei-fonts -y //安装字体\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf //复制字体
自定义监控内容
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'
zabbixserver_105">在页面添加zabbix-server的自定义监控项模板
1.创建模板
2.创建应用集(好比是一个文件夹,里面放一堆监控项)
3.创建监控项,自定义item
4.创建触发器(当监控项获取到值得时候,进行和触发器比较、判断是否正常,决定是否报警)
5.创建图形
6.将具体的主机和该模板连接关联
邮件报警
通过管理 报警媒介类型 ----》 用户设置 添加报警媒介来触发
全网监控方案
1.克隆监控模板
2.自动注册和自动发现自动发现:zabbix server主动去发现所有的客户端,然后将客户端的信息登记在服务端的机器上缺点:zabbix-server压力会比较大 耗时较久自动注册:zabbix agent2主动上报自己的信息,发给zabbix-server缺点:agent2可能找不到server(配置文件写错了,网络不通)自动发现配置:需要将客户端正确配置 ---》 zabbix页面 ---》 配置 ---》 自动发现 ---》 配置合适的发现规则 ---》动作 ---》 配置合适的动作自动注册配置:修改客户端配置文件 ---》 打开HostnameItem 配置 ---》 重启zabbix-agent2(systemctl restart zabbix-agent2) ---> 服务端动作 自动注册
3.使用zabbix的api接口,利用curl语言或者开发自己的编程脚本
应用服务监控
监控mysql数据库是否正常通过端口 net.tcp.port[,3306]
分布式监控
作用分担server的集中压力agent > proxy > server多机房之间的网络延时问题搭建proxy(代理)1.配置zabbix的yum源,修改源地址2.安装proxy,以及数据库yum install zabbix-proxy-mysql zabbix-get -yyum install mariadb-server mariadb -y3.启动数据库,配置数据库用户,存储zabbix-agent2信息数据systemctl start mariadb //启动数据库create database zabbix_proxy character set utf8 collate utf8_bin; //创建zabbix数据库,设置字符为utf8create user zabbix@localhost identified by 'zabbix'; //创建zabbix用户 密码也是zabbixgrant 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.confsed -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-proxyagent2(客户端)将客户端server 和 serveractiv 指向代理服务器server(服务端)管理 ---> agent代理程序 ---> 添加 --->启用主机配置 ---> 主机 ---> 将客户端添加 选择agent proxy 代理