elk 监控mysql_shell.监控日志.elk

# 监控CPU

```

#!/bin/bash

#

CPU_us=$(vmstat | awk '{print $13}' | sed -n '$p')

CPU_sy=$(vmstat | awk '{print $14}' | sed -n '$p')

CPU_id=$(vmstat | awk '{print $15}' | sed -n '$p')

CPU_wa=$(vmstat | awk '{print $16}' | sed -n '$p')

CPU_st=$(vmstat | awk '{print $17}' | sed -n '$p')

CPU1=`cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'`

sleep 5

CPU2=`cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'`

IDLE1=`echo $CPU1 | awk '{print $4}'`

IDLE2=`echo $CPU2 | awk '{print $4}'`

CPU1_TOTAL=`echo $CPU1 | awk '{print $1+$2+$3+$4+$5+$6+$7}'`

CPU2_TOTAL=`echo $CPU2 | awk '{print $1+$2+$3+$4+$5+$6+$7}'`

IDLE=`echo "$IDLE2-$IDLE1" | bc`

CPU_TOTAL=`echo "$CPU2_TOTAL-$CPU1_TOTAL" | bc`

#echo -e "IDLE2:$IDLE2\nIDLE1:$IDLE1\nCPU2:$CPU2_TOTAL\nCPU1:$CPU1_TOTAL"

#echo -e "IDLE:$IDLE\nCPU:$CPU_TOTAL"

RATE=`echo "scale=4;($CPU_TOTAL-$IDLE)/$CPU_TOTAL*100" | bc | awk '{printf "%.2f",$1}'`

echo -e "us=$CPU_us\tsy=$CPU_sy\tid=$CPU_id\twa=$CPU_wa\tst=$CPU_st"

echo "CPU_RATE:${RATE}%"

CPU_RATE=`echo $RATE | cut -d. -f1`

#echo "CPU_RATE:$CPU_RATE"

if [ $CPU_RATE -ge 80 ]

then echo "CPU Warn"

ps aux | grep -v USER | sort -rn -k3 | head

fi

```

# 监控磁盘

```

#!/bin/bash

#

DEV=`df -hP | grep '^/dev/*' | cut -d' ' -f1 | sort`

for I in $DEV

do dev=`df -Ph | grep $I | awk '{print $1}'`

size=`df -Ph | grep $I | awk '{print $2}'`

used=`df -Ph | grep $I | awk '{print $3}'`

free=`df -Ph | grep $I | awk '{print $4}'`

rate=`df -Ph | grep $I | awk '{print $5}'`

mount=`df -Ph | grep $I | awk '{print $6}'`

echo -e "$I:\tsize:$size\tused:$used\tfree:$free\trate:$rate\tmount:$mount"

F=`echo $rate | awk -F% '{print $1}'`

if [ $F -ge 80 ];then

echo "$mount Warn"

else

echo "It's OK"

fi

done

```

# 监控内存

```

#!/bin/bash

#

total=$(free -m | sed -n '2p' | awk '{print $2}')

used=$(free -m | sed -n '2p' | awk '{print $3}')

free=$(free -m | sed -n '2p' | awk '{print $4}')

shared=$(free -m | sed -n '2p' | awk '{print $5}')

buff=$(free -m | sed -n '2p' | awk '{print $6}')

cached=$(free -m | sed -n '2p' | awk '{print $7}')

rate=`echo "scale=2;$used/$total" | bc | awk -F. '{print $2}'`

echo -e "total\tused\tfree\tshared\tbuffer\tavailable"

echo -e "${total}M\t${used}M\t${free}M\t${shared}M\t${buff}M\t${cached}M\nrate:${rate}%"

if [ $rate -ge 80 ]

then echo "Memory Warn"

ps aux | grep -v USER | sort -rn -k4 | head

fi

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。该课程从ELK组件中的两大组件和常用的应用日志收集进行剖析讲解。(1)ElasticSearch:从单台的安装到集群的搭建、从基础的入门使用到高级的搜索和聚合都进行了较好的阐述。(2) Logstash:通过收集apache日志,使用grok插件和geoip插件先让学习人员对整体框架做到了了解于胸。然后再深入的对LogStash重要的知识点进行了剖析。(3)应用日志收集:对常见的Apache、Nginx、MySQL、Syslog进行日志收集和分析。虽说没有讲解太多,但是我想应该能做到让大家对应用日志收集了解的更加深入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值