zabbix監控

zabbix 監控

1.什麼是監控

監視,控制php

2.爲何要作監控

教室: 監控學員的學生情況
​ 超市: 防偷
​ 馬路: 事故(過後追溯)
​ 監控: 本質上是 行爲
前端

系統爲何要作監控:
監控是整個運維乃至整個產品生命週期中最重要的一環.
事前及時預警發現故障,過後提供詳實的數據用於追查定位問題/。
mysql

3.監控怎麼作,好比我要監控內存的使用率,低於百分之20則報警

1.提取內存的指標
​ 2.判斷比對 ,與管理人員設定的閾值
​ 3.大於百分之20, 則忽略
​ 4.小於百分之20, 則觸發警告
ios

4.監控有哪些工具來輔助實現

cacti 用於監控網絡設備 交換機 路由器 防火牆 流量爲主
​ Nagios 用於監控系統
​ Zabbix 用於監控系統 web界面 分佈式 報警 自帶模板
​ open-falcon 小米公司
​ Prometheus+grafana

nginx

5.去到一家新公司如何着手監控

1..硬件監控      ( 交換機  路由器  防火牆  服務器 )   DELL  IRDAC   ipmi
    2.系統監控      ( CPu  內存  磁盤   IO  )
    3.服務監控      ( nginx  php   mysql   tomcat  ....... )
    4.日誌監控      ( ELK 架構    )
    5.web監控     ( 請求延時 響應延時 加載時間  ..... pv uv ip )
    6.業務監控       新增用戶  流量  購買量 
    7.分佈式監控 多機房監控 proxy
    8.自動化監控 自動的添加主機進行監控

6.單機時代如何監控

命令監控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

引入zabbix監控

4.安裝zabbix4.0

1.配置yum倉庫

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

2.安裝zabbix相關功能組件

yum install zabbix-server-mysql zabbix-web-mysql httpd mariadb-server -y

3.建立數據庫

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';"

4.導入數據至數據庫中

zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uroot zabbix

5.配置zabbix-server指向數據庫

[root@zabbix-server ~]# grep '^D' /etc/zabbix/zabbix_server.conf 
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

6.啓動 Zabbix server 進程

systemctl enable zabbix-server

systemctl start zabbix-server

7.配置Zabbix 前端 web頁面

vim /etc/httpd/conf.d/zabbix.conf。

.....
php_value date.timezone Asia/Shanghai
....

systemctl restart httpd

8.經過url訪問zabbix-server

1.根據提示填寫信息便可
    2.默認的用戶名和密碼是
        username: Admin
        password: zabbix

9.登陸zabbix後

1.修改密碼
​ 2.將zabbix修改成中文
shell

10.如何快速的監控一臺主機

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

11.zabbix中文亂碼

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

12.zabbixserver如何監控本身自己?

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

13.zabbix基礎架構

zabbix-agent
    zabbix-server
    mariadb
    zabbix-web

14.zabbix架構拆分

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

15.如何快速監控一個自定義對象,好比監控當前用戶登陸數量

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.點擊檢測中--->最新數據--->選擇主機--->選擇應用級-->檢查監控項指標的變化

16.如何快速設定一個自定義閾值,好比超過4我的登陸則觸發報警

1.基於已建立好的監控項設定閾值
    2.若是達標則觸發
    3.若是不達標,繼續探測,監視

17.前端展現報警:

1.點擊右上角小人頭-->正在發送消息-->勾選前端信息中
相關文章
相關標籤/搜索