mysql數據庫手動安裝,zabbix則用yum安裝的即可。
mysql安裝二進制免編譯包這個版本:mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
mysql安裝請查看這篇文章:mysql_5.6.46安裝文檔
1、下載安裝zabbix:zabbix官方介紹
由於zabbix官網下載比較慢,我們通過aliyun源的方式來下載:
下載並安裝aliyun源:
[root@zabbix ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
此時在/etc/yum.repos.d/目錄下會生成一個zabbix.repo
[root@zabbix ~]# cd /etc/yum.repos.d/
[root@zabbix yum.repos.d]# ls
CentOS-Base.repo epel.repo zabbix.repo
編輯這個zabbix.repo文件,刪除之前內容,重新寫入如下內容:
[root@zabbix yum.repos.d]# cat zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
註冊這個zabbix源。
[root@zabbix yum.repos.d]# curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
> -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[root@zabbix yum.repos.d]# curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
> -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
更新這個yum源:
[root@zabbix yum.repos.d]# yum makecache -y
安裝基礎的安裝包:
yum install gcc gcc-c++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel
安裝zabbix: zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
[root@zabbix yum.repos.d]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
各個安裝包介紹:
zabbix-server:監控中心,接受客戶端上報信息,負責配置統計、操作數據:
數據存儲:存放數據,比如mysql:
web界面:在web界面下操作是zabbix簡單易用的主要原因(如果沒有web界面,就無法在瀏覽器裏配置它):
zabbix-proxy:可選組件,它可以代替zabbix-server的功能,減輕server的壓力:
zabbix-agent:客戶端軟件,負責採集各個監控服務或項目的數據,並上報:
創建數據庫: create database zabbix;
mysql> create database zabbix;
創建zabbix用戶:grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix@000';
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix@123';
查看數據庫當前有哪些用戶:select User,host,password from mysql.user;
mysql> select User,host,password from mysql.user;
+--------+-----------+-------------------------------------------+
| User | host | password |
+--------+-----------+-------------------------------------------+
| root | localhost | *802452042C3EFB42BF9E301BE733E17769838BE6 |
| root | 127.0.0.1 | *802452042C3EFB42BF9E301BE733E17769838BE6 |
| zabbix | localhost | *802452042C3EFB42BF9E301BE733E17769838BE6 |
+--------+-----------+-------------------------------------------+
8 rows in set (0.00 sec)
創建zabbix用戶,用來讓web來接mysql,監控中心zabbix-mysql,啓動的前提是要連接mysql,客戶端採集了數據後,需要把數據傳給服務端,然後服務端要怎麼把這些數據導入到mysql數據庫中,這就涉及到了mysql用戶,用哪個用戶,去寫入哪個庫:
導入數據庫,需要導入zabbix原始的數據行,若缺少這些數據,zabbix就沒法工作,
[root@zabbix yum.repos.d]# cd /usr/share/doc/zabbix-server-mysql-3.0.31/
[root@zabbix zabbix-server-mysql-3.0.31]# gzip -d create.sql.gz
gzip: create.sql.gz: No such file or directory
[root@zabbix zabbix-server-mysql-3.0.31]# mysql -uroot -pnihao123 zabbix < create.sql
添加到自啓動並啓動zabbix-server和httpd;
如有問題請查看:啓動zabbix報錯。
[root@zabbix zabbix-server-mysql-3.0.31]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@zabbix zabbix-server-mysql-3.0.31]# systemctl start zabbix-server
[root@zabbix zabbix-server-mysql-3.0.31]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zabbix zabbix-server-mysql-3.0.31]# systemctl start httpd
如下圖示:zabbix啓動了,但是看不到zabbix監聽端口。
[root@zabbix zabbix-server-mysql-3.0.31]# ps aux|grep zabbix
root 1069 0.0 0.0 102896 2360 ? Ss 12:56 0:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid -H zabbix eth0
root 11636 0.0 0.0 113320 1600 pts/1 S 13:41 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/zabbix.pid
mysql 11775 0.1 6.4 1506808 501604 pts/1 Sl 13:41 0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=zabbix.err --pid-file=/data/mysql/zabbix.pid --socket=/tmp/mysql.sock
zabbix 12335 0.0 0.0 254676 3180 ? S 14:08 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
root 12376 0.0 0.0 112816 972 pts/1 S+ 14:09 0:00 grep --color=auto zabbix
[root@zabbix zabbix-server-mysql-3.0.31]# netstat -anp|grep zabbix
日記在 /var/log/zabbix/zabbix_server.log
註釋:雖然zabbix有進程,但還麼有徹底起來,說明不能夠連接數據庫,需要修改zabbix配置文件:/etc/zabbix/zabbix_server.conf
搜索/DBHost 在DBName=zabbix上面增加 DBHost=127.0.0.1
搜索在DBuser下面增加 DBPassword=fenye-zabbix
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1 #新增這行:
DBName=zabbix
DBUser=zabbix
DBPassword=fenye-zabbix #新增這行:
[root@zabbix ~]# mkdir /var/lib/mysql
[root@zabbix ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@zabbix ~]# /etc/rc.d/init.d/mysqld restart
重啓zabbix服務: systemctl restart zabbix-server
[root@zabbix ~]# systemctl restart zabbix-server
並查看zabbix的進程及端口號: ps aux |grep zabbix |wc -l ### netstat -lntp |grep zabbix
[root@zabbix ~]# ps aux |grep zabbix|wc -l
31
註釋:這時來查看zabbix的進程,有31個,正常情況下也是這麼多進程的: zabbix的監聽端口是10051:
接下來是配置web界面了(關閉防火牆和selinux):
在瀏覽器裏輸入IP地址(監控服務端IP地址): http://x.x.x.x/zabbix
註釋:如上圖所示:出現頁面提示:“PHP option date.tomezone” ###表示需要設置php時區: 並重啓httpd服務。
需要修改php配置文件: /etc/php.ini
[root@zabbix ~]#vim /etc/php.ini
;date.timezone = Asia/Shanghai #修改爲data.timezone = Asia/Shanghai
#注意前面的分號也要去掉:
[root@zabbix conf.d]# systemctl restart httpd
再次刷新瀏覽器,發現php timezone的錯誤Fail消失:
配置數據庫的相關信息: Datebase host | port | name User | password
安裝成功後,會有提示頁面,如有錯誤,則返回去修改:
登錄zabbix,默認的賬號是admin,默認密碼是zabbix:
註釋:我們在登錄zabbix,首先需要先修改密碼,不然容易被黑客拿到後臺的權限:
更改密碼:選擇administration-----> Users -----> admin
再次退出後,就可以使用新的密碼登錄了:這個zabbix的中文web界面了:
zabbix修改默認頁面,現在訪問zabbix,都是要在http://ip/zabbix這個訪問:
需要修改成直接輸入ip地址可以訪問:
如下:修改http的配置文件DocumentRoot的路徑:
[root@zabbix conf.d]# vim /etc/httpd/conf/httpd.conf
#DocumentRoot "/var/www/html"
DocumentRoot "/usr/share/zabbix"
修改後重啓httpd服務,然後就可以輸入ip地址訪問了:
修改zabix圖像亂碼:
從本地windows上傳一個字體既可:
註釋:顯示方塊表示亂碼,本來應該顯示中文的,但是這個並不是字符集的問題:
顯示成亂碼,並且小方塊顯示的很有規律,只能是這個文字無法顯示,只能用小方塊代替,這裏是缺少中文的字體庫,只要導入字體庫就可以了,如下:
[root@zabbix conf.d]# ls /usr/share/zabbix/fonts/
graphfont.ttf
打開win7系統 : C盤 -----> Windows -----> Fonts -----> 找到simfang.ttf(仿宋簡體) -----> 複製到桌面 -----> 通過xshell的終端上傳命令rz到linux的/usr/sahre/zabbix/fount/,並修改名稱爲graphfont.tff:
用xshell上傳至 /usr/share/zabbix/fonts/目錄下
[root@zabbix fonts]# mv graphfont.ttf graphfont.ttf.bak
[root@zabbix fonts]# ln -s STFANGSO.TTF graphfont.ttf
刷新瀏覽器則會看到顯示正常了。