zabbix6.0LTS安装全过程及遇到的问题

在这里插入图片描述
现有centos 7 和mysql8.0 想下载zabbix6.0LTS的 server版本 ,可是发现没有,只有proxy。
还没搞懂proxy的用处,但目前知道不能替代server.
所以打算安装centos 8 stream
国内阿里云镜像下载
https://mirrors.aliyun.com/centos/

在这里插入图片描述
安装后发现时间不对
查看时区date 显示EDT 北美东部时区
更改为CST 中国标准时区
查找上海的timezone
timedatectl list-timezones |grep Shanghai
更改为上海的timezone
sudo timedatectl set-timezone Asia/Shanghai
之后date发现时间还不对
同步网络时间
先确认是否能上网 上不了网
目前虚拟机中的环境是能上外网 虚拟机之间的机器也互通
配置方法如下:
上网方式为NAT模式
更改配置文件为静态IP
在这里插入图片描述
重启网卡在 CentOS 8 中已经废弃 network.service 所以“systemctl restart network”这样的方式不好用了
在这里插入图片描述
重启⽹卡之前⼀定要重新载⼊⼀下配置⽂件,不然不能⽴即⽣效
nmcli c reload
重启⽹卡(下⾯的三条命令都可以):
nmcli c up ens160
nmcli d reapply ens160
nmcli d connect ens160

然后ifconfig 验证一下ip是否配置进去了 之后再ping一下百度 可以ping通 网络配置成功

但是重启系统后时间就正确了 也不知道什么时候正确的 再查看下时区
在这里插入图片描述
已经是CST了 就可以了

之后安装mysql8
参考之前文档,但是centos8出现问题
1.my.cnf 自己创建的
2.进入mysql数据库时mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
找不到libtinfo.so.5
最开始yum install libtinfo.so.5 然后折腾一圈也不好使,最后建立以下软连接好用了

ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

在这里插入图片描述

1:将 SELinux 设置为permissive模式

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

2:安装 Zabbix 服务器、前端和代理

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
dnf clean all
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

3.创建数据库
之前已经安装成功mysql,所以直接创建

create database zabbix character set utf8mb4 collate utf8mb4_bin;

4.在zabbix数据库创建zabbix用户

CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';

5.给用户赋予所有权限

rant all privileges on *.* to 'zabbix'@'%';

6.授权后刷新系统权限表之后退出:

flush privileges;
quit;

7.导入初始架构和数据,系统将提示您输入新创建的密码。

# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

8.为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf

cd /etc/zabbix
 vi zabbix_server.conf

把DBpassword注释解开

DBPassword=zabbix

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

systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm

10.配置防火墙

firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
firewall-cmd --reload

11.配置 Zabbix 前端
a. 重新启动 Apache Web 服务器,并使其在系统启动时启动

systemctl restart httpd php-fpm
systemctl enable httpd php-fpm

b.配置 Web 前端
使用 URL"http:// server_ip_or_dns_name/zabbix"连接到新安装的 Zabbix 前端,以启动 Zabbix 安装向导。在此向导中,您只需要输入Zabbix DB用户的密码,对于其他内容,只需单击"下一步"即可
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

把localhost改成127.0.0.1,提示变了

是由于新版本mysql账号密码解锁的机制不一致导致的,新版本中mysql解锁机制为caching_sha2_password,而旧版本中是mysql_native_password,影响了服务器与和客户端的兼容性问题,所以将zabbix验证方式更改为以前的mysql_native_password
在这里插入图片描述

select host,user,plugin,authentication_string from mysql.user;

ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'zabbix' 
flush privileges;

在这里插入图片描述
在这里插入图片描述
此处使用Zabbix默认管理员用户名"Admin"和密码"zabbix"(不带引号)通过浏览器登录到URL"http:// server_ip_or_dns_name/zabbix"的Zabbix前端。

还有以下可选的没有配置,参考了https://www.eflytop.com/post/centos8-install-zabbix6/

