day01-Zabbix監(jiān)控介紹與安裝

監(jiān)控介紹

1. 什么是監(jiān)控

顧名思義婆廊,“監(jiān)控”,可以理解為監(jiān)視和控制罢浇。
比如說一個web網(wǎng)站服務乒验,隨著用戶量的日益增加搪缨,可能就會導致系統(tǒng)oom(內(nèi)存不夠用了)逆趋,也就是out of memory內(nèi)存溢出哮伟,從而導致網(wǎng)站異常。
而且處于oom這個狀態(tài)時所袁,系統(tǒng)會kill掉一些占用內(nèi)存多的服務盏档,來釋放掉一部分內(nèi)存,供系統(tǒng)內(nèi)核使用燥爷。

如何判斷,web服務是因為用戶訪問過多懦窘,達到瓶頸前翎。
還是因為程序Bug導致的內(nèi)存占用過多。

解決辦法:
提前對web服務進行壓力測試(比如說上線的新web網(wǎng)站)畅涂,并記錄下web的并發(fā)壓力值港华,如2000并發(fā)。
這個時候就可以用這個值來進行監(jiān)控午衰,達到多少的時候立宜,就報警。

2. 常見的Linux監(jiān)控命令

命令 功能
free 顯示系統(tǒng)中空閑內(nèi)存和使用內(nèi)存的數(shù)量
df 報告文件系統(tǒng)磁盤空間使用情況
top 顯示Linux進程
htop 交互式進程查看器
uptime 說明系統(tǒng)運行了多長時間
iftop 按主機在接口上顯示帶寬使用情況
iostat 報告中央處理器(CPU)的統(tǒng)計數(shù)據(jù)以及設備和分區(qū)的輸入/輸出統(tǒng)計數(shù)據(jù)臊岸。
vmstat 報告虛擬內(nèi)存統(tǒng)計數(shù)據(jù)
netstat 打印網(wǎng)絡連接橙数、路由表、接口統(tǒng)計信息帅戒、偽裝連接和多播成員關系
nethogs Net top工具對每個進程的帶寬進行分組

3. 使用shell腳本來監(jiān)控服務器

監(jiān)控內(nèi)存:每隔一分鐘監(jiān)控一次內(nèi)存灯帮,當內(nèi)存低于100M時,觸發(fā)郵件報警,并在郵件內(nèi)顯示剩余內(nèi)存钟哥。

while true
do
  free=free -m|awk 'NR==2{print $NF}'
  if [ $free -lt 100 ]
  then
    echo $free | mail -s "當前內(nèi)存" 123@qq.com
  fi
  sleep 60
done

4. Zabbix架構圖及原理講解

image.png
安裝zabbix所需服務(角色)
(1)數(shù)據(jù)庫
zabbix支持mysql迎献、mariadb、PG等多種數(shù)據(jù)庫腻贰。

(2)zabbix-server
配置連接數(shù)據(jù)庫的一系列信息吁恍。

(3)zabbix-web(http\amp)

(4)zabbix-agent
agent取到的監(jiān)控值發(fā)給server

工作過程
(1)zabbix-agent負責采集客戶端的監(jiān)控信息,然后發(fā)送給zabbix-server播演。
(2)zabbix-server對該數(shù)據(jù)践盼,根據(jù)設置的監(jiān)控條件來進行分析處理,一旦數(shù)據(jù)滿足監(jiān)控條件宾巍,則觸發(fā)報警咕幻。
(3)處理完的監(jiān)控數(shù)據(jù),存入數(shù)據(jù)庫中顶霞。
(4)然后由web界面顯示這些由server端處理完的數(shù)據(jù)肄程。
(5)每次添加監(jiān)控主機、監(jiān)控項時选浑,都是在web頁面進行添加蓝厌,提交這些操作時,數(shù)據(jù)寫入數(shù)據(jù)庫古徒。
(5)server會定期同步數(shù)據(jù)庫(默認同步時間為60秒一次)拓提,從數(shù)據(jù)庫里面讀取數(shù)據(jù),也就是讀取我們在web界面添加的監(jiān)控主機隧膘、監(jiān)控項等代态,然后向zabbix-agent取值,進行監(jiān)控疹吃。

安裝Zabbix

1. 安裝硬件要求

ip地址 硬件配置 主機名
10.0.0.61 1CPU蹦疑、1G內(nèi)存 zabbix-server

2. 安裝步驟

