zabbix7.2.4部署

部署zabbix

https://github.com/zabbix/zabbix-docker/releases
安装说明
https://www.zabbix.com/documentation/current/zh/manual/installation/containers#docker-compose

环境规划

| IP地址 | 版本 | 目录 | 启动方式 |
|--------------|---------|-------------------|------------------------------------------|--------------------------------|
|172.17.0.80 | 7.2.4| 安装目录:/datas/zabbix | docker 启动|

docker 安装忽略

创建网络

docker network create --subnet 172.80.0.0/16 --ip-range 172.80.240.0/20 zabbix-net

root@doris02:/opt/package# docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
a596f409d56d   bridge       bridge    local
772c0cc4f91b   host         host      local
c53a2d3cb863   none         null      local
e62815794488   zabbix-net   bridge    local

1. 部署MYSQL

1.1 配置mysql

mkdir -p /datas/zabbix-mysql/conf


cat >/datas/zabbix-mysql/conf/my.cnf<<EOF
[client]
port=3306

[mysqld]
user = mysql
port = 3306
bind-address = 0.0.0.0
character-set-server=utf8mb4
collation-server=utf8mb4_bin
default-storage-engine=innoDB
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
#default_authentication_plugin=mysql_native_password
default_authentication_plugin=caching_sha2_password
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO

max_connections = 2000
max_connect_errors = 3000
connect_timeout=10

wait_timeout = 7200
interactive_timeout = 7200

back_log = 300
open_files_limit = 65535
group_concat_max_len=1024000
table_open_cache = 8192
max_allowed_packet = 512M

# 禁用二进制日志
skip-log-bin

#设置临时表大小
tmp_table_size=828M  #64M
max_heap_table_size=828M  #256M
#表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=1

read_buffer_size = 8M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 64M
thread_cache_size = 64
thread_stack = 512K
ft_min_word_len = 1
skip-external-locking
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 32M
net_retry_count = 100
explicit_defaults_for_timestamp=true
log_bin_trust_function_creators=1
performance_schema= 0
#MGR使用乐观锁,减少锁粒度
transaction-isolation = READ-COMMITTED

#时区
log_timestamps=SYSTEM
##跳过解析
skip-name-resolve

#慢查询
#slow_query_log=0
#long_query_time=2
#log-queries-not-using-indexes = 0
#log_throttle_queries_not_using_indexes=1000
#min_examined_row_limit=1000
#log-slow-admin-statements = TRUE


#innodb setting
innodb_file_per_table = 1
innodb_open_files = 1000
innodb_buffer_pool_size = 2G
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 64M
innodb_log_file_size=2048M
innodb_max_dirty_pages_pct = 85
innodb_lock_wait_timeout = 120
innodb_flush_method=O_DIRECT
innodb_data_file_path = ibdata1:10M:autoextend
innodb_autoinc_lock_mode  = 2
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup  = 1
innodb_status_file  = 1
EOF

1.2 部署mysql

docker run -it -p 3308:3306 --name mysql-server  \
-v /etc/localtime:/etc/localtime \
-v /datas/zabbix-mysql/mysql:/var/lib/mysql \
-v /datas/zabbix-mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="Zabbix@Monitor" \
-e MYSQL_ROOT_PASSWORD="Zabbix@2025" \
--network=zabbix-net \
--restart always \
-d --privileged=true registry.iotcloud.wl/library/mysql:8.0.41

1.3 启动 Zabbix Java 网关实例

docker run \
--name zabbix-java-gateway \
--restart=always  \
-p 10052:10052 \
 -v /etc/localtime:/etc/localtime \
-e ZBX_TIMEOUT=30 \
--network=zabbix-net \
-d registry.iotcloud.wl/zabbix/zabbix-java-gateway:ubuntu-7.2.4

1.4 启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例:

docker run --name zabbix-server-mysql  -t \
-v /etc/localtime:/etc/localtime \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e DB_SERVER_PORT="3306" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="Zabbix@Monitor" \
-e MYSQL_ROOT_PASSWORD="Zabbix@2025" \
-e ZBX_STARTPOLLERS=160 \
-e ZBX_STARTPOLLERSUNREACHABLE=60 \
-e ZBX_STARTTRAPPERS=60 \
-e ZBX_STARTPINGERS=300 \
-e ZBX_STARTDISCOVERERS=20 \
-e ZBX_STARTVMWARECOLLECTORS=10 \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-e ZBX_JAVAGATEWAYPORT=10052 \
-e ZBX_JAVAGATEWAY_ENABLE=true \
-e ZBX_STARTJAVAPOLLERS=10 \
-e ZBX_VMWAREFREQUENCY=60 \
-e ZBX_VMWAREPERFFREQUENCY=60 \
-e ZBX_VMWARECACHESIZE=1024M \
-e ZBX_VMWARETIMEOUT=300 \
-e ZBX_CACHESIZE=1024M \
-e ZBX_HISTORYCACHESIZE=1024M \
-e ZBX_HISTORYINDEXCACHESIZE=1024M \
-e ZBX_TRENDCACHESIZE=512M \
-e ZBX_VALUECACHESIZE=512M \
-e ZBX_TRAPPERTIMEOUT=300 \
-e  http_proxy=http://172.16.0.101:11080 \
-e  https_proxy=http://172.16.0.101:11080 \
--network=zabbix-net \
 --restart=always \
 -p 10051:10051 \
-v /datas/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
--add-host='cnh01:172.16.0.53' \
--add-host='cnh02:172.16.0.54' \
--add-host='cnh03:172.16.0.55' \
--add-host='cnh04:172.16.0.56' \
-d registry.iotcloud.wl/zabbix/zabbix-server-mysql:ubuntu-7.2.4

1.5 部署 zabbix-web

docker run -it  --name  zabbix-web-nginx-mysql -uroot \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="Zabbix@Monitor" \
-e MYSQL_ROOT_PASSWORD="Zabbix@2025" \
-e PHP_TZ="Asia/Shanghai" \
--network=zabbix-net \
-p 8088:8080 \
--restart=always \
-d registry.iotcloud.wl/zabbix/zabbix-web-nginx-mysql:ubuntu-7.2.4

1.6 zabbix-agent

wget https://cdn.zabbix.com/zabbix/binaries/stable/7.2/7.2.4/zabbix_agent-7.2.4-linux-3.0-amd64-static.tar.gz

tar xf zabbix_agent-7.2.4-linux-3.0-amd64-static.tar.gz -C /opt/module
useradd zabbix
chown zabbix:zabbix /opt/module/zabbix-agent

cat >/lib/systemd/system/zabbix-agent.service<<EOF
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
#Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf"
Environment="CONFFILE=/opt/module/zabbix-agent/conf/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
#PIDFile=/run/zabbix/zabbix_agentd.pid
KillMode=control-group
ExecStart=/opt/module/zabbix-agent/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
EOF 

vim /opt/module/zabbix-agent/conf/zabbix_agentd.conf
Server=172.16.0.80
ServerActive=172.16.0.80
Hostname=172.16.0.79

systemctl start zabbix-agent
systemctl enable zabbix-agent

root@doris02:~# ss -lntu|grep 10050
tcp   LISTEN 0      128             0.0.0.0:10050      0.0.0.0:* 

root@doris02:~# tail -f /tmp/zabbix_agentd.log 
710559:20250320:180859.823 agent #3 started [listener #2]
710560:20250320:180859.823 agent #4 started [listener #3]
710561:20250320:180859.823 agent #5 started [listener #4]
710562:20250320:180859.824 agent #6 started [listener #5]
710563:20250320:180859.824 agent #7 started [listener #6]
710564:20250320:180859.824 agent #8 started [listener #7]
710565:20250320:180859.824 agent #9 started [listener #8]
710566:20250320:180859.824 agent #10 started [listener #9]
710567:20250320:180859.824 agent #11 started [listener #10]

1.7 zabbix-agent 方法二

1. 配置源

wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.2+ubuntu22.04_all.deb
apt update

2. 安装zabbix-agent

apt install zabbix-agent
或
apt install zabbix-agent2

1.8 验证

http://172.16.0.xx:8088/ 默认用户 Admin 密码: zabbix

在这里插入图片描述

在这里插入图片描述

