杨梅冲
每天在想什么呢?

环境:CentOS Stream release 9

cpu内存:4核8G

硬盘:100G

zabbix下载:https://repo.zabbix.com/zabbix/6.5/centos/9/x86_64/

1.mysql 8.4源码安装

[root@pa-ansible-new yum.repos.d]# cat /etc/my.cnf
[client]
user = root          
password = 'wg1q2w3e'
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8mb4

[mysql]
user = root          
password = 'wg1q2w3e'
prompt = "(\u@\h \p) [\d]> "
socket = /tmp/mysql.sock
default-character-set = utf8mb4

[mysqld]
# --- 基础设置 ---
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character-set-server = utf8mb4
default-time-zone = '+08:00'
skip-name-resolve
skip-external-locking
lower_case_table_names = 1
secure-file-priv = /tmp/
open_files_limit = 65535

# --- 连接与线程 ---
max_connections = 2000
max_connect_errors = 6000
max_allowed_packet = 128M
table_open_cache = 2048
table_definition_cache = 2048
thread_cache_size = 64
thread_stack = 256K
interactive_timeout = 7200
wait_timeout = 7200
# query_cache 已在 8.0 移除

# --- 缓冲区与排序 ---
# 请根据服务器实际内存大小调整 innodb_buffer_pool_size
innodb_buffer_pool_size = 1024M 
innodb_buffer_pool_instances = 8
join_buffer_size = 8M
sort_buffer_size = 8M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
tmp_table_size = 128M
max_heap_table_size = 128M

# --- 日志设置 ---
log-error = /usr/local/mysql/data/mysql-error.log
log_timestamps = SYSTEM
log-error-verbosity = 3
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/data/mysql-slow.log
long_query_time = 1
log_queries_not_using_indexes = 1

# --- Binlog & GTID (主从复制核心) ---
server-id = 10
log-bin = /usr/local/mysql/log-bin/mysql-bin
binlog_format = ROW
sync_binlog = 1
binlog_cache_size = 8M
binlog_expire_logs_seconds = 604800
gtid_mode = ON
enforce_gtid_consistency = ON
binlog_checksum = NONE

# --- InnoDB 引擎 ---
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:256M:autoextend
innodb_flush_log_at_trx_commit = 2
innodb_redo_log_capacity = 256M
innodb_log_buffer_size = 16M
innodb_flush_method = O_DIRECT
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup = 1
innodb_undo_tablespaces = 3
innodb_purge_threads = 4
innodb_undo_log_truncate = 1

# --- 性能模式 ---
performance_schema = ON
my.cnf
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user 'zabbix'@'localhost' identified  by "zabbix";
grant all privileges on zabbix.* to 'zabbix'@'localhost';
set global log_bin_trust_function_creators = 1;
flush privileges;

2.zabbix server 7.0安装

# 镜像源
# cat centos-stream.repo
[baseos]
name=CentOS Stream $releasever - BaseOS
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/BaseOS/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
enabled=1

[appstream]
name=CentOS Stream $releasever - AppStream
baseurl=https://mirrors.aliyun.com/centos-stream/$stream/AppStream/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
enabled=1

# 使用之前确认的稳定版源包
sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/centos/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
sudo dnf clean all && sudo dnf makecache

# 安装Zabbix全量组件
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2


# 导入初始化数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
# 输入之前设置的Zabbix数据库用户密码

# 导入完成后关闭临时参数
sudo mysql -uroot -p -e "set global log_bin_trust_function_creators = 0;"

配置:

配置服务端与前端
编辑/etc/zabbix/zabbix_server.conf,填入数据库密码:DBPassword=Zabbix用户自定义密码
编辑/etc/nginx/conf.d/zabbix.conf,修改监听端口与服务域名
编辑/etc/php-fpm.d/zabbix.conf,设置时区:php_value[date.timezone] = Asia/Shanghai

3.启动服务

sudo systemctl restart zabbix-server zabbix-agent2 nginx php-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php-fpm
如果是单独装的nginx,直接把/etc/nginx/conf.d/zabbix.conf拷贝到你的nginx目录

http://IP:port

默认账号密码:Admin zabbix

4.添加Grafana官方源并安装

grafana下载:https://grafana.com/grafana/download

sudo dnf install -y https://dl.grafana.com/oss/release/grafana-11.1.0-1.x86_64.rpm
sudo systemctl enable --now grafana-server

5.安装Zabbix数据源插件

sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo systemctl restart grafana-server

6.配置grafana监控

启用zabbix插件

image

 配置数据源

Connections---->Data Source---->Add new data source--->搜索zabbix,点击

配置数据源:

URL: http://zabbix server IP/api_jsonrpc.php
Authentication和TLS,没有特殊情况就默认下
Zabbix Connection:
Auth type:zabbix账号密码

Save & test

 7、配置dashboard

Dashboars--->new dashboards--->点击"Add visualization"

选择数据源

image

image

配置后上面就会出现图形

但是服务器很多怎么办,总不能Host里每个都配置一次吧,图形化显示的描述也会有问题,如下,所以需要一个服务器分组

image

 服务器分组设置:Dashboard settings--->Variables--->新增:New variables

image

 groups也可以使用模糊查询,这里没有使用

image

image

 设置好后修改配置

image

image

 

 其它配置可参考:

https://blog.csdn.net/qq_52089863/article/details/155717067

 

问题1:图片描述为方框

1.从任意Windows系统的C:\Windows\Fonts目录中,复制simhei.ttf(黑体)或msyh.ttf(微软雅黑)文件

2.移动文件
cd /usr/share/zabbix/assets/fonts/
# 备份原有文件
mv graphfont.ttf graphfont.ttf.bak
# 直接把中文字体复制进来,重命名为Zabbix默认读取的文件名
cp /usr/share/fonts/simhei.ttf ./graphfont.ttf
chmod 644 graphfont.ttf


#3.重启程序
systemctl restart zabbix-server.service nginx php-fpm

 

posted on 2026-08-19 10:20  杨梅冲  阅读(3)  评论(0)    收藏  举报