(1)下載zabbix官方源
[root@zabbix-server /etc/yum.repos.d]# wget -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
wget到本地,方便下次使用

[root@zabbix-server /etc/yum.repos.d]# rpm -Uvh zabbix-release-4.0-1.el7.noarch.rpm 
warning: zabbix-release-4.0-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-4.0-1.el7         ################################# [100%]

[root@zabbix-server /etc/yum.repos.d]# ll -h
total 28K
-rw-r--r--  1 root root 1.6K Dec  1  2016 CentOS-Base.repo
-rw-r--r--  1 root root  664 May 11  2018 epel-7.repo
drwxr-xr-x. 2 root root  187 Apr 19 12:36 test
-rw-r--r--  1 root root  14K Oct  2  2018 zabbix-release-4.0-1.el7.noarch.rpm
-rw-r--r--  1 root root  410 Oct  2  2018 zabbix.repo

(2)更改zabbix.repo
[root@zabbix-server /etc/yum.repos.d]# vim zabbix.repo_bak 
把第3行的baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
改成
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/

把第10行的baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
改成
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/

(3)安裝zabbix服務端和zabbix-web前端
[root@zabbix-server /etc/yum.repos.d]# yum install zabbix-server-mysql zabbix-web-mysql -y

(4)安裝數(shù)據(jù)庫并啟動
[root@zabbix-server /etc/yum.repos.d]# yum -y install mariadb-server
[root@zabbix-server /etc/yum.repos.d]# systemctl enable mariadb.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@zabbix-server /etc/yum.repos.d]# systemctl start mariadb.service 
[root@zabbix-server /etc/yum.repos.d]# echo $?
0

(5)初始化數(shù)據(jù)庫
[root@zabbix-server /etc/yum.repos.d]# mysql_secure_installation 
回車
n
一直y

(6)登錄數(shù)據(jù)庫創(chuàng)建zabbix庫及授權
[root@zabbix-server ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye

(7)導入數(shù)據(jù)
使用 MySQL 來導入 Zabbix server 的初始數(shù)據(jù)庫 schema 和數(shù)據(jù)
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix

(8)檢查導入是否成功
[root@zabbix-server ~]# mysql -uroot zabbix -e 'show tables'
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |
| application_prototype      |
| application_template       |
| applications               |
| auditlog                   |
| auditlog_details           |
| autoreg_host               |
| conditions                 |
| config                     |
| corr_condition             |
| corr_condition_group       |
| corr_condition_tag         |
| corr_condition_tagpair     |
| corr_condition_tagvalue    |
| corr_operation             |
| correlation                |
| dashboard                  |
| dashboard_user             |
| dashboard_usrgrp           |
| dbversion                  |
| dchecks                    |
| dhosts                     |
| drules                     |
| dservices                  |
| escalations                |
| event_recovery             |
| event_suppress             |
| event_tag                  |
| events                     |
| expressions                |
| functions                  |
| globalmacro                |
| globalvars                 |
| graph_discovery            |
| graph_theme                |
| graphs                     |
| graphs_items               |
| group_discovery            |
| group_prototype            |
| history                    |
| history_log                |
| history_str                |
| history_text               |
| history_uint               |
| host_discovery             |
| host_inventory             |
| hostmacro                  |
| hosts                      |
| hosts_groups               |
| hosts_templates            |
| housekeeper                |
| hstgrp                     |
| httpstep                   |
| httpstep_field             |
| httpstepitem               |
| httptest                   |
| httptest_field             |
| httptestitem               |
| icon_map                   |
| icon_mapping               |
| ids                        |
| images                     |
| interface                  |
| interface_discovery        |
| item_application_prototype |
| item_condition             |
| item_discovery             |
| item_preproc               |
| items                      |
| items_applications         |
| maintenance_tag            |
| maintenances               |
| maintenances_groups        |
| maintenances_hosts         |
| maintenances_windows       |
| mappings                   |
| media                      |
| media_type                 |
| opcommand                  |
| opcommand_grp              |
| opcommand_hst              |
| opconditions               |
| operations                 |
| opgroup                    |
| opinventory                |
| opmessage                  |
| opmessage_grp              |
| opmessage_usr              |
| optemplate                 |
| problem                    |
| problem_tag                |
| profiles                   |
| proxy_autoreg_host         |
| proxy_dhistory             |
| proxy_history              |
| regexps                    |
| rights                     |
| screen_user                |
| screen_usrgrp              |
| screens                    |
| screens_items              |
| scripts                    |
| service_alarms             |
| services                   |
| services_links             |
| services_times             |
| sessions                   |
| slides                     |
| slideshow_user             |
| slideshow_usrgrp           |
| slideshows                 |
| sysmap_element_trigger     |
| sysmap_element_url         |
| sysmap_shape               |
| sysmap_url                 |
| sysmap_user                |
| sysmap_usrgrp              |
| sysmaps                    |
| sysmaps_elements           |
| sysmaps_link_triggers      |
| sysmaps_links              |
| tag_filter                 |
| task                       |
| task_acknowledge           |
| task_check_now             |
| task_close_problem         |
| task_remote_command        |
| task_remote_command_result |
| timeperiods                |
| trends                     |
| trends_uint                |
| trigger_depends            |
| trigger_discovery          |
| trigger_tag                |
| triggers                   |
| users                      |
| users_groups               |
| usrgrp                     |
| valuemaps                  |
| widget                     |
| widget_field               |
+----------------------------+

(9)為 Zabbix server/proxy 配置數(shù)據(jù)庫
編輯 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已創(chuàng)建的數(shù)據(jù)庫
[root@zabbix-server ~]# vim  /etc/zabbix/zabbix_server.conf
91行:# DBHost=localhost
改成
DBHost=localhost

DBName=zabbix 不用改
DBUser=zabbix  不用改

124行:# DBPassword=
改成
DBPassword=123456

(10)啟動 Zabbix server 進程
[root@zabbix-server ~]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@zabbix-server ~]# systemctl start zabbix-server

(11)檢查啟動情況
[root@zabbix-server ~]# netstat -lntup|grep 10051
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      7718/zabbix_server  
tcp6       0      0 :::10051                :::*                    LISTEN      7718/zabbix_server

(12)Zabbix 前端配置
[root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf
把20行的:# php_value date.timezone Europe/Riga
改成
php_value date.timezone Asia/Shanghai

(13)啟動httpd
[root@zabbix-server ~]# systemctl  enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zabbix-server ~]# systemctl start httpd

(14)瀏覽器訪問

ip+/zabbix
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

3. 在zabbix服務端添加agent

(1)下載rpm包
[root@zabbix-server ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.11-1.el7.x86_64.rpm

[root@zabbix-server ~]# ls
anaconda-ks.cfg                       zabbix-release-4.0-1.el7.noarch.rpm
zabbix-agent-4.0.11-1.el7.x86_64.rpm

(2)安裝
[root@zabbix-server ~]# rpm -ivh zabbix-agent-4.0.11-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-4.0.11-1.el7        ################################# [100%]

(3)啟動服務
[root@zabbix-server ~]# systemctl start zabbix-agent.service
[root@zabbix-server ~]# systemctl enable zabbix-server.service

(4)網(wǎng)頁驗證

image.png

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萨驶,一起剝皮案震驚了整個濱河市歉摧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腔呜,老刑警劉巖叁温,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異核畴,居然都是意外死亡膝但,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門膛檀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來护盈,“玉大人,你說我怎么就攤上這事技矮。” “怎么了憾筏?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長花鹅。 經(jīng)常有香客問我氧腰,道長,這世上最難降的妖魔是什么刨肃? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任古拴,我火速辦了婚禮,結果婚禮上真友,老公的妹妹穿的比我還像新娘黄痪。我一直安慰自己,他們只是感情好盔然,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布桅打。 她就那樣靜靜地躺著,像睡著了一般愈案。 火紅的嫁衣襯著肌膚如雪挺尾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天站绪,我揣著相機與錄音遭铺,去河邊找鬼。 笑死恢准,一個胖子當著我的面吹牛魂挂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顷歌,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼锰蓬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了眯漩?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤麻顶,失蹤者是張志新(化名)和其女友劉穎赦抖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辅肾,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡队萤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了矫钓。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片要尔。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡舍杜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赵辕,到底是詐尸還是另有隱情既绩,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布还惠,位于F島的核電站饲握,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蚕键。R本人自食惡果不足惜救欧,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锣光。 院中可真熱鬧笆怠,春花似錦、人聲如沸誊爹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽替废。三九已至箍铭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間椎镣,已是汗流浹背诈火。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留状答,地道東北人冷守。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像惊科,于是被迫代替她去往敵國和親拍摇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345