[root@zabbix conf]# file -i /usr/local/zabbix-7.2.4/ui/*.php /usr/local/zabbix-7.2.4/ui/api_jsonrpc.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/api_scim.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/browserwarning.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/chart2.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/chart3.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/chart4.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/chart6.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/chart7.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/chart.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/graphs.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/history.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/host_discovery.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/hostinventoriesoverview.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/hostinventories.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/host_prototypes.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/httpconf.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/httpdetails.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/image.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/imgstore.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/index_http.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/index_mfa.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/index.php: text/x-php; charset=us-ascii /usr/local/zabbix-7.2.4/ui/index_sso.php: text/x-php; c
03-17
<think>好的,用户想检查Zabbix 7.2.4 UI目录下的PHP文件的MIME类型和字符编码。我需要先理清步骤,确保回答正确且符合用户需求。 首先,用户提到的Zabbix 7.2.4可能是指某个特定版本,但根据引用[3],提到的是CentOS Stream 8编译安装PHP 7.2.4,这可能是指PHP版本,而Zabbix的版本可能不同。需要确认用户是否混淆了版本号。但用户的问题明确提到Zabbix 7.2.4,可能是一个笔误,但按照用户的问题来处理。 接下来,用户需要检查PHP文件的MIME类型和字符编码。通常,PHP文件在服务器端的MIME类型是text/html或application/x-php,但实际传输给客户端时可能由服务器配置决定,比如Apache的默认处理方式。字符编码则通常在文件头部或meta标签中指定。 根据引用[2],用户需要找到UI目录的位置。Zabbix的Web前端通常安装在类似/usr/share/zabbix/的目录下。用户可以使用find命令查找,如find / -name "*.php"来定位PHP文件的位置。 检查MIME类型可以通过服务器配置查看,比如Apache的mime.types文件,或者使用curl命令检查响应头。例如,curl -I http://localhost/zabbix/index.php可以查看Content-Type头部信息,其中包含MIME类型和可能的字符编码。 字符编码也可以在PHP文件内部查看,通常在<?php标签之后或HTML的meta标签中指定,如header('Content-Type: text/html; charset=utf-8');或者<meta charset="UTF-8">。 另外,引用[3]提到了php.ini的配置,可能涉及到默认字符设置,如default_charset = "UTF-8",这也可能影响PHP输出的编码。 需要提醒用户,直接检查文件内容和服务器的响应头是最直接的方法。同时,注意Zabbix版本是否正确,因为7.2.4可能不存在,需要用户确认是否为PHP版本,或者是否有其他误解。 最后,生成相关问题时要围绕Zabbix配置、PHP设置、MIME类型检查和字符编码问题展开,帮助用户进一步解决问题。</think>### 检查Zabbix UI目录下PHP文件的MIME类型和字符编码 #### 1. 定位Zabbix UI目录 根据引用[2]的路径查找方法,Zabbix Web前端文件通常位于以下路径: ```bash find / -name "zabbix.conf.php" 2>/dev/null # 典型路径为/usr/share/zabbix/ ``` 若使用默认安装(引用[1]),可能路径为: `/usr/share/zabbix/` 或 `/var/www/html/zabbix/` #### 2. 检查PHP文件的MIME类型 PHP文件的MIME类型通常由Web服务器配置决定: - **Apache**:默认处理`.php`为`text/html`,但实际类型取决于`AddType`指令(检查`/etc/httpd/conf.d/zabbix.conf`) - **Nginx**:在引用[1]的配置中,检查`/etc/nginx/conf.d/zabbix.conf`是否包含: ```nginx location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass php-fpm; } ``` 默认会通过FastCGI处理PHP文件,响应头中的MIME类型为`text/html; charset=UTF-8` #### 3. 验证实际响应类型 使用`curl`检查HTTP响应头: ```bash curl -I http://localhost/zabbix/index.php ``` 输出应包含: ``` Content-Type: text/html; charset=UTF-8 ``` #### 4. 检查PHP文件字符编码 通过以下方式验证编码: - **文件元数据**:使用`file`命令检测编码: ```bash file -i /usr/share/zabbix/index.php # 输出示例:charset=us-ascii ``` - **代码声明**:查看PHP文件头部是否包含编码定义: ```php <?php header('Content-Type: text/html; charset=utf-8'); ?> ``` 或在HTML部分检查: ```html <meta charset="UTF-8"> ``` - **PHP配置**:根据引用[3],检查`/usr/local/php/lib/php.ini`中的配置: ```ini default_charset = "UTF-8" ``` #### 5. 关键配置文件参考 - **Zabbix Web配置**:`/etc/zabbix/web/zabbix.conf.php`(影响全局设置) - **PHP-FPM配置**:`/etc/php-fpm.d/zabbix.conf`(可能包含`php_value[default_charset]`) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liao wen xiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值