手把手安裝Zabbix3.2開源監(jiān)控系統(tǒng)

Zabbix好在哪里?

在說Zabbix之前,我們需要先提一個(gè)東西,他叫做SNMP
SNMPSimple Network Manager Protocol,稱為簡單網(wǎng)絡(luò)管理協(xié)議。
他是早期用來監(jiān)控的一個(gè)重要協(xié)議,目前版本已經(jīng)到達(dá)v3了。
v1的時(shí)候沒有認(rèn)證,v2的時(shí)候沒有加密。
在一些情況下如監(jiān)控路由器、打印機(jī),仍然需要這個(gè)協(xié)議的支持。

SNMP的三種工作模式:
  • 1.NMSNetwork Manager Server向Agent端采集數(shù)據(jù)
  • 2.Agent向NMS報(bào)告數(shù)據(jù)
  • 3.NMS請求Agent修改配置

對于這種經(jīng)典的監(jiān)控方式
Zabbix則可以通過安裝SNMP的包來同樣達(dá)到監(jiān)控硬件的目的。

Zabbix有什么特點(diǎn)嗎?
在Zabbix之前,生產(chǎn)環(huán)境中較為常見的監(jiān)控工具是Cacti+Nagios。
  • Cacti,在數(shù)據(jù)收集和繪制圖表方面十分出色,但報(bào)警有所欠缺。
  • Nagios,在數(shù)據(jù)發(fā)生異常和狀態(tài)轉(zhuǎn)換的時(shí)候十分出色。
  • Zabbix,融合了兩者的優(yōu)點(diǎn)。

Zabbix可以監(jiān)控什么?

通過安裝不同的包,可以讓Zabbix支持更多的監(jiān)控類型。
  • ssh,需要安裝libssh2
  • SNMP,需要安裝net-snmp
  • IPMI,需要安裝OpenIPMI
  • icmp,需要安裝fping
  • libcurl,監(jiān)控web項(xiàng)
  • libiksemel,支持 jabber 報(bào)警
因此他的可監(jiān)控對象包括:
  • 設(shè)備:服務(wù)器、路由器、交換機(jī)、IO系統(tǒng)
  • 軟件:OS、網(wǎng)絡(luò)、應(yīng)用程序

CentOS7下安裝Zabbix3.2

Zabbix都有什么組件:
  • zabbix-server:Zabbix的Server端組件
  • zabbix-web:瀏覽器圖形界面,用于實(shí)現(xiàn)Zabbix設(shè)定和展示
  • zabbix-database:支持MySQL, PGSQL(postgreSQL)、Oracle、DB2、SQLite
    以上三個(gè)最好分在三個(gè)主機(jī)上,監(jiān)控一般放在數(shù)據(jù)庫的從服務(wù)器上
  • zabbix-agent:Zabbix的被監(jiān)控端
  • zabbix-proxy:分布式監(jiān)控環(huán)境中的專用組件,適用于大型網(wǎng)絡(luò)

常見架構(gòu):

Server/Agent模式:
zabbix-agent模式
Proxy代理模式:
Zabbix-Proxy

這種模式的好處在于,當(dāng)Agent主機(jī)數(shù)量變多的時(shí)候,Proxy可以分擔(dān)Server端的壓力。

安裝Zabbix3.2,使用Server/Agent模型

主機(jī)名 主機(jī)地址 角色
node1 192.168.2.201 Zabbix-Server
node2 192.168.2.202 Zabbix-Agent
node3 192.168.2.203 Zabbix-Agent

本文使用的系統(tǒng)版本為CentOS7.1
注意:本文關(guān)閉了selinux,以及iptables。

(1)首先我們要到zabbix官方鏡像選擇需要的版本。這里選擇了3.2。

[root@bc ~]# vim /etc/yum.repos.d/zabbix.repo 
  [Zabbix]
  name=Zabbix-3.2
  baseurl=http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/
  gpgcheck=1
  gpgkey=http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-A14FE591

