Zabbix每天流量統計腳本


這是一份Zabbix服務器每天流量統計腳本,他有如下動作:
1.首先從mysql下邊查詢,並保存一個.csv文件。
2.將.csv文件加上時間戳。
3.發帶有時間戳的csv文件到指定郵箱。 //當然,你要安裝一個發郵件
4.刪掉剛產生的csv文件。
traffic.sh
#!/bin/bash
mysql -hlocalhost -uroot -p33e9.com -B zabbix -e "select TIMESTAMPADD(day,-1,curdate()), switchname, traffic_name, FORMAT(max(bps/1000000),2) as Mbps from (select gi.itemid, h.name
as switchname, g.name as traffic_name, s.name as traffic_inout, max(u.value) as bps, from_unixtime(u.clock) as traffic_time from graphs g  join graphs_items gi  on g.graphid = gi.gr
aphid join items s on gi.itemid = s.itemid join hosts h on h.hostid = s.hostid  join history_uint u  on s.itemid = u.itemid where g.graphid in (552,557,559,561,574,578,582,584,586,5
88,590,636,639,641,554,553,566,569,571,580,654)  and u.clock > UNIX_TIMESTAMP(TIMESTAMPADD(day,-1,curdate()))  and u.clock < UNIX_TIMESTAMP(curdate())  group by gi.itemid) t  group
by switchname, traffic_name into outfile '/var/lib/mysql-files/internet.csv' fields terminated by ','"
change_name.sh
#!/bin/bash mv /var/lib/mysql-files/internet.csv /tmp/internet`date -d "-1 days" +%F`.csv
send_traffic.sh   //要在/tmp目錄建一個mailcontent.txt文件。
#!/bin/bash
mutt -s "關於線上MSTP和Internet帶寬匯總`date -d "-1 days" +%F`" "好人一生平安<xxx@sina.cn>" -a /tmp/internet`date -d "-1 days" +%F`.csv </tmp/mailcontent.txt
rm_traffic.sh
#!/bin/bash
rm -rf /tmp/internet*.csv
crontab -e    //最后建個任務列表就完事啦。
0 8 * * *         /tmp/traffic.sh
8 8 * * *         /tmp/change_name.sh
10 8 * * *        /tmp/send_traffic.sh
15 8 * * *        /tmp/rm_traffic.sh
yum install mutt msmtp -y         //安裝發送郵件軟件。
whereis msmtp 
touch /var/log/mmlog
vi /root/.msmtprc
account default
host smtp.sina.cn
port 25
from username@sina.cn
auth login
tls off
user username@sina.cn
password 2wsxzaq1
logfile /var/log/mmlog
wq!
chmod 600 /root/.msmtprc

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM