shell脚本抓取各home存储的空间使用率及文件数使用率,写道excel文件里,再写到mysql里,最后通过grafana面板展示
vi aa.sh
#!/bin/bash
Date=date +"%Y-%m-%d %H:%M:%S"
Dir=/logs/Homes
Home1=df -h /home1 | tail -n 1 | awk -F[:" "]+ '{print $5}' | tr -d "%"
Homei1=df -i /home1 | tail -n 1 | awk -F[:" "]+ '{print $5}'| tr -d "%"
Home2=df -h /home2 | tail -n 1 | awk -F[:" "]+ '{print $5}' | tr -d "%"
Homei2=df -i /home2 | tail -n 1 | awk -F[:" "]+ '{print $5}' | tr -d "%"
/bin/echo "$Date,home1,$Home1,$Homei1" > $Dir/Homeavg.txt
/bin/echo "$Date,home2,$Home2,$Homei2" >> $Dir/Homeavg.txt
/bin/cat $Dir/Homeavg.txt | tr -s '[:blank:]' > $Dir/Homeavg.csv
/usr/bin/mysql -h 10.0.0.2 -u icinga2 -p'xxxxxx' --local-infile=1 jenkins_log2 -e "LOAD DATA LOCAL INFILE '/logs/Homes/Homeavg.csv' INTO TABLE homesavg FIELDS TERMINATED BY ','"
:wq
mysql -u root -p'xxx'
create database ming default character set utf8; create table homesavg(time datetime,home char(50),homeavg float,homeiavg float); grant all on ming.* to aa@'localhost' identified by 'xxxx'; exit
grafana配mysql略
查询空间使用率:
select UNIX_TIMESTAMP(Time) as time, homeavg as "home1" from homesavg where home="home1";
查询文件数使用率:
select UNIX_TIMESTAMP(Time) as time, homeiavg as "home1" from homesavg where home="home1";