监控对象
- 源代码: *.html *.jsp *.php *.py
- 数据库: MySQL,MariaDB,Oracle,SQL Server,DB2
- 应用软件:Nginx,Apache,PHP,Tomcat agent
- -------------------------------------------------------------------------------------------------------------------------------
- 集群: LVS,Keepalived,HAproxy,RHCS,F5
- 虚拟化层/云层: VMware,KVM,XEN agent
- 操作系统:Linux,Unix,Windows性能参数
- -------------------------------------------------------------------------------------------------------------------------------
- 硬件: 服务器,存储 IPMI
- 网络: 网络环境(路由器,交换机,防火墙,内网环境,外网环境) SNMP
监控收集信息方式
- 被动模式
- 监控对象上报故障
- 优点:占用网络资源少,占用存储资源少
- 缺点:及时性差
- 监控对象上报故障
- 主动模式
- 定时查看业务状态
- 优点:及时性好
- 缺点:占用资源
- 定时查看业务状态
Zabbix 部署
-
Zabbix 部署
-
zabbix-server(192.168.145.15)
-
官网
- https://www.zabbix.com/
- 5.0中文手册
- https://www.zabbix.com/documentation/5.0/zh/manual
-
环境
- IP 主机名 角色
- 192.168.145.15 zabbix_server 监控服务器 4G
- 192.168.145.126 web1 业务主机 2G
-
安装 Zabbix
-
0.整理yum源(192.168.145.15)
-
-
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
-
1.设置主机名(192.168.145.15)
- hostnamectl set-hostname zabbix_server
- su
- 防火墙
- systemctl stop firewalld.service
- systemctl disable firewalld.service
- selinux
- setenforce 0
- 永久关闭
-
2.准备Zabbix-repo
-
官网镜像(略)
- rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
-
国外镜像不可用时,可以使用阿里提供的zabbixYUM源。
- [root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
-
[zabbix]
name=alibaba zabbix
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/
gpgcheck=0
enabled=1
[zabbix2]
name=alibaba zabbix frontend
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/
gpgcheck=0
enabled=1
-
-
3.安装Zabbix服务器
-
yum -y install zabbix-server-mysql zabbix-agent
- zabbix-server-mysql:数据库
- zabbi-agent:代理程序(上报信息的程序)
-
yum install centos-release-scl
- centos发布scl
- SCL 是一种包管理机制,允许你在 Red Hat 系列 Linux 系统上同时使用系统默认的软件版本和额外安装的多个版本。例如,你可以同时使用系统自带的 PHP 5.4 和通过 SCL 安装的 PHP 7.4。
-
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
- zabbix前台页面
-
centos使用scl切换软件版本时提示Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 问题原因 CentOS7的SCL源在2024年6月30日停止维护了。 当scl源里面默认使用了centos官方的地址,无法连接,需要替换为阿里云。 解决办法 1、 重命名原来的文件: cd /etc/yum.repos.d/ mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak mv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak vim CentOS-SCLo-scl-rh.repo 粘贴以下内容: [centos-sclo-rh] name=CentOS-7 - SCLo rh baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
-
-
-
Creating initial database
-
监控的时候,会产生很多的数据,数据需要保存在数据库中,所以我们此处开始创建数据库
-
1.安装数据库
- yum -y install mariadb mariadb-server
-
2.启动数据库
-
systemctl enable mariadb
-
-
systemctl start mariadb
-
3.授权zabbix账号
- # mysql
- mysql> create database zabbix character set utf8 collate utf8_bin;
- mysql> create user zabbix@localhost identified by ‘ChenFuguo@123’;
- mysql> grant all privileges on zabbix.* to zabbix@localhost;
-
mysql> flush privileges;
-
mysql> quit;
-
4.初始化zabbix
-
注意
-
版本号的问题
-
[root@zabbix-server ~]# ls /usr/share/doc/zabbix-server-mysql-5.0.42/
AUTHORS ChangeLog COPYING create.sql.gz double.sql NEWS README create.sql.gz 是zabbix官方给我们生成的是zabbix数据库建表文件
-
-
zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -uzabbix -p’ChenFuguo@123’ zabbix
-
把create.sql.gz这个sql文件,导入到zabbix数据库
-
-
-
Starting Zabbix server process
- 配置sql账号密码
- vim /etc/zabbix/zabbix_server.conf
- 配置sql账号密码
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=LIxinyi@123
-
这里是刚刚授权的密码。
-
重新确认安装zabbix
-
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
- 启动zabbix
- systemctl enable zabbix-server.service
- systemctl start zabbix-server.service
-
Editing PHP configuration for Zabbix frontend
- vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
- php_value date.timezone Asia/Shanghai
- 默认值,只需要配置时区。
-
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
-
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
-
http://zabbix-server-ip/zabbix
-
http://192.168.145.15/zabbix
- 欢迎页面
- 显示Zabbix安装向导
-
php检测
-
数据库信息1
-
数据库信息2(报错提示)
-
服务器命名
-
汇总
-
恭喜你
登录 -
用户名: Admin
-
密码: zabbix
-
左下角用户图标,更换语言
zabbix-agent(192.168.145.126) -
设置主机名
- hostname web1
- 防火墙
- systemctl stop firewalld.service
- systemctl disable firewalld.service
- selinux
- setenforce 0
-
准备zabbix-repo
-
vim /etc/yum.repos.d/zabbix.repo
-
[zabbix] name=alibaba zabbix baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/ gpgcheck=0 enabled=1 [zabbix2] name=alibaba zabbix frontend baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/ gpgcheck=0 enabled=1
-
-
-
安装zabbix-agent
- yum -y install zabbix-agent
-
配置主服务器地址
-
vim /etc/zabbix/zabbix_agentd.conf
-
Server=192.168.145.15,192.168.100.11 被动模式 zabbix-server-ip
-
ServerActive=192.168.145.15,192.168.100.11 主动模式 zabbix-server-ip
(谁从我这里采集数据。)
-
Hostname=web1
-
-
-
启动zabbix-agent:10050
-
systemctl start zabbix-agent
-
systemctl enable zabbix-agent
-
-
ss -anlp |grep :10050
-
-
-
- 服务器是10051
-
-
命令行测试(了解 )
- zabbix_get (命令行监控)(在服务器上:192.168.145.15
) - zabbix_get 是 Zabbix 监控系统中的一个命令行工具,用于从 Zabbix 服务器或代理获取被监控主机的数据
- 通过zabbix_get 收集客户端数据<key>
- 5.0zabbix并没有默认安装zabbix-get
- yum install -y zabbix-get
- zabbix-server:
- zabbix默认key
- zabbix_get -s 192.168.145.126 -k system.uname
- 获取目标服务器的系统名称
- zabbix_get -s 192.168.145.126 -k system.cpu.load[all,avg15]
- 获取过去15分钟的cpu平均负载
- zabbix_get -s 192.168.145.126 -k net.tcp.service[http]
- 获取目标主机上 HTTP 服务的状态。如果返回结果为
1
,说明 HTTP 服务运行正常;如果返回结果为0
,说明 HTTP 服务不可用。 - 0假
- 1真
- 获取目标主机上 HTTP 服务的状态。如果返回结果为
- zabbix_get -s 192.168.145.126 -k net.tcp.service[ftp]
- zabbix_get -s 192.168.145.126 -k system.uname
- 自定义的key
- 自定义的key,例如针对TCP连接、MySQL增删改查…
- zabbix_get -s 192.168.145.126 -k mem.free
- ZBX_NOTSUPPORTED: Unsupported item key.
- zabbix_get -s 192.168.145.126 -k memory.free
- ZBX_NOTSUPPORTED: Unsupported item key.
- zabbix默认key
- 通过zabbix_get 收集客户端数据<key>
- zabbix_get (命令行监控)(在服务器上:192.168.145.15
-
Apache监控示例(图形监控)
-
创建主机组 (zabbix-server-192.168.100.10)
- 配置->主机群组->创建主机群组
- 配置->主机群组->创建主机群组
-
创建主机(zabbix-server-192.168.145.15)
-
现在只知道要监视的主机,但不知道要监视什么,执行哪些监视
-
点击更新后,可以看到我们选择的模块
-
因为目标服务器192.168.145.126并没有安装http服务,所以检测不到
-
解决这个问题,去目标服务器安装(192.168.145.126)
-
yum install nginx -y
-
systemctl start nginx
-
systemctl enable nginx
-
-
再去仪表盘观察(一般需要一分钟左右)
-
创建图形(zabbix-server-192.168.145.15)
-
把收集到的数据按照时间轴进行排序
- 配置\主机\web1\图形
- 配置\主机\web1\图形
-
创建图形
-
查看是否添加成功
-
检测 \ 最新数据 \