Zabbix-4.0 編譯安裝

系統環境

        OS:         centos7.5
        software:  zabbix 4.0 LTS
        DBSever:    MariaDB-10.2.15

一、需要先把數據庫裝上,這裏用到的是mariadb 二進制包安裝

    1、下載二進制包,
         官網的下載路徑:
      wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.15/bintar-linux-x86_64/mariadb-10.2.15-linux-x86_64.tar.gz

    2、添加組和用戶
      [root@node2 ~]# groupadd -r -g 306 mysql
      [root@node2 ~]# useradd -g mysql -u 306 -r mysql

    3、解壓mariadb二進制包到/usr/local下去
       [root@node2 ~]# tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/

    4、進入到/usr/local下面創建mysql的軟連接
       [root@node2 ~]# cd /usr/local/
       [root@node2 /usr/local]# ln -s mariadb-10.2.15-linux-x86_64/ mysql

    5、修改mysql的相對應的屬主和屬組權限
        [root@node2 /usr/local]# chown -R root.mysql mysql/

    6、創建數據文件的存放路徑,並修改所屬組的權限爲mysql
         [root@node2 ~]#   cd /app/
         [root@node2 /app]# mkdir mydata
         [root@node2 ]#  chown -R mysql.mysql  /app

    7、初始化數據庫,指定好數據文件的存放路徑和用戶
           [root@node2 ]# cd /usr/local/mysql/
           [root@node2 /usr/local/mysql/]# scripts/mysql_install_db --datadir=/app/mydata --user=mysql

    8、拷貝mariadb的啓動腳本到/etc/rc.d/init.d下命名爲mysqld
           [root@node2 /usr/local/mysql/]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    9、把mysqld設置爲開機啓動
           [root@node2 /usr/local/mysql/]# chkconfig --add mysqld

    10、創建mariadb的配置文件存放路徑,並拷貝模版文件到這個目錄下命名爲my.cnf
          [root@node2 /usr/local/mysql/]# mkdir /etc/mysql
          [root@node2 /usr/local/mysql/]#cp support-files/my-large.cnf /etc/mysql/my.cnf

    11、配置系統環境變量,重讀配置文件讓它生效
          [root@node2 /usr/local/mysql/]# vim /etc/profile.d/mysql.sh
          [root@node2 /usr/local/mysql/]#export PATH=/usr/local/mysql/bin:$PATH
          [root@node2 /usr/local/mysql/]# . /etc/profile.d/mysql.sh

    12、修改mariadb的配置文件需要增加幾條內容
          [root@node2 /usr/local/mysql/]# vim /etc/mysql/my.cnf 
              lower_case_table_names = 1  
              character-set-server = utf8
              datadir = /app/mydata
              innodb_file_per_table = on
              skip_name_resolve = o

    13、啓動數據庫服務
          [root@node2 /usr/local/mysql/]#  service mysqld start

    14、查看mariadb的服務端口是否正常監聽
        [root@node2 /app]#ss -tnl 
        State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
        LISTEN     0      128                      *:52874                                *:*                  
        LISTEN     0      128                      *:11211                                *:*                  
        LISTEN     0      128                      *:111                                  *:*                  
        LISTEN     0      128                      *:22                                   *:*                  
        LISTEN     0      128              127.0.0.1:631                                  *:*                  
        LISTEN     0      100              127.0.0.1:25                                   *:*                  
        LISTEN     0      80                      :::3306                                :::* 

15、數據庫的安全初始操作,設置完之後就可以先創建zabbix相關的庫和用戶
    [root@node2 /app]#mysql_secure_installation 
    [root@node2 /app]#mysql -uroot -p 
16、創建zabbix庫
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
17、給zabbix庫授權並指定用戶
    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'192.168.137.%' identified by '123456';

18、在另一臺主機上測試用zabbix用是否能正常登陸數據庫
    [root@node7 ~]#mysql -uzabbix -p123456 -h192.168.137.54
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 12
    Server version: 10.2.15-MariaDB-log MariaDB Server

    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | zabbix             |
    +--------------------+
    2 rows in set (0.00 sec)
    MariaDB [(none)]> 
19、在zabbix server主機上導入zabbix自帶的三個表,路徑在/root/zabbix-4.0.1/database/mysql下後綴爲.sql的三個文件
    [root@node6 ~/zabbix-4.0.1]#ls -l database/mysql/
    total 5816
    -rw-r--r-- 1 1001 1001 3795433 Oct 30 01:36 data.sql
    -rw-r--r-- 1 1001 1001 1978341 Oct 30 01:36 images.sql
    -rw-r--r-- 1 root root   15323 Nov 26 22:44 Makefile
    -rw-r--r-- 1 1001 1001     392 Oct 30 01:36 Makefile.am
    -rw-r--r-- 1 1001 1001   15711 Oct 30 01:36 Makefile.in
    -rw-r--r-- 1 1001 1001  140265 Oct 30 01:36 schema.sql