8:在历史记录和事件表上创建MySQL分区(可选)
Zabbix使用housekeeping进程删除旧的趋势和历史数据。使用 SQL DELETE语句从数据库中删除旧数据可能会对数据库性能产生负面影响。因此,有时候我们看到这个告警:Zabbix housekeeper processes more than 75% busy

这个问题可以通过数据库分区轻松解决。分区为每个小时或每天创建表,并在不再需要时删除它们。SQL DROP比 DELETE语句更有效。

您可以参照这个教程对MySQL表进行分区。

9:优化Zabbix服务器(可选)
如果您计划监视大量设备,请继续执行此步骤。

使用vi或nano命令打开zabbix_server.conf文件:

nano /etc/zabbix/zabbix_server.conf
然后将下列配置添加到文件中的任意位置:

StartPollers=100
StartPollersUnreachable=50
StartPingers=50
StartTrappers=10
StartDiscoverers=15
StartPreprocessors=15
StartHTTPPollers=5
StartAlerters=5
StartTimers=2
StartEscalators=2
CacheSize=128M
HistoryCacheSize=64M
HistoryIndexCacheSize=32M
TrendCacheSize=32M
ValueCacheSize=256M
保存并退出文件(ctrl+x,后跟 y 并回车)。请根据实际情况修改这些配置,比如你不使用ping监控,可以设定StartPingers=1。

10:优化 MySQL/MariaDB 数据库(可选)
有时您会碰到下面这个告警:
[Z3001] connection to database ‘Zabbix’ failed: [1040] Too many connections/var/log/zabbix/zabbix_server.log
那么您可以添加如下配置:

a. 创建自定义 MySQL 配置文件
通过vi或nano命令创建mysql.cnf配置文件:

nano /etc/my.cnf.d/mysql.cnf
粘贴如下配置:

[mysqld]
max_connections = 404
innodb_buffer_pool_size = 800M

innodb-log-file-size = 128M
innodb-log-buffer-size = 128M
innodb-file-per-table = 1
innodb_buffer_pool_instances = 8
innodb_old_blocks_time = 1000
innodb_stats_on_metadata = off
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-flush-log-at-trx-commit = 2

tmp-table-size = 96M
max-heap-table-size = 96M
open_files_limit = 65535
max_connect_errors = 1000000
connect_timeout = 60
wait_timeout = 28800

保存并退出文件(ctrl+x,后跟 y 并回车)。给该文件添加权限:

chown mysql:mysql /etc/my.cnf.d/mysql.cnf
chmod 644 /etc/my.cnf.d/mysql.cnf
要注意的2个参数:

参数max_connections必须大于所有 Zabbix 进程的总数加上 150。您可以使用以下命令自动检查Zabbix进程的数量(该命令的结果是加上了150后的值):
egrep “^Start.+=[0-9]” /etc/zabbix/zabbix_server.conf | awk -F “=” ‘{s+=$2} END {print s+150}’
404
第二个重要的参数是innodb_buffer_pool_size。它决定了MySQL可以获得多少内存来缓存InnoDB表和索引数据。如果服务器上仅安装了数据库,则应将该参数设置为系统内存的 70%。
但是通常情况下,我们将Zabbix数据库和Apache安装在同一台服务器,因此建议将innodb_buffer_pool_size设置为总系统内存的40%。如果服务器是2G RAM,那么这个值将设定为是800MB。

b. 重新启动 Zabbix Server 和 MySQL 服务
systemctl stop zabbix-server
systemctl stop mysql
systemctl start mysql
systemctl start zabbix-server
11:如何管理Zabbix / MySQL / Apache服务
有时您需要检查或重新启动Zabbix,MySQL或Apache服务, 使用下面的命令来执行此操作。

Zabbix Server
systemctl <status/restart/start/stop> zabbix-server

MySQL/MariaDB Server
systemctl <status/restart/start/stop> mysql

Apache Server
systemctl <status/restart/start/stop> httpd

PHP FastCGI Process Manager
systemctl <status/restart/start/stop> php-fpm

Zabbix Agent
systemctl <status/restart/start/stop> zabbix-agent

upgrade
dnf upgrade ‘zabbix-*’

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值