Zabbix-4.0 編譯安裝

系統環境

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

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

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

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

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

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

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

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

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

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

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

    十、建立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

    十一、配置系統環境變量,重讀配置文件讓它生效
          [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

    十二、修改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

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

    1四、查看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                                :::* 

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

1八、在另外一臺主機上測試用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)]> 
1九、在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

2一、進到數據庫裏面查看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)

2、編譯zabbix

一、安裝編譯環境所須要的依賴包組
        [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

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

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

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

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

    六、開始編譯安裝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   

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

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

    九、拷貝過去的腳本須要修改下目錄路徑,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

    十、建立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/

    十一、修改配置文件
        [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

    十二、啓動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                       *:*            

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

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

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

    1六、啓動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                                     :::* 

1七、經過網頁來安裝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 編譯安裝

1八、修改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=            自定義監控項參數時用到

1九、啓動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 編譯安裝

相關文章
相關標籤/搜索