zabbix监控
为什么要学习监控
1.及时定位问题无需人为干预,大大减少人力成本
2.通过技术角度,实现实时监控业务,当出现问题及时定位并告警到相关管理人员
3.记录并以图形化的方式展示出来,方便管理人员进行系统运行性能评估
4.出现故障,针对某一个性能指标,自动化执行一个指定操作
作用:
1.当出现一些突发情况,及时响应
2.及时捕捉证据,追溯相关问题
监控系统性能指标的命令
CPU性能
top
load average: 0.00, 0.01, 0.03
平均负载: 1分钟,5分钟, 15分钟
负载:平均时间内 cpu处理任务的数量
与核心数量相匹配,
htop #安装 yum install htop -y(支持鼠标点点的操作)
uptime
w
vmstat(进程,内存,交换分区,IO,系统,cpu)
内存
free -h 以单位显示
磁盘
iotop 当前磁盘的IO情况 #需安状 yum install iotop
df
网络/进程
iftop 当前网络吞吐量
nethogs(以服务为单位展现流量情况)
ps ps -ef
pstree 系统进程的命令
硬件层面
cat /etc/redhat-release 查看系统
企业常见监控工具
业务监控:
cacti:擅长出图,添加监控项很繁琐.
nagios:可以添加监控项,但是不可以图形化。
ganglia:分布式集群监控系统,适合于对上千台大型规模集群进行监控,性能成本比较低,批量管理更加方便。(俗称:肛裂监控)不可以发送告警。
zabbix:擅长出图,可以添加监控项,可以发送告警等
在某一块比较擅长的监控:
promethus:适合于监控k8s
ELK:日志监控
zabbix相关介绍
Zabbix是由Alexei Vladishev创建,目前是由Zabbix SIA在持续开发和提供支持。zabbix是一种企业级的分布式开源监控解决方案。
Zabbix是一款能够监控众多网络参数和服务器的健康度和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的警报。这样可以快速相应服务器问题。Zabbix基于存储的数据提供出色的报告和数据可视化。这些功能使得zabbix成为容量规划的理想选择。
Zabbix支持轮询和被动捕获。所有的Zabbix报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面确保您的网络状态和服务器健康状况可以从任何地方进行评估。在经过适当的配置后,Zabbix可以在监控IⅠ基础设施方面发挥重要作用。无论是对于拥有少量服务器的小型组织,还是拥有大量服务器的大型公司而言,同样适用。
Zabbix是免费的。Zabbix是根据GPL通用公共许可证的第二版编写和分发的。这意味着它的源代码是免费分发的,并且可供公共使用。
zabbix版本发布及选择
1.6==》》2.0==》》3.0==》》4.0==》》5.0
LTS:线性发布版,稳定持续维护版本
标准版:类似小白鼠,不提供持续维护的
zabbix5的版本具备哪些新特性组件版本要求:
mysql >5.5 php >7.2
官方手册地址:
https://www.zabbix.com/documentation/5.0/zh/manual/introduction/whatsnew500
zabbix5的版本具备的新特性
1.增加了监控项预测试功能
2.自动发现规则进行重新定义与延伸,支持过滤监控、触发器、主机
3.监控项取值: 256上调到2048
4.MD5指纹加密 改进为bcrypt技术
5.不再支持ES(7以前的版本)
6.全面支持zabbix-agent2
zabbix监控服务架构模型
snmp: zabbix监控网络性能所依赖协议。
IPMI:用于监控物理硬件性能指标,可以获取物理设备的温度、CPU转速。
JMX:监控java项目所使用的出口。|
安装部署zabbix监控架构
部署环境:
系统:Centos7
web应用:Nginx
php > 7.2
数据库:mariadb
安装部署服务端
##获取Zabbix安装源
[root@server ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#安装服务端与客户端
[root@server yum.repos.d]#yum install zabbix-server-mysql zabbix-agent
#配置前端源,并安装(依赖)
[root@server yum.repos.d]# yum install centos-release-scl -y
#修改源
[root@server yum.repos.d]# vim /etc/yum.repos.d/zabbix.repo
#安装前端包
[root@server yum.repos.d]#yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
#安装数据库启动
[root@server yum.repos.d]# yum install mariadb-server -y
[root@server yum.repos.d]# systemctl start mariadb.service
[root@server yum.repos.d]# netstat -antp | grep 3306
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by '123'; #给用户授权并设置密码
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
导入初始化数据
[root@server ~]# zcat /usr/share/doc/zabbix-server-mysql-5.0.14/create.sql.gz > zabbix.sql
[root@server ~]# vim zabbix.sql #添加库
[root@server ~]# mysql < zabbix.sql #导入数据库
配置服务端环境
配置zabbix_server连接数据库
[root@server ~]# vim /etc/zabbix/zabbix_server.conf
配置php
[root@server rh-php72]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[root@server conf.d]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
配置nginx
nginx 监听80端口注释
启动服务
[root@server nginx]# systemctl start zabbix-server.service rh-php72-php-fpm.service rh-nginx116-nginx.service
在浏览器访问当前部署的机子的ip地址即可开始网页安装部署zabbix
改中文