OS: centos7.5 software: zabbix 4.0 LTS DBSever: MariaDB-10.2.15
一、下載二進制包, 官網的下載路徑: 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)
一、安裝編譯環境所須要的依賴包組 [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
[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
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