一、监控概述 1.1、为什么要监控
监控是整个运维乃至整个产品生命周期中重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。
对系统不间断实时监控
实时反馈系统当前状态
保证服务可靠性安全性
保证业务持续稳定运⾏
1.2、如何进行监控 # ⽐如我们需要监控磁盘的使⽤率 1.如何查看磁盘使⽤率 df -h 2.监控磁盘的那些指标 block、inode 3.如何获取具体的信息 df -h|awk \'/\/$/{print $(NF-1)}\' 4.获取的数值到达多少报警 80% 1.3、流⾏的监控⼯具 1.cacti、Nagios、Zabbix、 2.Lepus(天兔)数据库监控系统 3.Open-Falcon ⼩⽶ 4.Prometheus(普罗⽶修斯,Docker、K8s) 1.4、如何入手监控 1.硬件监控 路由器、交换机、防⽕墙、服务器 2.系统监控 Windows/Linux CPU、内存、磁盘、⽹络、进程、TCP 3.服务监控 nginx、php、tomcat、redis、memcache、mysql 4.WEB监控 请求时间、响应时间、加载时间、 5.⽇志监控 ELk(收集、存储、分析、展示) ⽇志易、阿里云日志系统 6.安全监控 Firewalld(限制来源的ip)、WAF(Nginx+lua)、安全宝、⽜盾云、安全狗 7.⽹络监控 smokeping 多机房、监控宝、全国各地实时延迟 8.业务监控 活动引⼊多少流量、产⽣多少注册量、带来多⼤价值 1.5、Linux常用监控命令 1.5.1、CPU监控命令 w、top、htop、glances # 安装 yum install epel* -y yum install glances htop -y 1.5.2、内存监控命令 free -m 1.5.3、磁盘监控命令 df iotop iostat # 安装 yum install iotop sysstat -y 1.5.4、网络监控命令 ifconfig、route、glances、iftop、nethogs、netstat # 安装 yum install -y netstat iftop 中间的<= =>这两个左右箭头,表示的是流量的⽅向。 TX:发送流量、RX:接收流量、TOTAL:总流量 # 查看TCP11中状态 netstat -an|grep ESTABLISHED netstat -rn #查看路由信息 netstat -lntup 1.6、Shell脚本进行简单监控需求: 每隔1分钟监控⼀次内存,当你的可⽤内存低于100m,发邮件报警,要求显示剩余内存
1.怎么获取内存可⽤的值 free -m|awk \'/^Mem/{print $NF}\'
2.获取到内存可⽤的值如何和设定的阈值进⾏⽐较
3.⽐较如果⼤于100m则不处理,如果⼩于100则报警
4.如何每隔1分钟执⾏⼀次
[root@zabbix-server ~]# cat free.sh #!/usr/bin/bash HostName=$(hostname)_$(hostname -i) Date=$(date +%F) while true;do Free=$(free -m|awk \'/^Mem/{print $NF}\') if [ $Free -le 100 ];then echo "$Date: $HostName Mem Is < ${Free}MB" fi sleep 5 done 二、Zabbix概述及安装 2.1、Zabbix概述 2.2、Zabbix基础架构 2.3、Zabbix Server安装zabbix安装步骤:https://www.zabbix.com/download
1)配置zabbix仓库
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm [root@zabbix-server ~]# yum clean all2)安装Zabbix server 和 agent
[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-agent -y