前言
因项目需求,领导和我说需要安装一个zabbix,故此我开始测试如何去安装,通过参考B站视频以及官网教程,编写以下安装过程,以下附加参考的视频和官网链接,感谢官网和视频作者的帮助。
正文
服务器基础配置
关闭防火墙和selinux
systemctl stop firewalld
systemctl disbale firewalld
vim /etc/selinux/configSELINUX=disabled //修改selinux为disabled
setenforce 0 //临时修改selinux状态
getenforce //查看selinux状态
2.更换yum源
由于阿里云镜像站升级,所以从清华大学开源镜像站下载的,源默认url为国外地址,第二句话是用阿里云地址替换国外地址,第3、4句为清空缓存&建立新的缓存
1.rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
3.yum clean all
4.yum makecache
3.安装zabbix
安装命令如下
yum install zabbix-server-mysql zabbix-agent -y
4.安装software collection
yum install -y centos-release-scl
5.修改frontend yum源
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1 //此处改为1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
6. 安装zabbix前端
注:个人比较熟悉nginx,因此在安装时参考官网安装nginx方法,超哥视频安装的是apahce 因此,可按个人需要去参考。
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
7.安装mysql数据库
注:1.需要oracle账号密码 2.我使用的是5.7.34版本,可以直接按照我的下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
8.解压:
tar -xvf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
9.卸载mariadb
rpm -qa | grep mariadb* //查询 rpm -e xxxx --nodeps//强制卸载掉查询到的rpm包
10.安装mysql
请按照我的顺序安装,这个顺序是我每个依赖包测出来的,如果嫌麻烦可以rpm -ivh *.rpm --nodeps 但是这样有可能会出现依赖问题。
rpm -ivh mysql-community-common-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.34-1.el7.x86_64.rpm
//主要的是以上几个 其余的可按自己需求安装
systemctl start mysqld //启动MySQL
systemctl enabled mysqld //加入开机启动
systemctl status mysqld //查看状态
11.配置mysql
文章从两方面来讲:
(1)使用Navicat工具配置mysql
首次进入mysql会要求修改密码,以下为操作过程
cat /var/log/mysqld.log | grep pass //从log中查看mysql密码
mysql -uroot -p //进入mysql
set global validate_password_policy=0; //修改参数
set global validate_password_length=1; //密码长度)参数默认为8,修改为1
alter user 'root'@'localhost' identified by '123456'; //修改密码
use mysql; //使用mysql库
update user set host = '%' where user = 'root'; //解决不能使用Navicat登录
FLUSH PRIVILEGES; //刷新
exit; //退出
mysql 端口号默认3306 ,配置如图所示
新建数据库,注意字符集要选择utf8,排序规则要选择utf8_bin
创建用户
分配数据库权限
保存完成后数据库配置完成。
(2)使用命令行配置数据库
1 cat /var/log/mysqld.log | grep pass //从log中查看mysql密码
2 mysql -uroot -p //进入mysql
3 set global validate_password_policy=0; //修改参数
4 set global validate_password_length=1; //密码长度)参数默认为8,修改为1
5 alter user 'root'@'localhost' identified by '123456'; //修改密码
6 create database zabbix character set utf8 collate utf8_bin; //添加数据库并设置字符集和排序规则
7 create user'zabbix_user'@'%' identified by '123456'; //创建用户并设置密码为123456
8 grant all privileges on zabbix.* to 'zabbix_user'@'%';//授予用户拥有库的权限
9 flush privileges; //刷新
10 exit; //退出
12导入zabbix初始架构并验证
1 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix_user -p zabbix
2 //注意修改用户 使用自己创建的user 回车后会要求输入密码
3 mysql -u root -p
4 use zabbix; //切换库
5 show tables from zabbix; //查看表
13为zabbix server配置数据库
vim /etc/zabbix/zabbix_server.conf
//修改DBPassword
119 # Database password.
120 # Comment this line if no password is used.
121 #
122 # Mandatory: no
123 # Default:
124 DBPassword=123456 //我这里看到的是124行,取消这里的注释,并且添加密码(配置的数据库密码,如果数据库用户更改 上面的DBPuser也需要修改 否则会报错)
125
126 ### Option: DBSocket
127 # Path to MySQL socket.
128 #
129 # Mandatory: no
130 # Default:
131 # DBSocket=
14修改zabbix 前端配置
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
listen 80;//取消注释
server_name test.zabbix.com;//取消注释修改成IP或自己的域名
root /usr/share/zabbix;
index index.php;
location = /favicon.ico {
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires 10d;
}
location ~ /\.ht {
deny all;
}
location ~ /(api\/|conf[^\.]|include|locale|vendor) {
deny all;
return 404;
15编辑配置文件 有两处需要修改
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[zabbix]
user = apache
group = apache
listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache,nginx //这里添加nginx 用英文逗号隔开
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/shanghai //修改为上海时区,并且取消前面的注释
16修改hosts文件
//如果server_name 是IP 可调过这个环节
vim /etc/hosts
192.168.xxx.xxx test.zabbix.com //自己的ip 和 域名
//我是虚拟机安装的zabbix 在物理机hosts文件也需要添加一下
C:\Windows\System32\drivers\etc\hosts
192.168.xxx.xxx test.zabbix.com
17启动服务
1 systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
2
3 systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
18访问并进行最后配置
至此,完成
小结
总体来说部署起来不是很难,目前Apache和Nginx两种我都试过了,Apache需要在IP后面跟上/zabbix,如果个人使用勉强可以(或者去修改文件,不是很熟悉就没改)Nginx配置完以后输入IP就可以访问到了, 此次也了解到software collection 也算是不错的体验,具体zabbix如何使用还需要进一步学习。