20、導入sql文件是有先後順序的,先導schema.sql、images.sql、data.sql.
    [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 zabbix < schema.sql 
    [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 zabbix < images.sql
    [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 zabbix < data.sql

21、進到數據庫裏面查看zabbix庫是否導入成功
    [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456
    MariaDB [(none)]> use zabbix
    MariaDB [zabbix]> 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       |
    .......
    | users                      |
    | users_groups               |
    | usrgrp                     |
    | valuemaps                  |
    | widget                     |
    | widget_field               |
    +----------------------------+
    144 rows in set (0.00 sec)

二、編譯zabbix

    1、安裝編譯環境所需要的依賴包組
        [root@node6 ~]#yum install gcc  libxml2-devel libevent-devel net-snmp net-snmp-devel  curl  curl-devel php  php-bcmath  php-mbstring mariadb mariadb-devel –y

        還需要安裝一些php的依賴包後續在網頁端安裝zabbix時需要用到所以先提前安裝好
        [root@node6 ~]#yum install php-gettext php-session php-ctype php-xmlreader php-xmlwrer php-xml php-net-socket php-gd php-mysql -y

    2、安裝jdk環境,裝的是jdk-8u191-linux-x64.rpm的包,要不後面編譯時會報Java找不到。
        [root@node6 ~]#yum -y install jdk-8u191-linux-x64.rpm

    3、創建zabbix用戶
        [root@node6 ~]#useradd zabbix -s /sbin/nologin

    4、下載zabbix的源碼包
        [root@node6 ~]#wget http://192.168.137.53/yum/zabbix/zabbix-4.0.1.tar.gz

    5、解壓源碼包,並進入到解壓後的目錄裏去
        [root@node6 ~]#tar xf zabbix-4.0.1.tar.gz 
        [root@node6 ~]#cd zabbix-4.0.1/
        [root@node6 ~/zabbix-4.0.1]#

    6、開始編譯安裝zabbix
        [root@node6 ~/zabbix-4.0.1./configure  \
        --prefix=/usr/local/zabbix  \
        --enable-server  \
        --enable-agent  \
        --with-mysql   \
        --with-net-snmp  \
        --with-libcurl  \
        --with-libxml2  \
        --enable-java   

    7、執行make install
        [root@node6 ~/zabbix-4.0.1]#make -j 2 && make install 

    8、拷貝啓動腳本文件到/etc/init.d目錄下
        [root@node6 ~/zabbix-4.0.1]#cp misc/init.d/fedora/core/* /etc/init.d/

    9、拷貝過去的腳本需要修改下目錄路徑,server和agent都需要改
        [root@node6 ~/zabbix-4.0.1]#vim /etc/init.d/zabbix_server 
            22         BASEDIR=/usr/local
        改成:
            22         BASEDIR=/usr/local/zabbix

        agent啓動腳本修改也是一樣
            [root@node6 ~/zabbix-4.0.1vim /etc/init.d/zabbix_agentd
            22         BASEDIR=/usr/local
        改成:
            22         BASEDIR=/usr/local/zabbix

    10、創建zabbix的日誌存放路徑和修改/usr/local/zabbix的所屬主爲zabbix
        [root@node6 ~/zabbix-4.0.1]#mkdir /var/log/zabbix
        [root@node6 ~/zabbix-4.0.1]#chown -R zabbix.zabbix /var/log/zabbix
        [root@node6 ~/zabbix-4.0.1]#ll /var/log/zabbix/ -d
        drwxr-xr-x 2 zabbix zabbix 6 Nov 27 09:17 /var/log/zabbix/
        [root@node6 ~]#chown -R zabbix.zabbix /usr/local/zabbix/
        [root@node6 ~]#ll -d /usr/local/zabbix/
        drwxr-xr-x 7 zabbix zabbix 64 Nov 26 22:45 /usr/local/zabbix/

    11、修改配置文件
        [root@node6 ~/zabbix-4.0.1]#vim /usr/local/zabbix/etc/zabbix_server.conf
        ListenPort=10051   啓用監聽端口,不過默認也是啓用的。

        LogFile=/var/log/zabbix/zabbix_server.log    修改日誌存放路徑,默認是在/tmp下

        LogFileSize=5   開啓日誌滾動,單位爲MB、達到指定值之後就生成新的日誌文件。
        DebugLevel=4   日誌級別等級,4爲debug,利於排除錯誤,排錯之後可以改成3級別的。
        PidFile=/usr/local/zabbix/zabbix_server.pid   zabbix pid文件路徑默認爲tmp下需要改成安裝目錄,並且安裝目錄的所屬組要改成zabbix用戶
        # SocketDir=/tmp
        User=zabbix                    啓動的用戶默認也是zabbix,如果要改成root的話 還需要修改一項
        # AllowRoot=0                  需要改成1才能使用root來啓動,默認0的話是被禁止用root啓動,不過最好別用root
        SocketDir=/usr/local/zabbix   socket 文件存放路徑默認在/tmp下 
        DBHost=192.168.137.54          數據庫地址必須要填
        DBName=zabbix                  數據庫名稱
        DBUser=zabbix                  數據庫連接用戶
        DBPassword=123456              數據庫連接密碼,建議在生產中密碼不要太簡單了。
        DBPort=3306                    數據庫端口,其實也不用開默認就是3306

    12、啓動zabbix、並查看端口是否正常監聽
        [root@node6 ~/zabbix-4.0.1]#service zabbix_server start
        Reloading systemd:                                         [  OK  ]
        Starting zabbix_server (via systemctl):                    [  OK  ]
        [root@node6 ~/zabbix-4.0.1]#ss -tnl 
        State       Recv-Q Send-Q          Local Address:Port                Peer Address:Port              
        LISTEN      0      128                         *:10051                    *:*                  
        LISTEN      0      128                         *:111                      *:*                  
        LISTEN      0      128                         *:22                       *:*                  
        LISTEN      0      100                 127.0.0.1:25                       *:*            

    13、裝前端展示端
        [root@node6 ~/zabbix-4.0.1]#yum -y install httpd

    14、在httpd的默認工作目錄下創建一個zabbix目錄
        [root@node6 ~/zabbix-4.0.1]#mkdir /var/www/html/zabbix

    15、從zabbix解壓包裏面把php的所有文件拷貝到/var/www/html/zabbix目錄下
        [root@node6 ~/zabbix-4.0.1]#cp -a frontends/php/* /var/www/html/zabbix/

    16、啓動httpd、查看端口是否正常監聽
        [root@node6 ~]#systemctl start httpd
        [root@node6 ~]#ss -tnl 
        State       Recv-Q Send-Q          Local Address:Port                         Peer Address:Port              
        LISTEN      0      128                         *:10051                                   *:*                  
        LISTEN      0      128                         *:111                                     *:*                  
        LISTEN      0      128                         *:22                                      *:*                  
        LISTEN      0      100                 127.0.0.1:25                                      *:*                  
        LISTEN      0      128                        :::111                                    :::*                  
        LISTEN      0      128                        :::80                                     :::* 

17、通過網頁來安裝zabbix

Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝

修改php.ini 裏面的值

    [root@node6 ~]#vim /etc/php.ini 
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    date.timezone = Asia/Shanghai

    重啓httpd服務
    [root@node6 ~]#systemctl restart httpd

Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝
Zabbix-4.0 編譯安裝


18、修改agent配置文檔  
    [root@node6 ~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
    LogFile=/var/log/zabbix/zabbix_agentd.log
    Server=127.0.0.1            被動模式下的server地址、這裏agent和server都在同一臺上面 默認用127.0.0.1就行
    ListenPort=10050            agent的監聽地址爲10050
    StartAgents=1               開啓多少個線程來採集數據,不過agent端的話默認就行,如果是server端那就要開大點
    ServerActive=127.0.0.1     主動模式下的server地址
    Hostname=Zabbix server     這塊需要注意要跟主機上的hostname一致,而且在網頁上添加監控主機時也需要添加這個要不然是找不到主機
    Timeout=30                  數據採集時的超時時長默認爲3,需要改成最大值30
    UnsafeUserParameters=1      允許做一些特殊符號的計算 
    # UserParameter=            自定義監控項參數時用到

19、啓動zabbix server 端的agent,後續就可以採集到數據
    [root@node6 ~]#service zabbix_agentd start
    Starting zabbix_agentd (via systemctl):                    [  OK  ]
    [root@node6 ~]#ss -tnl 
    State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
    LISTEN     0      128            *:10050                      *:*                  
    LISTEN     0      128            *:10051                      *:*                  
    LISTEN     0      128            *:111                        *:*                  
    LISTEN     0      128            *:22                         *:*                  
    LISTEN     0      100    127.0.0.1:25                         *:*                  
    LISTEN     0      128           :::111                       :::*                  
    LISTEN     0      128           :::80                        :::*                  
    LISTEN     0      128           :::22                        :::*                  
    LISTEN     0      100          ::1:25                        :::*                  

20、把zabbix_server、zabbix_agent、httpd設爲開機啓動
    [root@node6 ~]#chkconfig zabbix_agentd on
    [root@node6 ~]#chkconfig zabbix_server on
    [root@node6 ~]#systemctl enable httpd

最後通過網頁查看被監控的主機信息

Zabbix-4.0 編譯安裝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章