Home

部署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  //初始化配置

  1. 是否需要更改root密码----N
  2. 删除anomymous用户----Y
  3. 关闭root用户的远程权限----Y
  4. 删除测试数据库----Y
  5. 立即刷新----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及相关组件

  1. 编辑配置文件 /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

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

Linux AI