当前位置: 首页>前端>正文

1. zabbix 部署安装

环境

系统:centos7.9

软件版本:

? ? mysql: 5.7

? ? zabbix: 5.0

内网:

? ? Port: 10051

? ? IP: 192.168.126.141

外网:

? ? Port:?

? ? Domain:?

Agent被动模式(默认)

? ? server 端主动连接 agent

? ? server和agent在同一个网络中

? ? 或者将agent 10050 端口映射到公网

Agent主动模式

? ? agent 主动连接 server端

? ? server和agent在同一个网络中

? ? 或者将server 10051 端口映射到公网

zabbix 文档:

https://www.zabbix.com/documentation/5.0/zh/start


1. 配置防火墙, Selinux

80:zabbix-web

3306:mysql

10050:zabbix-agent

10051:zabbix-server

// 防火墙不执行过滤

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

//? 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

1 命令查看出selinux的状态?

sestatus -v?

2 临时关闭 selinux?

setenforce 0?

3 永久关闭selinux?

vi /etc/sysconfig/selinux?

把里边的一行改为?

SELINUX=disabled

setenforce 1 设置SELinux 成为enforcing模式?

setenforce 0 设置SELinux 成为permissive模式?

如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0

// 修改配置文件的SELINUX=disabled,永久关闭

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

// 关闭防火墙

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. 配置时间同步(非必须)

#安装ntp服务

yum install -y ntpdate

#同步时间服务器

ntpdate ntp1.aliyun.com

#调整为亚洲上海时区

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服务端

a. aliyun

#下载部署

快:https://mirrors.aliyun.com/

b. 官方

# 下载部署包

# rpm -ivh 是执行rpm包命令,执行完下面的命令,是安装zabbix的yum仓库

step1:

// 注意:cent7和cent8分别下载不同的包

// https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

语法: rpm -ivh file.rpm? % 这个是用来安装一个新的rpm 包

? ? ? ? ? ? rpm -Uvh file.rpm? % 这是用来升级一个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:

# 执行完安装:列出你所有的yum repo

yum? repolist? 查看当前的yum库中是否包含zabbix

结果如下:

1. zabbix 部署安装,第1张

# 可选,安装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 的命令, 用于测试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命令:??用来获得有关进程、虚存、页面交换空间及?CPU活动的信息。这些信息反映了系统的负载情况

vmstat 1

6. 创建初始数据库: 安装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 子存储库

yum install -y yum-utils? ? ? ? ? ? ? ? ? ? ? ? ? # 安装 yum 配置工具管理 YUM 源

yum-config-manager --disable mysql80-community? ? # 禁用 mysql80版本 子存储库

yum-config-manager --enable mysql57-community

yum repolist enabled | grep mysql? ? ? ? ? ? ? ? # 查看已启用的 mysql 子存储库step2: 安装mysql

yum install -y mysql-community-server

step3: 启动 mysql 服务,跟随系统启动

systemctl start mysqld

systemctl status mysqld

systemctl enable mysqld

step4:? 创建数据库, 并授予zabbix权限,修改数据库密码,

创建zabbix 用户并授权(设置mysql本地登录root密码为ABcd_123!

创建zabbix用户密码为ABcd_123! )

a. mysql -u root -p // 登陆mysql,ABcd_123!

例子:mysql> set password for root@localhost = password('123');

b. 创建数据库

create database zabbix character set utf8 collate utf8_bin;

c. 创建用户

create user zabbix@localhost identified by 'ABcd_123!';

d.授权zabbixs

grant all privileges on zabbix.* to zabbix@localhost;

grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'ABcd_123!';

flush privileges;

quit;

step5: 导入初始架构和数据(数据和表),系统将提示您输入新创建的密码。zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix

密码:ABcd_123!

step6: 初始化数据库表(这步骤忽略,在个别的zabbix版本中,可能用到 ,step5已经完成表的建立)

# 查看表

rpm -ql zabbix-server-mysql

# 解压

gzip -d /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz

# 执行导入

mysql -u root -p zabbix < create.sql

7. 为Zabbix server配置数据库(不是必须zabbix 5.0 进入web可以设置, 如果页面设置后,没有生效,就要手动设置如下参数, 注意,web页面设置中,主机和数据库地址写IP,不要写localhost)

编辑配置文件 /etc/zabbix/zabbix_server.conf

下面:好像不是必须,不同的zabbix版本,要求不一定同,zabbix 5.0 进入web可以设置

======== 下面的配置不是必须,zabbix 5.0 进入web页面能配置

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

注意书写格式, 每一项是一行

1. zabbix 部署安装,第2张


9. 安装PHP 环境(好像不是必须,不同的zabbix版本,要求不一定同, 5.0 版本不是必须)

安装zabbix相关包的时候,会安装php,但是使用php -v没有结果,使用rpm -qa | grep php,有结果。具体原因不详。

locate php.ini, php.ini 不在“/etc/php.ini”,原因不详

10. 启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

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 服务启动日志

# vim? /var/log/zabbix/zabbix_server.log

11. 配置Zabbix前端

# 更改 php, apache 时区(好像不是必须,不同的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? 版本没有执行,执行出错)sed -i '20a\ php_value date.timezone Asia/ShangHai' /etc/httpd/conf.d/zabbix.conf

step3:# 启动Apache进程,跟随系统启动

systemctl start httpd

systemctl enable httpd

systemctl status httpd

#查看Apache的端口

netstat -tunlp| grep 80

netstat -lnpt

step4:如果想修改默认的端口怎么办

在安装zabbix server的时候默认就安装了apache,zabbix依靠apache提供的web服务,修改Zabbix的浏览器访问端口,就是修改apache的服务端口(默认端口:80)

1.编辑httpd.conf文件? :vim /etc/httpd/conf/httpd.conf

2.修改默认的侦听端口和ServerName

   Listen?8008

? ? ? ? ServerName IP:8008

3.重启apache服务,使配置生效:?service?httpd?restart

4.添加防火墙规则,允许端口访问

  编辑 :vim /etc/sysconfig/iptables

  # zabbix web

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 8008 -j ACCEPT

 重启防火墙:service iptables restart

5.浏览器访问 http://IP:8008/zabbix?测试是否修改成功


https://www.xamrdz.com/web/2rk1994222.html

相关文章: