監視,控制php
教室: 監控學員的學生情況
超市: 防偷
馬路: 事故(過後追溯)
監控: 本質上是 行爲前端
系統爲何要作監控:
監控是整個運維乃至整個產品生命週期中最重要的一環.
事前及時預警發現故障,過後提供詳實的數據用於追查定位問題/。mysql
1.提取內存的指標
2.判斷比對 ,與管理人員設定的閾值
3.大於百分之20, 則忽略
4.小於百分之20, 則觸發警告ios
cacti 用於監控網絡設備 交換機 路由器 防火牆 流量爲主
Nagios 用於監控系統
Zabbix 用於監控系統 web界面 分佈式 報警 自帶模板
open-falcon 小米公司
Prometheus+grafana
nginx
1..硬件監控 ( 交換機 路由器 防火牆 服務器 ) DELL IRDAC ipmi 2.系統監控 ( CPu 內存 磁盤 IO ) 3.服務監控 ( nginx php mysql tomcat ....... ) 4.日誌監控 ( ELK 架構 ) 5.web監控 ( 請求延時 響應延時 加載時間 ..... pv uv ip ) 6.業務監控 新增用戶 流量 購買量 7.分佈式監控 多機房監控 proxy 8.自動化監控 自動的添加主機進行監控
命令監控web
監控: cpu: top htop 內存: free -m 大量消耗內存會佔用swap,若是沒有swap 則會觸發oom 磁盤: df -h 空間 iotop 網絡: ifconfig route iftop nethogs nethogs -v 3 glances
shell腳本 + crond 定時任務 (監控當前系統用戶登陸的數量 超過4 則報警)sql
for ip in {7..9} do users=$(ssh root@172.16.1.$ip "who|wc -l") if [ $user -ge 3 ];then echo "報警通知 172.16.1.$ip" fi done
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql httpd mariadb-server -y
systemctl start mariadb systemctl enable mariadb mysql -uroot -e "create database zabbix character set utf8 collate utf8_bin;" mysql -uroot -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uroot zabbix
[root@zabbix-server ~]# grep '^D' /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
systemctl enable zabbix-server systemctl start zabbix-server
vim /etc/httpd/conf.d/zabbix.conf。 ..... php_value date.timezone Asia/Shanghai .... systemctl restart httpd
1.根據提示填寫信息便可 2.默認的用戶名和密碼是 username: Admin password: zabbix
1.修改密碼
2.將zabbix修改成中文shell
1.須要安裝zabb-agent
2.agent版本要求
平級zabbix-server
低於zabbix-server數據庫
3.安裝zabbix-agent (沒有依賴)vim
rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.14-1.el7.x86_64.rpm
4.配置zabbix-agent,容許172.16.1.71 可以採集172.16.1.7本地的數據
[root@web01 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=172.16.1.71 Include=/etc/zabbix/zabbix_agentd.d/*.conf
5.啓動zabbix-agent
systemctl enable zabbix-agent systemctl start zabbix-agent systemctl restart zabbix-agent
6.登陸zabbix-server web界面
1.配置-->主機-->添加主機 2.模板-->關聯-->Template Linux OS
rpm -ql zabbix-web | grep fonts /usr/share/zabbix/assets/fonts cd /usr/share/fonts/dejavu mv DejaVuSans.ttf DejaVuSans_bak.ttf mv msyh.ttf DejaVuSans.tt
rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.14-1.el7.x86_64.rpm systemctl start zabbix-agent systemctl enable zabbix-agen
zabbix-agent zabbix-server mariadb zabbix-web
LAMP架構 LAP+MySQL 172.16.1.71 zabbix-server zabbix-web 172.16.1.51 數據庫
1.安裝數據庫
yum install mariadb-server -y systemctl enable mariadb systemctl start mariadb
2.建立zabbix庫,配置遠程受權用戶
create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
3.在172.16.1.71上進行以下操做
[root@zabbix-server ~]# mysqldump -B zabbix >zabbix.sql [root@zabbix-server ~]# cat zabbix.sql | mysql -h 172.16.1.51 -uzabbix -pzabbix zabbix
4.修改zabbix-server配置的指向
[root@zabbix-server ~]# cat /etc/zabbix/zabbix_server.conf #DBHost=localhost DBHost=172.16.1.51 [root@zabbix-server ~]# systemctl restart zabbix-server
5.修改zabbix-web配置的指向
[root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php $DB['SERVER'] = '172.16.1.51'; [root@zabbix-server ~]# systemctl restart httpd
Format: UserParameter=
1.使用shell命令提取當前用戶登陸的數量 who|wc -l
2.使用zabbix-agent將shell命令提取的結果封裝一個監控項 UserParameter
3.zabbix-agent本身檢查該監控項是否能正確提取到對應的值 zabbix_agent -p
4.zabbix-server經過zabbix-get檢查zabbix-agent端自定義的監控項是否正常 zabbix_get -s 172.16.1.7 -k user_login
5.登陸zabbix-web頁面, 找到對應的主機, 而後添加對應的監控項.
6.點擊檢測中--->最新數據--->選擇主機--->選擇應用級-->檢查監控項指標的變化
cat /etc/zabbix/zabbix_agentd.d/all.conf UserParameter=user_login,who|wc -l systemctl restart zabbix-agent
服務端檢查 rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.14-1.el7.x86_64.rpm zabbix_get -s 172.16.1.7 -k user_login
7.登陸zabbix-web頁面, 找到對應的主機, 而後添加對應的監控項.
8.點擊檢測中--->最新數據--->選擇主機--->選擇應用級-->檢查監控項指標的變化
1.基於已建立好的監控項設定閾值 2.若是達標則觸發 3.若是不達標,繼續探測,監視
1.點擊右上角小人頭-->正在發送消息-->勾選前端信息中