環(huán)境
系統(tǒng):centos7.9
軟件版本:
? ? mysql: 5.7
? ? zabbix: 5.0
內(nèi)網(wǎng):
? ? Port: 10051
? ? IP: 192.168.126.141
外網(wǎng):
? ? Port:?
? ? Domain:?
Agent被動(dòng)模式(默認(rèn))
? ? server 端主動(dòng)連接 agent
? ? server和agent在同一個(gè)網(wǎng)絡(luò)中
? ? 或者將agent 10050 端口映射到公網(wǎng)
Agent主動(dòng)模式
? ? agent 主動(dòng)連接 server端
? ? server和agent在同一個(gè)網(wǎng)絡(luò)中
? ? 或者將server 10051 端口映射到公網(wǎng)
zabbix 文檔:
https://www.zabbix.com/documentation/5.0/zh/start
1. 配置防火墻, Selinux
80:zabbix-web
3306:mysql
10050:zabbix-agent
10051:zabbix-server
// 防火墻不執(zhí)行過(guò)濾
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3360/tcp --permanent
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload
//? 安全增強(qiáng)型 Linux(Security-Enhanced Linux)簡(jiǎn)稱 SELinux请祖,它是一個(gè) Linux 內(nèi)核模塊,也是 Linux 的一個(gè)安全子系統(tǒng)。
1 命令查看出selinux的狀態(tài)?
sestatus -v?
2 臨時(shí)關(guān)閉 selinux?
setenforce 0?
3 永久關(guān)閉selinux?
vi /etc/sysconfig/selinux?
把里邊的一行改為?
SELINUX=disabled
setenforce 1 設(shè)置SELinux 成為enforcing模式?
setenforce 0 設(shè)置SELinux 成為permissive模式?
如果要徹底禁用SELinux 需要在/etc/sysconfig/selinux中設(shè)置參數(shù)selinux=0
// 修改配置文件的SELINUX=disabled,永久關(guān)閉
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
// 關(guān)閉防火墻
systemctl stop firewalld.service
2. 配置YUM源(非必須)
mkdir /etc/yum.repos.d/OldRepo
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/OldRepo/
curl -so /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -so /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i '/aliyuncs.com/d' /etc/yum.repos.d/Centos-7.repo /etc/yum.repos.d/epel-7.repo
3. 配置時(shí)間同步(非必須)
#安裝ntp服務(wù)
yum install -y ntpdate
#同步時(shí)間服務(wù)器
ntpdate ntp1.aliyun.com
#調(diào)整為亞洲上海時(shí)區(qū)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock -w
echo "*/30 * * * * $(which ntpdate) ntp1.aliyun.com > /dev/null 2>&1 && $(which hwclock) -w" > /var/spool/cron/root
chmod 600 /var/spool/cron/root
# 查看日期
date
4. 配置IP地址(非必須)
vi /etc/hosts
192.168.126.141 zabbix
192.168.126.142 fw
192.168.126.143 docker1
# 立即生效
/etc/init.d/network restart
5. 安裝zabbix服務(wù)端
a. aliyun
#下載部署包
b. 官方
# 下載部署包
# rpm -ivh 是執(zhí)行rpm包命令,執(zhí)行完下面的命令,是安裝zabbix的yum倉(cāng)庫(kù)
step1:
// 注意:cent7和cent8分別下載不同的包
// https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache
語(yǔ)法: rpm -ivh file.rpm? % 這個(gè)是用來(lái)安裝一個(gè)新的rpm 包
? ? ? ? ? ? rpm -Uvh file.rpm? % 這是用來(lái)升級(jí)一個(gè)rpm 包rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 清除YUM緩存修然。
yum clean all
step2:
# 執(zhí)行完安裝:列出你所有的yum repo
yum? repolist? 查看當(dāng)前的yum庫(kù)中是否包含zabbix
結(jié)果如下:
# 可選,安裝epel,前面安裝epel-7了
yum -y install epel-release.noarch
step3:
# Install Zabbix server and agent
sudo yum install zabbix-server-mysql zabbix-agent
# Install Zabbix frontend,
# Enable Red Hat Software Collections
sudo yum install centos-release-scl
編輯配置文件 /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.
[zabbix-frontend]
...
enabled=1
...
step4:
#Install Zabbix frontend packages.
sudo yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
# zabbix 的命令, 用于測(cè)試agent是否有效
yum install zabbix-get.x86_64
例子:
zabbix_get -s 192.168.126.141 -p 10050 -k 'system.cpu.intr'
zabbix_get -s 192.168.126.141 -p 10050 -k 'net.tcp.listen[10050]'
vmstat命令:??用來(lái)獲得有關(guān)進(jìn)程、虛存过牙、頁(yè)面交換空間及?CPU活動(dòng)的信息。這些信息反映了系統(tǒng)的負(fù)載情況
vmstat 1
6. 創(chuàng)建初始數(shù)據(jù)庫(kù): 安裝mysql:安裝mysql-5.7
step1: 配置安裝源
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum repolist all | grep mysql? ? ? ? ? ? ? ? ? ? # 查看所有 mysql 子存儲(chǔ)庫(kù)
yum install -y yum-utils? ? ? ? ? ? ? ? ? ? ? ? ? # 安裝 yum 配置工具管理 YUM 源
yum-config-manager --disable mysql80-community? ? # 禁用 mysql80版本 子存儲(chǔ)庫(kù)
yum-config-manager --enable mysql57-community
yum repolist enabled | grep mysql? ? ? ? ? ? ? ? # 查看已啟用的 mysql 子存儲(chǔ)庫(kù)step2: 安裝mysql
yum install -y mysql-community-server
step3: 啟動(dòng) mysql 服務(wù),跟隨系統(tǒng)啟動(dòng)
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld
step4:? 創(chuàng)建數(shù)據(jù)庫(kù), 并授予zabbix權(quán)限纺铭,修改數(shù)據(jù)庫(kù)密碼,
創(chuàng)建zabbix 用戶并授權(quán)(設(shè)置mysql本地登錄root密碼為ABcd_123!
創(chuàng)建zabbix用戶密碼為ABcd_123! )
a. mysql -u root -p // 登陸mysql,ABcd_123!
例子:mysql> set password for root@localhost = password('123');
b. 創(chuàng)建數(shù)據(jù)庫(kù)
create database zabbix character set utf8 collate utf8_bin;
c. 創(chuàng)建用戶
create user zabbix@localhost identified by 'ABcd_123!';
d.授權(quán)zabbixs
grant all privileges on zabbix.* to zabbix@localhost;
grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'ABcd_123!';
flush privileges;
quit;
step5: 導(dǎo)入初始架構(gòu)和數(shù)據(jù)(數(shù)據(jù)和表)寇钉,系統(tǒng)將提示您輸入新創(chuàng)建的密碼。zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
密碼:ABcd_123!
step6: 初始化數(shù)據(jù)庫(kù)表(這步驟忽略舶赔,在個(gè)別的zabbix版本中扫倡,可能用到 ,step5已經(jīng)完成表的建立)
# 查看表
rpm -ql zabbix-server-mysql
# 解壓
gzip -d /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz
# 執(zhí)行導(dǎo)入
mysql -u root -p zabbix < create.sql
7. 為Zabbix server配置數(shù)據(jù)庫(kù)(不是必須zabbix 5.0 進(jìn)入web可以設(shè)置, 如果頁(yè)面設(shè)置后竟纳,沒(méi)有生效撵溃,就要手動(dòng)設(shè)置如下參數(shù), 注意,web頁(yè)面設(shè)置中锥累,主機(jī)和數(shù)據(jù)庫(kù)地址寫IP缘挑,不要寫localhost)
編輯配置文件 /etc/zabbix/zabbix_server.conf
下面:好像不是必須,不同的zabbix版本揩悄,要求不一定同卖哎,zabbix 5.0 進(jìn)入web可以設(shè)置
======== 下面的配置不是必須,zabbix 5.0 進(jìn)入web頁(yè)面能配置
vi /etc/zabbix/zabbix_server.conf
ExternalScripts=/usr/lib/zabbix/externalscripts
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
LogFileSize=0
ListenPort=10051
SourceIP=127.0.0.1
DBHost=localhostDBName=zabbix
DBUser=zabbix
DBPassword=$NewPass // 如: DBPassword=ABcd_123!
Timeout=30
LogSlowQueries=3000
8. 為Zabbix前端配置PHP(5.0 版本是必須)
編輯配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, uncomment and set the right timezone for you.
php_value[date.timezone] = Asia/Shanghai
注意書(shū)寫格式, 每一項(xiàng)是一行
9. 安裝PHP 環(huán)境(好像不是必須删性,不同的zabbix版本亏娜,要求不一定同, 5.0 版本不是必須)
安裝zabbix相關(guān)包的時(shí)候,會(huì)安裝php蹬挺,但是使用php -v沒(méi)有結(jié)果维贺,使用rpm -qa | grep php,有結(jié)果巴帮。具體原因不詳溯泣。
locate php.ini, php.ini 不在“/etc/php.ini”,原因不詳
10. 啟動(dòng)Zabbix server和agent進(jìn)程
啟動(dòng)Zabbix server和agent進(jìn)程榕茧,并為它們?cè)O(shè)置開(kāi)機(jī)自啟:
systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl start zabbix-server
systemctl restart zabbix-server
systemctl status zabbix-server
systemctl enable zabbix-server
systemctl stop zabbix-server
#查看zabbix的端口
# zabbix-server
ss -nutl|grep 10051
# zabbix-agent
ss -nutl|grep 10050
# zabbix 服務(wù)啟動(dòng)日志
# vim? /var/log/zabbix/zabbix_server.log
11. 配置Zabbix前端
# 更改 php, apache 時(shí)區(qū)(好像不是必須垃沦,不同的zabbix版本,要求不一定同)
step1: 配置/etc/php.ini用押,但是在/etc/opt/rh/rh-php72/php.ini 中
sed -i 's#;date.timezone =.*#date.timezone = "Asia/Shanghai"#' /etc/php.ini
step2: 配置 /etc/httpd/conf.d/zabbix.conf(好像不是必須肢簿,不同的zabbix版本,要求不一定同, 5.0? 版本沒(méi)有執(zhí)行,執(zhí)行出錯(cuò))sed -i '20a\ php_value date.timezone Asia/ShangHai' /etc/httpd/conf.d/zabbix.conf
step3:# 啟動(dòng)Apache進(jìn)程,跟隨系統(tǒng)啟動(dòng)
systemctl start httpd
systemctl enable httpd
systemctl status httpd
#查看Apache的端口
netstat -tunlp| grep 80
netstat -lnpt
step4:如果想修改默認(rèn)的端口怎么辦
在安裝zabbix server的時(shí)候默認(rèn)就安裝了apache,zabbix依靠apache提供的web服務(wù),修改Zabbix的瀏覽器訪問(wèn)端口池充,就是修改apache的服務(wù)端口(默認(rèn)端口:80)
1.編輯httpd.conf文件? :vim /etc/httpd/conf/httpd.conf
2.修改默認(rèn)的偵聽(tīng)端口和ServerName
Listen?8008
? ? ? ? ServerName IP:8008
3.重啟apache服務(wù)桩引,使配置生效:?service?httpd?restart
4.添加防火墻規(guī)則,允許端口訪問(wèn)
編輯 :vim /etc/sysconfig/iptables
# zabbix web
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8008 -j ACCEPT
重啟防火墻:service iptables restart
5.瀏覽器訪問(wèn) http://IP:8008/zabbix?測(cè)試是否修改成功