部署ZABBIX + Grafana

CentOS7不能部署zabbix服务,只能部署代理
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭selinux
vi /etc/selinux/config
然后重启


安装zabbix的源比较慢,我们需要更换成国内的源(centos8官方源已下线,建议切换centos-vault源)
进到对应目录

删除所有的默认源

下载阿里源
CentOS 8:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
添加阿里云Zabbix扩展源
CentOS 8:
rpm -ivh [https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm](https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm)
下载不到的话就到[https://mirrors.aliyun.com/zabbix/zabbix](https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm)下载然后上传到主机在安装



更新Zabbix.repo源
CentOS 8:
vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/8/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/8/$basearch/
enabled=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
gpgcheck=1
检查内容

清理并更新源
dnf clean all && dnf makecache
可能会报个小错,不用理直接更新缓存


安装MySQL数据库
安装MySQL
下载mysql安装包:
CentOS 8:
wget --no-check-certificate https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
yum install mysql80-community-release-el8-1.noarch.rpm -y
查看mysql源是否安装成功:
yum repolist enabled | grep "mysql.*-community.*"
再次清理并更新源
CentOS 8:
dnf clean all && dnf makecache

禁用CentOS8自带mysql模块
如果出现No match for argument: mysql-community-server
可执行
<font style="color:rgb(77, 77, 77);">yum module disable mysql -y</font>

安装mysql命令
这一步的时候可能很多人安装不上,
因为是yum安装库的问题,错误(Error: GPG check FAILED),可以将--nogpgcheck添加到后面:
dnf install --nogpgcheck mysql-community-server -y
可能其中一个源下载慢。他会自动换(如果你仔细看日志)
如果还是有问题建议进行离线安装,见离线安装教程
离线安装mysql
下载离线安装包
官网地址:MySQL :: Download MySQL Community Server
进入官网首页,默认是最新版本的下载,而我们需要选择MySQL8.0。

上传tar安装包,并解压
这边下载的版本是mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
上传到/temp下
解压tar包,得到相关的rpm包
tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
卸载系统自带的Mariadb
查系统mariadb文件名
rpm -qa | grep mariadb
删除mariadb文件
rpm -e —nodeps 文件名
卸载系统自带的老版本MySQL
rpm -qa | grep mysql
rpm -e —nodeps 文件名
安装MySQL
执行rpm包
rpm -ivh —nodeps mysql-community-client-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-common-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-debuginfo-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-devel-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-embedded-compat-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-libs-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-libs-compat-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-server-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-server-debug-8.0.34-1.el7.x86_64.rpm
rpm -ivh —nodeps mysql-community-test-8.0.34-1.el7.x86_64.rpm
如果安装过程中出现XXX被需要的其概况,再加上参数—nodeps即可。
如:rpm -ivh —nodeps mysql-community-server-8.0.34-1.el7.x86_64.rpm
启动MySQL
service mysqld start
systemctl enable mysqld
service mysqld status
##如果启动失败可以使用以下命令启动
/bin/systemctl start mysqld.service
某次部署中,客户提供一个不是干净的Linux,CentOS8 ,怎么安装的都是启动失败,都是指向:
[ERROR] [MY-012592] [InnoDB] Operating system error number 2 in a file operation.
删除/var/lib/mysql中的所有文件和目录
cd /var/lib/mysql
rm -rf *
systemctl restart mysqld
显示MySQL密码
grep 'temporary password' /var/log/mysqld.log
密码是host:后面的一串字符。
登录并修改mysql密码
mysql -u root -p //输入上面生成的密码
修改密码需要注意,这里密码先修改成 “Zabbix@123456”
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zabbix@123456'; //因为我们随便修改密码时,一般都不满足它的策略
会报以下错误:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决办法:
一定要先修改默认密码为: Zabbix@123456 满足它的策略,再进行下面的操作:
SHOW VARIABLES LIKE 'validate_password%'; //查看密码策略
修改密码长度:
set global validate_password.length=1; //(长度)
修改密码等级:
set global validate_password.policy=0; //(等级)
设置成自己想要的密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
开放MySQL远程访问
mysql_secure_installation //初始化配置

- 是否需要更改root密码----N
- 删除anomymous用户----Y
- 关闭root用户的远程权限----Y
- 删除测试数据库----Y
- 立即刷新----Y
验证远程登陆
方法一

方法二(在本机验证就行)

安装Zabbix6.0
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y一路yes直到完成

zabbix数据库初始化
设置default_authentication_plugin为mysql_native_password
vim /etc/my.cnf
default_authentication_plugin=mysql_native_password
不设置上面的参数会导致初始化的时候连接数据库出错,先设置然后重启mysql,然后在创建用户不然后报错
一定要先配置上面的参数然后重启mysql
systemctl restart mysqld
mysql -uroot -p
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user 'zabbix'@'localhost' identified by 'Zabbix@2023!';
grant all privileges on zabbix.* to 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
quit;
编辑配置文件 /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
DBPassword=Zabbix@2023!
调整zabbix缓存
vim /etc/zabbix/zabbix_server.conf
CacheSize=1G
调整ping进程数
/etc/zabbix/zabbix_server.conf
StartPingers=16
检查
cat /etc/zabbix/zabbix_server.conf | grep DBPassword


配置zabbix连接数据库

检查

启动Zabbix-Server及相关组件
- 编辑配置文件 /etc/nginx/conf.d/zabbix.conf, 取消如下两行的注释,当然你只用IP访问的话只要第一行
vim /etc/nginx/conf.d/zabbix.conf
listen 80;
# server_name zabbix.walkingcloud.cn;
vim /etc/nginx/nginx.conf 中下面一段注释掉后重启nginx服务
systemctl restart nginx.service
导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
密码是上面创建的zabbix数据库的密码
导入数据库模式后禁用 log_bin_trust_function_creators 选项。
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;


一点都不顺利!坑踩了很多
没有中文
检查以下
locale -a | grep “zh_CN”
安装中文
dnf -y install glibc-langpack-zh.x86_64
然后就有了
还有汉化更彻底的mo文件,私



初始化后的图形乱码问题
cd /usr/share/zabbix/assets/fonts/
ll /etc/alternatives/zabbix-web-font
cd /usr/share/fonts/dejavu/
mv DejaVuSans.ttf DejaVuSans.ttf_bak
在windows操作系统中 找到本机的字体,位置在C:\windows\Fonts目录下,找到自己喜欢的字体(每个字体分为三个文件)
mv msyh.ttc DejaVuSans.ttf
chmod 777 /usr/share/fonts/dejavu/DejaVuSans.ttf
备注:修改映射字体文件的配置在这里但是不需要改
vim /usr/share/zabbix/include/defines.inc.php
systemctl enable zabbix-server zabbix-agent nginx php-fpm

替换后可能不显示

这是因为替换的字体没有足够的权限导致的。
只要将替换的字体权限改成777即可显示文字。
部署Granfana
安装Granfana
wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-10.2.2-1.x86_64.rpm
连接可能会变https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/自己去这里下载(一般都会出错404)
yum install ./grafana*.rpm -y
systemctl start grafana-server.service
systemctl enable grafana-server.service

访问:http://ip
关联zabbix
下载zabbix扩展
https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app/?tab=installation
下载对应的版本上传到服务器

grafana插件目录;默认为 /var/lib/grafana/plugins
解压到插件目录中
unzip alexanderzobnin-zabbix-app-* -d /var/lib/grafana/plugins

重启Granfana服务
systemctl restart grafana-server.service
访问3000端口

启用插件

添加数据源选择zabbix




添加可视化面板就看自己审美了