(2)由于官方推薦高版本的MariaDB,因此我們安裝高版本的MariaDB

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.1/rhel7-ppc64le
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

(3)安裝組件


[root@bc ~]# yum install MariaDB-server MariaDB-client
[root@bc ~]# yum install httpd php
[root@bc ~]# yum install zabbix-server-mysql zabbix-web-mysql 

Dependencies Resolved
================================================================================================
 Package                       Arch         Version                  Repository            Size
================================================================================================
Installing:
 zabbix-server-mysql           x86_64       3.2.2-1.el7              Zabbix               1.8 M
 zabbix-web-mysql              noarch       3.2.2-1.el7              Zabbix               5.2 k
Installing for dependencies:
 OpenIPMI-libs                 x86_64       2.0.19-15.el7            Aliyun-CentOS7       502 k
 OpenIPMI-modalias             x86_64       2.0.19-15.el7            Aliyun-CentOS7        15 k
 dejavu-fonts-common           noarch       2.33-6.el7               Aliyun-CentOS7        64 k
 dejavu-sans-fonts             noarch       2.33-6.el7               Aliyun-CentOS7       1.4 M
 fontpackages-filesystem       noarch       1.44-8.el7               Aliyun-CentOS7       9.9 k
 fping                         x86_64       3.10-4.el7               epel                  46 k
 iksemel                       x86_64       1.4-6.el7                epel                  50 k
 libXpm                        x86_64       3.5.11-3.el7             Aliyun-CentOS7        54 k
 libtool-ltdl                  x86_64       2.4.2-21.el7_2           Aliyun-CentOS7        49 k
 libxslt                       x86_64       1.1.28-5.el7             Aliyun-CentOS7       242 k
 libzip                        x86_64       0.10.1-8.el7             Aliyun-CentOS7        48 k
 net-snmp-libs                 x86_64       1:5.7.2-24.el7_2.1       Aliyun-CentOS7       747 k
 php                           x86_64       5.4.16-42.el7            Aliyun-CentOS7       1.4 M
 php-bcmath                    x86_64       5.4.16-42.el7            Aliyun-CentOS7        57 k
 php-cli                       x86_64       5.4.16-42.el7            Aliyun-CentOS7       2.7 M
 php-common                    x86_64       5.4.16-42.el7            Aliyun-CentOS7       564 k
 php-gd                        x86_64       5.4.16-42.el7            Aliyun-CentOS7       127 k
 php-ldap                      x86_64       5.4.16-42.el7            Aliyun-CentOS7        52 k
 php-mbstring                  x86_64       5.4.16-42.el7            Aliyun-CentOS7       505 k
 php-mysql                     x86_64       5.4.16-42.el7            Aliyun-CentOS7       101 k
 php-pdo                       x86_64       5.4.16-42.el7            Aliyun-CentOS7        98 k
 php-xml                       x86_64       5.4.16-42.el7            Aliyun-CentOS7       125 k
 t1lib                         x86_64       5.1.2-14.el7             Aliyun-CentOS7       166 k
 unixODBC                      x86_64       2.3.1-11.el7             Aliyun-CentOS7       413 k
 zabbix-web                    noarch       3.2.2-1.el7              Zabbix               3.6 M

Transaction Summary
================================================================================================
Install  2 Packages (+25 Dependent packages)

我們可以看到其他之前提過的組件都在依賴關(guān)系中解決了。
zabbix-server-mysql zabbix-web-mysql這兩個(gè)組件尤為核心。

(4)初始化數(shù)據(jù)庫并創(chuàng)建數(shù)據(jù)庫

[root@bc ~]# systemctl start mariadb.service
[root@bc ~]# mysql_secure_installation
[root@bc ~]# mysql -p
  create database zabbix;
  grant all on zabbix.* to 'zabbix'@'192.168.2.%' IDENTIFIED BY 'zabbix';
  flush privileges;

(5)導(dǎo)入文件到剛才創(chuàng)建的zabbix的數(shù)據(jù)庫

zcat /usr/share/doc/zabbix-server-mysql-3.2.1/create.sql.gz | mysql -uzabbix -p zabbix

(6)編輯Zabbix-server的配置文件

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

這里出現(xiàn)的用戶,密碼和數(shù)據(jù)庫就是剛才用mysql命令創(chuàng)建的。

(7)修改php的相關(guān)參數(shù)

vim /etc/httpd/conf.d/zabbix.conf
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai
        # php_value date.timezone Europe/Riga
    </IfModule>

(8)啟動服務(wù)

[root@bc ~]# systemctl start zabbix-server

(9)在瀏覽器上通過圖形化設(shè)置

http://192.168.2.201/zabbix/
`這里鍵入的是Server端的ip地址`
看見這個(gè)頁面就代表成功了!
這里是第7步設(shè)置的php配置
zabbix庫的賬號和密碼
指定MySQL主機(jī)
配置完成

Configuration file "/etc/zabbix/web/zabbix.conf.php" created.。
以后我們要修改主機(jī)就要在這個(gè)文件里面修改。

登陸的賬號密碼,默認(rèn)是Admin:zabbix

Agent端:node2,node3的配置

(1)安裝Agent組件

[root@bc ~]# scp /etc/yum.repos.d/zabbix.repo node3:/etc/yum.repos.d/
zabbix.repo                                                   100%  151     0.2KB/s   00:00  
[root@node3 ~]# yum install zabbix-agent

這里是從node1復(fù)制到repo文件,如果要監(jiān)控的agent很多的話,可以使用ansible安裝。
(2)修改配置文件并重啟

[root@node3 ~]# vim /etc/zabbix/zabbix_agentd.conf 
  Server=192.168.2.201
[root@node3 ~]# service zabbix-agent restart
Redirecting to /bin/systemctl restart  zabbix-agent.service

如何添加監(jiān)控主機(jī)?

點(diǎn)“配置”->"主機(jī)"->“創(chuàng)建主機(jī)”

主機(jī)-選項(xiàng)卡
模板-選項(xiàng)卡

這里是添加node3:192.168.2.203
選用了一個(gè)模板叫Template OS Linux

最終效果

最后可以看見,添加了ndoe2和node3兩臺主機(jī),右邊綠色的按鈕表示Zabbix-agent的兩個(gè)主機(jī)都工作正常。

Zabbix修改為中文界面,并去除中文亂碼

a.Zabbix3.2的時(shí)候,中文選項(xiàng)已經(jīng)有了很大的改進(jìn)。沒有了當(dāng)初機(jī)翻的味道。
在右上角,退出的按鈕旁邊的那個(gè)小人頭像那里,點(diǎn)進(jìn)去可以選擇語言。

中文化

b.解決中文亂碼,變方塊的方法

  • 首先要在系統(tǒng)的windows那里找一個(gè)楷體中文
zabbix-cn2.jpg
  • 然后通過Xftp或者sambaWindows的共享方式,把字體復(fù)制到指定路徑下。
    這個(gè)楷體常規(guī)的字體,復(fù)制到CentOS下就變成了simkai.ttf
[root@bc ~]# mkdir /usr/share/fonts/simkai/
[root@bc ~]# ll /usr/share/fonts/simkai/simkai.ttf 
-rw-r--r--. 1 root root 11785184 Nov 22 14:25 /usr/share/fonts/simkai/simkai.ttf
  • 修改默認(rèn)字體:
[root@bc ~]# vim /usr/share/zabbix/include/defines.inc.php
    define('ZBX_FONTPATH',   '/usr/share/fonts/simkai');  # where to search for font (GD > 2.0.18)
    define('ZBX_GRAPH_FONT_NAME',             'simkai'); // font file name
  • 最終效果
中文字沒有變成方塊!

在"監(jiān)測" -> "圖形"中
下面四行字的中文字沒有變成方塊,表示去亂碼成功!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容