1. 程式人生 > 實用技巧 >01-zabbix服務說明

01-zabbix服務說明

1. zabbix簡介

zabbix是一個基於WEB介面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案

2. 為什麼需要監控?

  1. 對系統不間斷實時監,實現報警通知 郵件/微信/簡訊/電話

    2. 實時反饋系統當前狀態
    3. 保證服務可靠性安全性
    4. 保證業務持續穩定執行
    

3. 監控項

1.硬體監控 路由器、交換機、防火牆
2.系統監控 CPU、記憶體、磁碟、網路、程序、 TCP狀態
3.服務監控 nginx、 php、 tomcat、 redis、 memcache、 mysql
4.WEB 監控 請求時間、響應時間、載入時間、
5.日誌監控 ELk(收集、儲存、分析、展示) 日誌易
6.安全監控 Firewalld、 WAF(Nginx+lua)、安全寶、牛盾雲、安全狗
7.網路監控 smokeping 多機房
8.業務監控 活動引入多少流量、產生多少註冊量、帶來多大價值

4. 常用監控命令

4-1 CUP監控命令

  • w : 顯示系統中正在登陸的使用者資訊的命令,這個命令檢視的痕跡日誌是/var/run/utmp
  • top: 實時顯示 process 的動態。
  • htop: 實時顯示 process 的動態。

4-2 記憶體監控

  • free

4-3 磁碟監控命令

  • df: 檢視磁碟使用情況
  • iotop:檢視磁碟IO使用情況

4-4 網路監控命令

ifconfig、 route、 glances、 iftop、 nethogs、 netstat

5. 使用指令碼監控

需求: 每隔 1 分鐘監控一次記憶體,當可用記憶體低於 200M,發郵件報警,要求顯示剩餘記憶體

  • 1.編寫檢查記憶體指令碼
![12-zabbix架構](E:\LinuxStudy\Linux筆記\Linux服務筆記\img\12-zabbix架構.png)#!/bin/sh
# Author: Zachariah
# Function: Check memory and alarm

Host=$(hostname)_$(hostname -I |awk '{print $1}')
Date=$(date +%F-%T)
[email protected]
[email protected]
memory=$(free |awk 'NR==2{print $NF}')
CurrentFree=$((${memory} / 1000))MB

Title="記憶體不足,請及時處理!"

if [ ${memory} -le 500000 ];then
  printf "時間:${Date}\n主機:${Host}\n報警值:500MB\n當前記憶體:${CurrentFree}\n" | mail -s ${Title} ${MailAddr1}
  printf "時間:${Date}\n主機:${Host}\n報警值:500MB\n當前記憶體:${CurrentFree}\n" | mail -s ${Title} ${MailAddr2}
fi

  • 2.編寫定時任務
[root@web03 scripts]$ crontab -e

# Memory is checked every 10 minutes
*/10 * * * * /usr/bin/sh /server/scripts/check_mem.sh

6. zabbix架構

zabbix-agent(資料採集)—>zabbix-server(資料分析|報警)—> 資料庫(資料儲存)<—zabbix web(資料展示)