C/S架構,基於C++開發,監控中心支持web界面配置和管理
單server節點能夠支持上萬臺客戶端
最新版本3.4,官方文檔https://www.zabbix.com/manuals
5個組件
zabbix-server 監控中心,接收客戶端上報信息,負責配置、統計、操做數據
數據存儲 存放數據,好比mysql
web界面 也叫web UI,在web界面下操做配置是zabbix簡單易用的主要緣由
zabbix-proxy 可選組件,它能夠代替zabbix-server的功能,減輕server的壓力
zabbix-agent 客戶端軟件,負責採集各個監控服務或項目的數據,並上報
zabbix 監控原理框圖
php
結合上圖咱們總結下zabbix的監控原理:zabbix server是zabbix的核心應用。它自身附帶有httpd的web sever,咱們能夠經過瀏覽器訪問zabbix server,在ui界面中進行各類監控項的配置。zabbix agent 安裝在做爲監控對象的主機上,從而採集監控數據傳遞給server。無論是ui界面配置信息仍是監控數據都經過zabbix server保存到zabbix數據庫中。zabbix agent 一般和server 處於同一子網,所以很方便通訊。監控數據從agent 傳遞給server 有兩種模式,被動模式和主動模式。mysql
1 zabbix-server 安裝
先在官網上下在對應的yum源,也就是一個rpm包
官網下載地址 www.zabbix.com/download
找本身對應的linux系統,好比centos7 64位, 找發佈版releaserpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum 源存放位置 /etc/yum.repos.d/
yum 安裝yum install -y zabbix-agent zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-web
2 zabbix數據庫配置
mysql 相關操做
1)設置中文格式
vim /etc/my.cnf //須要增長配置character_set_server = utf8
啓動mysql/etc/init.d/mysqld start
2)建立用戶及數據庫
進入數據庫mysql -uroot -plvlinux
建立zabbix庫create database zabbix character set utf8;
再建立用戶grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'lv-zabbix';
3)導入數據cd /usr/share/doc/zabbix-server-mysql-3.4.9/
tab補全找對應的目錄gzip -d create.sql.gz
mysql -uroot -pxxx zabbix < create.sql
-p 後面指定數據庫登錄密碼linux
1 啓動httpdsystemctl start httpd; systemctl enable httpd
備註:這是zabbix默認關聯的web server 不須要進行配置就能夠直接使用,很是方便。默認是8080端口,能夠在配置文件/etc/httpd/conf/httpd.conf中更改端口
2 編輯zabbix-server配置文件web
vim /etc/zabbix/zabbix_server.conf //修改或增長 DBHost=127.0.0.1 //在DBName=zabbix上面增長 DBPassword=lv-zabbix //在DBuser下面增長
備註:以上信息web界面建立zabbix監控時須要驗證,網頁上內容要和zabbix配置文件保持一致,若修改了zabbix配置文件,第二次登陸時,須要修改括號中的php文件。(/etc/zabbix/web/zabbix.conf.php)sql
systemctl start zabbix-server systemctl enable zabbix-server netstat -lntp |grep zabbix //查看監聽端口
3 瀏覽器訪問並安裝zabbix
瀏覽器訪問http://ip/zabbix/ web界面下面配置zabbix
發現有一個時區錯誤,php配置下時區vim /etc/httpd/conf.d/zabbix.conf
//在最後面添加php_value date.timezone Asia/Shanghai
或者
echo 'php_value date.timezone Asia/Shanghai' >> /etc/httpd/conf.d/zabbix.conf
而後重啓下httpdsystemctl restart httpd
數據庫
點下一步就能夠
完成後進入登錄界面,用戶名Admin 初始密碼爲zabbix
進入後臺第一件事情就是修改密碼
在 administration - user-admin 裏面更改
裏面能夠設置爲中文顯示
vim
1 客戶端安裝
跟上面安裝服務端同一個道理,先安裝yum源rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install -y zabbix-agent
2 編輯配置文件
修改配置文件,兩種模式都配置相應的服務端ipwindows
vim /etc/zabbix/zabbix_agentd.conf //修改以下配置 Server=127.0.0.1修改成Server=192.168.226.129 //定義服務端的ip(被動模式) ServerActive=127.0.0.1修改成ServerActive=192.168.226.129 //定義服務端的ip(主動模式) Hostname=Zabbix server修改成Hostname=lvlinux //這是自定義的主機名,一會還須要在web界面下設置一樣的主機名
啓動客戶端centos
systemctl start zabbix-agent systemctl enable zabbix-agent
客戶端默認端口10050 服務端端口10051瀏覽器
1添加主機組,添加主機
配置-主機羣組-建立主機羣組-設置組名
配置-主機-建立主機,主機名稱能夠跟可見名稱寫同樣,羣組選擇剛纔建立的羣組
ip 地址寫客戶端ip (注意這是被zabbix監控的主機ip,不能寫錯)個人客戶端爲192.168.226.130
2 添加模板
先建立一個空模板。
configuration-templates-create template
指定一個名字,template name 和 visible name 能夠寫同樣
指定一個組,選擇templates,最後點擊最下面add
1) 從現有模板集中拷貝模板到新建模板中
好比從Templates OS Linux 中複製模板
configuration-templates
找到 Templates OS Linux ,點擊對應的ltems 即項目
選擇須要的模板,前面打鉤,點擊copy
在彈出的頁面,目標類型,選擇templates
目標選擇剛纔新建的模板,在點擊下面的copy
2) 導入整個模板,篩選出須要的。(咱們須要discover 裏面的監控項,該項目沒法直接複製)
先把新建的模板連接到Templates OS Linux
templates-選擇新建的模板-連接模板-連接新模板
而後取消連接,也就等於複製了一份Templates OS Linux
在剛纔 連接模板那裏,點擊unlink (取消連接)
而後刪除不用的模板,再刪除空的應用集。模板屬於應用集。不能刪除非空的應用集
再刪除不用的圖表
至此模板配置完成。
3 主機鏈接模板
上面模板建立好了,接下來還要把把主機連接到模板上
配置-主機-點擊建立的主機名,再點擊模板,在連接指示器裏面選擇咱們弄好的模板。再點擊下面的選擇按鈕,在點擊添加,更新
下面咱們去查看監控圖表
檢測中-圖形-羣組,選則建立的組,主機選擇建立的主機,圖形選擇咱們的圖形項,一分鐘負載,(能夠在模板-圖形中建立一個新的圖形)
到這裏咱們整個環境就算打起來了,能夠在檢測中-儀表盤-最新數據中,選擇咱們的監控主機,看到有數據生成,若是沒有須要檢查主機是否添加正確。
中文亂碼問題處理:
vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH,它定義的路徑是「fonts」,它是一個相對路徑,絕對路徑爲/usr/share/zabbix/fonts,而字體文件爲「ZBX_GRAPH_FONT_NAME」所定義的「graphfont」,它是一個文件,絕對路徑爲/usr/share/zabbix/fonts/graphfont
windows字體路徑爲「C:\Windows\Fonts\」,找到「simfang.ttf」(其實就是那個仿宋簡體),先把它複製到桌面上,而後上傳到linux的/usr/share/zabbix/fonts/,而且更名爲graphfont.ttf
或者導入字體文件,進行以下操做
mv graphfont.ttf graphfont.ttf_bak ln -s simfang.ttf graphfont.ttf
刷新瀏覽器會看到中文顯示正常
zabbix 忘記Admin密碼處理辦法:
跟mysql 忘記密碼處理辦法相似,都是直接更改數據庫
進入mysql命令行,選擇zabbix庫
mysql -uroot -p zabbix update users set passwd=md5('newpasswd') where alias='Admin';
這樣就更改了Admin用戶的密碼
mysql -uroot -p zabbix 執行後會提示輸入mysql root用戶登陸密碼,此時輸入密碼後直接就進入到zabbix庫下。至關於
mysql -uroot -plvlinux use zabbix;