企業級全網服務監控

需求:公司有100臺服務器,部署了zabbix後,須要使用zabbix將其所有監控mysql

規劃:nginx

  一、監控各類服務引用web

  二、監控經常使用端口sql

  三、監控網絡帶寬數據庫

  四、監控基礎設置環境apache

  五、自定義監控vim

具體方案實施

硬件、系統、網絡監控

  全部集羣節點(全部虛擬機)都監控上瀏覽器

  交換機,路由器監控(簡單方法:換成端口對應服務器網卡流量監控;標準方法:監控交換機的網卡)服務器

  snmp監控網絡

應用服務監控

一、監控備份服務器

簡單方法是監控rsync端口

    方法1:監控873端口net.tcp.port[,873]
    方法2:模擬推送拉取文件

瀏覽器操做

監控進程數量

proc.num[<name>,<user>,<state>,<cmdline>]

name 進程名

user 進程用戶

state 進程狀態

cmdline 命令行參數

[root@m02 ~]# zabbix_get -s 172.16.1.62 -p 10050 -k 'proc.num[httpd]'
11
[root@m02 ~]# zabbix_get -s 172.16.1.62 -p 10050 -k 'proc.num[,apache]'
10

二、監控NFS服務器

使用監控NFS進程來判斷NFS服務器正常

    方法1:端口(經過111的rpc端口獲取nfs端口) net.tcp.port[,111]
    方法2:showmount -e ip|wc -l
方法1:

命令行測試

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'net.tcp.port[,111]'
0

web操做

方法2:

監控是否有可掛載信息   showmount -e ip|wc -l

首先編輯配置文件

[root@cache01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nfs.conf
UserParameter=nfs,showmount -e ip|wc -l

zabbix服務端命令測試

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'nfs'
0

而後在網頁操做

三、監控MySQL服務器

    方法1:端口(經過3306的mysql端口) net.tcp.port[,3306]
    方法2:mysql遠程登陸
    方法3:使用zabbix agent自帶的模板及key

簡單方法監控mysql的3306端口,或者使用zabbix提供的Mysql模板

監控端口(經過3306的mysql端口) net.tcp.port[,3306]

使用zabbix agent自帶的模板及key

注意:mysql數據庫若是設置了密碼要在配置文件中指定密碼纔可以使用

 

四、監控web服務器

監控端口(經過80的web端口) net.tcp.port[,80]

 

看網頁狀態碼、返回內容(zabbix自帶WEB檢測)

五、監控URL地址

 

六、監控Nginx的7種鏈接狀態

 nginx添加顯示狀態的配置信息
vim /etc/nginx/nginx.conf
……
    location /status {
           stub_status on;
           access_log off;
        }
……
編寫配置文件
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf
UserParameter=nginx_active,curl -s  127.0.0.1/status|awk '/Active/ {print $NF}'
UserParameter=nginx_accepts,curl -s  127.0.0.1/status|awk 'NR==3 {print $1}'
UserParameter=nginx_handled,curl -s  127.0.0.1/status|awk 'NR==3 {print $2}'
UserParameter=nginx_requests,curl -s  127.0.0.1/status|awk 'NR==3 {print $3}'
UserParameter=nginx_reading,curl -s  127.0.0.1/status|awk 'NR==4 {print $2}'
UserParameter=nginx_writing,curl -s  127.0.0.1/status|awk 'NR==4 {print $4}'
UserParameter=nginx_waiting,curl -s  127.0.0.1/status|awk 'NR==4 {print $6}'

七、監控服務通用方法

1. 監控端口 netstat、ss、lsof  ==》 wc -l

2. 監控進程 ps -ef|grep 進程|wc -l  試運行一下

3. 模擬客戶端的使用方式監控服務端

      web  ==》 curl

      mysql ==》 select insert

      memcache ==》 set再get

相關文章
相關標籤/搜索