該教程是以官網(wǎng)的安裝教程為基礎(chǔ)進(jìn)行了的優(yōu)化,所有提供內(nèi)容均為筆者驗(yàn)證可用。
提供安裝方式有兩種分別為:二進(jìn)制安裝、Docker容器安裝(推薦)
什么是ZABBIX
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營;并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺上。
準(zhǔn)備工作
系統(tǒng)準(zhǔn)備(建議|可選)
可以根據(jù)自身系統(tǒng)的要求選擇性的參照此章節(jié),如果是新安裝的CentOS7操作系統(tǒng)建議執(zhí)行該章節(jié)內(nèi)容。
-
備份鏡像源
# 備份源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup -
替換鏡像源
# 下載阿里云CentOS.repo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo -
關(guān)閉防火墻
# 關(guān)閉防火墻 systemctl stop firewalld.service # 撤銷開機(jī)啟動 systemctl disable firewalld.service -
關(guān)閉安全增強(qiáng)
# 設(shè)置SELinux的運(yùn)行模式 setenforce 0 # 設(shè)置SELINUX=disabled sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config -
安裝EPEL源
yum install -y epel-release -
安裝開發(fā)組件
# 常用開發(fā)組件 yum groups install -y "Development Tools" -
重啟系統(tǒng)
reboot
數(shù)據(jù)庫安裝(可選)
使用MYSQL或者M(jìn)ariaDB數(shù)據(jù)庫,如果已有現(xiàn)成數(shù)據(jù)庫則可以跳過該步驟。
注:Oracle公司收購了MySQL后,有將MySQL閉源的潛在風(fēng)險(xiǎn)。社區(qū)采用分支的方式來避開這個風(fēng)險(xiǎn),因此誕生了MariaDB。部分大型互聯(lián)網(wǎng)用戶以及Linux發(fā)行商紛紛拋棄MySQL,轉(zhuǎn)投MariaDB陣營。MariaDB是目前最受關(guān)注的MySQL數(shù)據(jù)庫衍生版,也被視為開源數(shù)據(jù)庫MySQL的替代品。
如果打算Docker安裝(推薦)也建議跳過此步驟,Docker有提供容器數(shù)據(jù)庫安裝。
-
安裝MariaDB
yum install -y mariadb-server -
啟動MariaDB
# 啟動MariaDB systemctl start mariadb.service # 設(shè)置為開啟啟動 systemctl enable mariadb.service -
初始化數(shù)據(jù)庫
mysql_secure_installation797E04E2-2A4B-4013-B6E1-A870CF37423F.jpg
數(shù)據(jù)庫安裝并初始化完成。
ZABBIX安裝
系統(tǒng)環(huán)境——
- 發(fā)行版本:CentOS7.5 +
- 內(nèi)核版本:3.10 +
二進(jìn)制安裝
-
安裝zabbix5.0鏡像源
# 安裝Zabbix鏡像源 rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum clean all -
安裝zabbix-server-mysql與zabbix-agent
yum install -y zabbix-server-mysql zabbix-agent -
安裝zabbix-frontend
開啟Red Hat軟件集合
yum install -y centos-release-scl編輯
/etc/yum.repos.d/zabbix.repo文件[zabbix-frontend] ... enabled=1 ...49292496-BA60-46AA-A10B-ED747122B1C3.jpgyum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl -
配置zabbix數(shù)據(jù)庫
# 使用root用戶登錄(密碼自行修改) mysql -uroot -proot # 新建zabbix用戶與數(shù)據(jù)庫 MariaDB> create database zabbix character set utf8 collate utf8_bin; MariaDB> create user `zabbix`@`%` identified by 'Zabbix@Password'; MariaDB> grant all privileges on zabbix.* to `zabbix`@`%`; -
初始化數(shù)據(jù)
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pZabbix@Password zabbix -
Zabbix server配置數(shù)據(jù)庫
編輯配置文件
/etc/zabbix/zabbix_server.confDB開頭的參數(shù)均為數(shù)據(jù)庫參數(shù),根據(jù)Mysql|MariaDB的配置修復(fù)即可。如下所示——
... DBHost=localhost ... DBPassword=Zabbix@Password ... -
Zabbix前端配置PHP
編輯配置文件
/etc/opt/rh/rh-php72/php.ini... max_execution_time = 300 ... post_max_size = 16M ... date.timezone = Asia/Shanghai ...編輯配置文件
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf... listen.acl_users = apache,nginx ... ; php_value[date.timezone] = Asia/Shanghai ...編輯配置文件
/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf# port listen 80; # server_ip_or_name server_name 192.168.1.100; -
啟動Zabbix server和agent進(jìn)程
啟動Zabbix server和agent進(jìn)程,并為它們設(shè)置開機(jī)自啟。
# 啟動 systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm # 開機(jī)自啟 systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm -
進(jìn)入U(xiǎn)I安裝界面
輸入nginx配置的host跟port,例如http://192.168.1.100進(jìn)入后需要安裝。
B77E25DF-1676-4533-B1C0-C383F620C8AA.jpg點(diǎn)擊下一步。
88923E4C-102C-48A6-8F17-3092536A0094.jpg這里是驗(yàn)證是否滿足安裝條件,我們之前修復(fù)改配置因此全部OK,直接下一步。
DB74E26A-ED38-4A96-8AF3-828921F86810.jpg輸入數(shù)據(jù)庫信息,之前筆者配置的密碼是
Zabbix@Password。479BA9AA-77BC-40A5-8BF5-913BDFA89169.jpg這里要注意
Zabbix server需要與配置保持一致。0DB29FB5-EC90-48D5-9FE0-84F3CA4E536C.jpg確認(rèn)無誤之后直接下一步。
C1FADEA8-0807-491D-B22F-E97650428772.jpg完成安裝。
-
登錄zabbix
63D7BC71-EC1A-4CD9-8915-E993451931C0.jpg
賬號/密碼為Admin/zabbix53945AFB-C7E5-434B-B329-3B464D9C25A7.jpg成功登錄后進(jìn)入zabbix監(jiān)控頁面。
docker安裝
推薦使用容器化安裝zabbix。
-
安裝mysql
docker run -it --rm \ --privileged=true \ --name mysql-server \ -p 3306:3306 \ -v /opt/docker/zabbix/zabbix-mysql/log:/var/log/mysql \ -v /opt/docker/zabbix/zabbix-mysql/data:/var/lib/mysql \ -v /opt/docker/zabbix/zabbix-mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD="root" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="Zabbix@Password" \ -e TZ="Asia/Shanghai" \ -d mysql:5.7 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_bin \ --lower_case_table_names=1 -
安裝zabbix-java-gateway
docker run -it --rm \ --privileged=true \ --name zabbix-java-gateway \ -d zabbix/zabbix-java-gateway:latest -
安裝zabbix-server
docker run -it --rm \ --privileged=true \ --name zabbix-server-mysql \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="Zabbix@Password" \ -e MYSQL_ROOT_PASSWORD="root" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest -
安裝zabbix-web
docker run -it --rm \ --privileged=true \ --name zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="Zabbix@Password" \ -e MYSQL_ROOT_PASSWORD="root" \ -e ZBX_SERVER_HOST="zabbix-server-mysql" \ -e ZBX_SERVER_PORT=10051 \ -e ZBX_POSTMAXSIZE=1024M \ -e PHP_TZ="Asia/Shanghai" \ --link mysql-server:mysql \ --link zabbix-server-mysql:zabbix-server \ -p 18080:8080 \ -p 18443:8443 \ -p 10080:80 \ -d zabbix/zabbix-web-nginx-mysql:latest -
安裝zabbix-agent
docker run -it --rm \ --privileged=true \ --name zabbix-agent \ -e ZBX_HOSTNAME="Zabbix server" \ -e ZBX_SERVER_HOST="zabbix-server-mysql" \ -p 10050:10050 \ --link zabbix-server-mysql:zabbix-server \ -d zabbix/zabbix-agent:latest -
修改host地址
注意因?yàn)閍gent是使用容器,因此這里需要配置容器IP。
# 獲取zabbix-agent的IP地址 docker inspect --format='{{.NetworkSettings.IPAddress}}' zabbix-agent9B9A9323-9C9D-4A16-A845-AC8DFB19547B.jpg
尾聲
以上就是ZABBIX5.0的安裝流程,后續(xù)筆者會介紹ZABBIX的功能模塊與實(shí)踐。










