当前位置: 首页 > news >正文

Discuz论坛和java应用的架构部署

部署discuz论坛以及java应用,实现基于haproxy的acl不同域名访问不同网站,对每个节点实现高可用,使用elk日志监控系统来进行日志的可视化收集,使用zabbix对各个节点机器进行监控。

下面使拓扑图

思路:

将Java应用以及discuz论坛通过nfs服务器挂载到web端,调度器通过haproxy代理访问web端的80端口来访问discuz,通过haproxy代理访问web端的8080端口访问java应用网站,在mysql服务器进行主从复制,使用redis收集discuz的缓存,通过sersycn将nfs服务器挂载的目录备份到rsync服务器,对各个节点使用keepalived分配虚拟ip实现各节点的高可用。可以通过ansible批量进行主机的环境部署,比如keepalived、zabbix-agent等。

主机配置

以下是实验步骤以及各个主机配置信息

将各个主机的主机名对应的IP写入/etc/hosts文件并拷贝到所有主机

[root@zab01 opt]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.44.4 zab01
192.168.44.5 lb01
192.168.44.6 lb02
192.168.44.7 web01
192.168.44.8 web02
192.168.44.9 redis01
192.168.44.10 redis02
192.168.44.11 db01
192.168.44.12 db02
192.168.44.13 elk
192.168.44.14 rsync
192.168.44.254 discuz.example.com
192.168.44.253 java.example.com
[root@zab01 opt]# cat copyfile.yml 
- name: 拷贝压缩包到目标主机组hosts: all  # 指定目标主机组(替换为实际组名)tasks:- name: 拷贝压缩包到远程主机ansible.builtin.copy:src: /etc/hosts  # 控制节点上压缩包的绝对路径dest: /etc/  # 远程主机的目标路径(含文件名)

ansible进行各个主机环境的部署:

ansible主机分组:

[all]
192.168.44.5
192.168.44.6
192.168.44.7
192.168.44.8
192.168.44.11
192.168.44.12
192.168.44.13
192.168.44.14
192.168.44.9
192.168.44.10[agent]
192.168.44.5
192.168.44.6
192.168.44.7
192.168.44.8
192.168.44.11
192.168.44.12
192.168.44.13
192.168.44.14[agent2]
192.168.44.9
192.168.44.10[keepalived]
192.168.44.5
192.168.44.6
192.168.44.9
192.168.44.10
192.168.44.11
192.168.44.12

进行主机批量部署的playbook:

[root@zab01 opt]# cat zdbs.yml 
---
- name: 配置所有主机的免密登录hosts: allgather_facts: notasks:- name: 确保.ssh目录存在并设置正确权限ansible.builtin.file:path: ~/.sshstate: directorymode: '0700'- name: 分发公钥文件到所有主机ansible.builtin.copy:src: ~/.ssh/id_rsa.pubdest: ~/.ssh/authorized_keysmode: '0600'- name: 拷贝filebeat.rpm到所有主机hosts: allgather_facts: yestasks:- name: 复制filebeat.rpm到目标主机ansible.builtin.copy:src: /opt/filebeat-7.17.29-x86_64.rpmdest: /opt/filebeat.rpmmode: '0644'- name: 安装filebeat.rpm包ansible.builtin.yum:name: /opt/filebeat.rpmstate: presentbecome: yes- name: 配置agent组的zabbix-agenthosts: agentgather_facts: yestasks:- name: 安装zabbix-agent7.0源ansible.builtin.yum:name: https://repo.zabbix.com/zabbix/7.0/rhel/{{ ansible_distribution_major_version }}/{{ ansible_architecture }}/zabbix-release-7.0-2.el{{ ansible_distribution_major_version }}.noarch.rpmstate: presentdisable_gpg_check: yes- name: 安装zabbix-agentansible.builtin.yum:name: zabbix-agentstate: present- name: 配置zabbix-agent指向服务器192.168.44.4并设置主机名ansible.builtin.lineinfile:path: /etc/zabbix/zabbix_agentd.confregexp: "{{ item.regexp }}"line: "{{ item.line }}"loop:- { regexp: '^Server=.*', line: 'Server=192.168.44.4' }- { regexp: '^Hostname=.*', line: "Hostname={{ inventory_hostname }}" }- name: 配置agent2组的zabbix-agent2hosts: agent2gather_facts: yestasks:- name: 安装zabbix-agent7.0源ansible.builtin.yum:name: https://repo.zabbix.com/zabbix/7.0/rhel/{{ ansible_distribution_major_version }}/{{ ansible_architecture }}/zabbix-release-7.0-2.el{{ ansible_distribution_major_version }}.noarch.rpmstate: presentdisable_gpg_check: yes- name: 安装zabbix-agent2ansible.builtin.yum:name: zabbix-agent2state: present- name: 配置zabbix-agent2指向服务器192.168.44.4并设置主机名ansible.builtin.lineinfile:path: /etc/zabbix/zabbix_agent2.confregexp: "{{ item.regexp }}"line: "{{ item.line }}"loop:- { regexp: '^Server=.*', line: 'Server=192.168.44.4' }- { regexp: '^Hostname=.*', line: "Hostname={{ inventory_hostname }}" }- name: 在keepalived组安装keepalivedhosts: keepalivedgather_facts: yestasks:- name: 安装keepalivedansible.builtin.yum:name: keepalivedstate: present

mysql服务器

在批量部署成功之后,首先配置mysql服务器的主从复制以及实现其高可用

主从复制状态:

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************Slave_IO_State: Waiting for source to send eventMaster_Host: 192.168.44.11Master_User: slaveMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000007Read_Master_Log_Pos: 54408230Relay_Log_File: relay-log.000002Relay_Log_Pos: 326Relay_Master_Log_File: mysql-bin.000007Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 54408230Relay_Log_Space: 530Until_Condition: NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error: Last_SQL_Errno: 0Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1Master_UUID: d340fe2b-6c1e-11f0-a747-000c29e79690Master_Info_File: mysql.slave_master_infoSQL_Delay: 0SQL_Remaining_Delay: NULLSlave_SQL_Running_State: Replica has read all relay log; waiting for more updatesMaster_Retry_Count: 86400Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0Network_Namespace: 
1 row in set, 1 warning (0.00 sec)

keepalived实现高可用:

! Configuration File for keepalivedglobal_defs {router_id MySQL_LB01
}vrrp_script check_mysql {script "/etc/keepalived/check_mysql.sh"interval 2weight 2fall 3rise 2
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 52priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.44.252}track_script {check_haproxy  # 关联上面定义的vrrp_script}
}

mysql的check:

[root@db02 ~]# cat /etc/keepalived/check_mysql.sh 
#!/bin/bash
zt=$(systemctl status mysqld | grep "Active:" | awk '{print $3}')
if [ "$zt" = "(running)" ];
thenexit 0
elsesystemctl stop keepalived.service
fi

从机keeplived配置:

! Configuration File for keepalivedglobal_defs {router_id LVS_DEVEL
}vrrp_script check_mysql {script "/etc/keepalived/check_mysql.sh"interval 2weight 2fall 3rise 2
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 52priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.44.252}track_script {check_haproxy  # 关联上面定义的vrrp_script}
}

在数据库创建用户

mysql> SELECT user, host FROM mysql.user;
+------------------+--------------+
| user             | host         |
+------------------+--------------+
| discuz           | 192.168.44.% |
| repl             | 192.168.44.% |
| root             | 192.168.44.% |
| slave            | 192.168.44.% |
| zabbix           | 192.168.44.% |
| mysql.infoschema | localhost    |
| mysql.session    | localhost    |
| mysql.sys        | localhost    |
| root             | localhost    |
+------------------+--------------+

将各应用所需的数据库表结构导入数据库(在zabbix服务器和nfs服务器将他们的表结构文件拷贝到MySQL主机):

[root@db01 ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -h192.168.44.252 -uzabbix -p zabbix  # zabbix的表结构注入
[root@db01 ~]# mysql -uroot -p'123456' biyesheji < /tmp/biyesheji.sql  # java应用的表结构注入

nfs服务器部署

nfs服务器解压discuz:

[root@elk ~]# cd /var/www/discuz/
[root@elk discuz]# ls
upload
[root@elk discuz]# cd upload/
[root@elk upload]# ls -l
总用量 76
-rwxrwxrwx  1 nginx nginx 2869  7月 27  2023 admin.php
drwxrwxrwx 10 nginx nginx  149  7月 27  2023 api
-rwxrwxrwx  1 nginx nginx  727  7月 27  2023 api.php
drwxrwxrwx  2 nginx nginx   23  7月 27  2023 archiver
drwxrwxrwx  2 nginx nginx  141  7月 31 10:43 config
-rwxrwxrwx  1 nginx nginx 1040  7月 27  2023 connect.php
-rwxrwxrwx  1 nginx nginx  106  7月 27  2023 crossdomain.xml
drwxrwxrwx 15 nginx nginx 4096  7月 31 10:46 data
-rwxrwxrwx  1 nginx nginx 5558  7月 26  2023 favicon.ico
-rwxrwxrwx  1 nginx nginx 2357  7月 27  2023 forum.php
-rwxrwxrwx  1 nginx nginx  906  7月 27  2023 group.php
-rwxrwxrwx  1 nginx nginx 1325  7月 27  2023 home.php
-rwxrwxrwx  1 nginx nginx 6920  7月 27  2023 index.php
drwxrwxrwx  5 nginx nginx   64  7月 27  2023 install
-rwxrwxrwx  1 nginx nginx  998  7月 27  2023 member.php
-rwxrwxrwx  1 nginx nginx 2410  7月 27  2023 misc.php
-rwxrwxrwx  1 nginx nginx 1790  7月 27  2023 plugin.php
-rwxrwxrwx  1 nginx nginx 1086  7月 27  2023 portal.php
-rwxrwxrwx  1 nginx nginx  639  7月 27  2023 robots.txt
-rwxrwxrwx  1 nginx nginx 1755  7月 27  2023 search.php
drwxrwxrwx 10 nginx nginx  168  7月 27  2023 source
drwxrwxrwx  7 nginx nginx   86  7月 27  2023 static
drwxrwxrwx  3 nginx nginx   38  7月 27  2023 template
drwxrwxrwx  8 nginx nginx  146  7月 27  2023 uc_client
drwxrwxrwx 13 nginx nginx 4096  7月 27  2023 uc_server

nfs服务器配置java应用(将原ROOT文件删除,java应用软件重命名为ROOT.war 运行tomcat之后自动生成ROOT文件,实现访问8080端口直接访问java应用界面)

[root@elk ROOT]# ls
注意事项  assets  biyesheji.sql  css  favicon.ico  images  images.zip  index.jsp  js  lib  META-INF  static  WEB-INF
[root@elk ROOT]# pwd
/opt/tomcat/webapps/ROOT

在web服务器配置nginx,将目录指向挂载目录

[root@web01 ~]# df -Th
文件系统                             类型      容量  已用  可用 已用% 挂载点
devtmpfs                             devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs                                tmpfs     1.8G     0  1.8G    0% /dev/shm
tmpfs                                tmpfs     726M  9.6M  716M    2% /run
/dev/mapper/rl-root                  xfs        70G  6.9G   64G   10% /
/dev/mapper/rl-home                  xfs       126G  925M  125G    1% /home
/dev/sda1                            xfs       960M  304M  657M   32% /boot
tmpfs                                tmpfs     363M   52K  363M    1% /run/user/42
tmpfs                                tmpfs     363M   36K  363M    1% /run/user/0
192.168.44.13:/var/www/discuz/upload nfs4       70G  8.6G   62G   13% /var/www/discuz
192.168.44.13:/opt/tomcat/webapps    nfs4       70G  8.6G   62G   13% /opt/apache-tomcat-8.5.40/webapps
[root@web01 ~]# cat /etc/nginx/conf.d/discuz.conf 
server {listen 80;server_name discuz.example.com;root /var/www/discuz;index index.php index.html;location ~ \.php$ {fastcgi_pass unix:/run/php-fpm/www.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}

在web服务器配置tomcat,将webapps目录内容全部删除,并将nfs的java应用的webapps改在至webapps目录

[root@web01 ~]# cd /opt/apache-tomcat-8.5.40/webapps/
[root@web01 webapps]# ls
docs  examples  host-manager  manager  ROOT  ROOT.war
[root@web01 webapps]# df -Th
文件系统                             类型      容量  已用  可用 已用% 挂载点
devtmpfs                             devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs                                tmpfs     1.8G     0  1.8G    0% /dev/shm
tmpfs                                tmpfs     726M  9.6M  716M    2% /run
/dev/mapper/rl-root                  xfs        70G  6.9G   64G   10% /
/dev/mapper/rl-home                  xfs       126G  925M  125G    1% /home
/dev/sda1                            xfs       960M  304M  657M   32% /boot
tmpfs                                tmpfs     363M   52K  363M    1% /run/user/42
tmpfs                                tmpfs     363M   36K  363M    1% /run/user/0
192.168.44.13:/var/www/discuz/upload nfs4       70G  8.6G   62G   13% /var/www/discuz
192.168.44.13:/opt/tomcat/webapps    nfs4       70G  8.6G   62G   13% /opt/apache-tomcat-8.5.40/webapps

keepalived、haproxy服务器的部署

配置keepalived和haproxy实现通过acl访问不同域名访问不同网站,并实现高可用

keepalived的配置(从节点只需要更改router_id、state信息以及优先级):

[root@lb01 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalivedglobal_defs {router_id LVS_MASTER
}vrrp_script check_haproxy {script "/etc/keepalived/check_haproxy.sh" interval 2                               weight 2                                fall 3                                 rise 2                                
}
vrrp_instance VI_254 {state MASTERinterface ens33virtual_router_id 54priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.44.254/24}track_script {check_haproxy}
}vrrp_instance VI_253 {state MASTERinterface ens33virtual_router_id 53priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.44.253/24}track_script {check_haproxy}
}

haproxy的配置(主从节点配置完全相同):

[root@lb01 ~]# cat /etc/haproxy/haproxy.cfg
globallog 127.0.0.1 local0 infomaxconn 4096daemondefaultslog globalmode httpoption httplogoption dontlognullretries 3timeout connect 5000timeout client 50000timeout server 50000# 监听VIP 192.168.44.254:80(对应discuz.example.com)
frontend discuz_frontbind 192.168.44.254:80 transparent #(这个单词代表主机没有绑定的IP254也能启动haproxy)mode httpacl is_discuz hdr(host) -i discuz.example.com 192.168.44.254use_backend discuz_back if is_discuz# 后端服务器(80端口)
backend discuz_backmode httpbalance roundrobin  # 轮询算法server web1 192.168.44.7:80 check inter 2000 rise 2 fall 3server web2 192.168.44.8:80 check inter 2000 rise 2 fall 3# 监听VIP 192.168.44.253:80(对应java.example.com)
frontend java_frontbind 192.168.44.253:80 transparentmode http# 匹配域名java.example.com,转发到后端8080端口集群acl is_java hdr(host) -i java.example.com 192.168.44.253use_backend java_back if is_java# 后端服务器(8080端口)
backend java_backmode httpbalance roundrobinserver app1 192.168.44.7:8080 check inter 2000 rise 2 fall 3server app2 192.168.44.8:8080 check inter 2000 rise 2 fall 3

haproxy的检查脚本

[root@lb01 ~]# cat /etc/keepalived/check_haproxy.sh 
#!/bin/bash
if ! ps -C haproxy > /dev/null; then# 若 HAProxy 进程不存在,停止 Keepalived 让 VIP 切换systemctl stop keepalived
fi

在配置dicuz论坛时绑定IP到mysql 数据库的虚拟ip252(忘记截图了)

java应用的配置文件

(可以看得出java应用绑定的mysqlip也是虚拟ip252):

[root@elk opt]# cd /opt/tomcat/webapps/ROOT/WEB-INF/classes/
[root@elk classes]# ls
com  generatorConfig.xml  jdbc.properties  log4j.properties  mapper  mybatis  spring
[root@elk classes]# cat jdbc.properties 
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://192.168.44.252:3306/biyesheji?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
jdbc.user=root
jdbc.password=123456

由于没有做dns服务,所以在web网页进行访问测试时需要在windows主机的hosts文件写入域名和对应ip

尝试访问不同域名:

同理,尝试访问虚拟IP是否成功

在发现访问成功之后可以确定web端和代理端是没问题的,接下来进行其余部分的部署

redis服务配置

使用redis备份discuz的数据备份

首先在两台web端下载插件 php-redis,如果直接安装没有,先安装epel源。

在discuz的配置页面进行数据备份的配置

[root@elk classes]# cd /var/www/discuz/upload/config/
[root@elk config]# ls
config_global_default.php  config_global.php  config_ucenter_default.php  config_ucenter.php  index.htm
[root@elk config]# cat config_global.php 
<?php$_config = array();// ----------------------------  CONFIG DB  ----------------------------- //
$_config['db'][1]['dbhost'] = '192.168.44.252';
$_config['db'][1]['dbuser'] = 'discuz';
$_config['db'][1]['dbpw'] = 'discuz';
$_config['db'][1]['dbcharset'] = 'utf8mb4';
$_config['db'][1]['pconnect'] = 0;
$_config['db'][1]['dbname'] = 'discuz';
$_config['db'][1]['tablepre'] = 'pre_';
$_config['db']['slave'] = '';
$_config['db']['common']['slave_except_table'] = '';
$_config['db']['common']['engine'] = 'innodb';// --------------------------  CONFIG MEMORY  --------------------------- //
$_config['memory']['prefix'] = 'discuz_';    # 自定义前缀名
$_config['memory']['redis']['server'] = '192.168.44.251';    #绑定redis的虚拟ip
$_config['memory']['redis']['port'] = 6379;
$_config['memory']['redis']['pconnect'] = 1;
$_config['memory']['redis']['timeout'] = 0;
$_config['memory']['redis']['requirepass'] = '';
$_config['memory']['redis']['db'] = 0;
$_config['memory']['memcache']['server'] = '';
$_config['memory']['memcache']['port'] = 11211;
$_config['memory']['memcache']['pconnect'] = 1;
$_config['memory']['memcache']['timeout'] = 1;
$_config['memory']['memcached']['server'] = '';
$_config['memory']['memcached']['port'] = 11211;
$_config['memory']['apc'] = 0;
$_config['memory']['apcu'] = 0;
$_config['memory']['xcache'] = 0;
$_config['memory']['eaccelerator'] = 0;
$_config['memory']['wincache'] = 0;
$_config['memory']['yac'] = 0;
$_config['memory']['file']['server'] = '';// --------------------------  CONFIG SERVER  --------------------------- //
$_config['server']['id'] = 1;// -------------------------  CONFIG DOWNLOAD  -------------------------- //
$_config['download']['readmod'] = 2;
$_config['download']['xsendfile']['type'] = 0;
$_config['download']['xsendfile']['dir'] = '/down/';// --------------------------  CONFIG OUTPUT  --------------------------- //
$_config['output']['charset'] = 'utf-8';
$_config['output']['forceheader'] = 1;
$_config['output']['gzip'] = 0;
$_config['output']['tplrefresh'] = 1;
$_config['output']['language'] = 'zh_cn';
$_config['output']['staticurl'] = 'static/';
$_config['output']['ajaxvalidate'] = 0;
$_config['output']['upgradeinsecure'] = 0;
$_config['output']['css4legacyie'] = 1;// --------------------------  CONFIG COOKIE  --------------------------- //
$_config['cookie']['cookiepre'] = 'npJ6_';
$_config['cookie']['cookiedomain'] = '';
$_config['cookie']['cookiepath'] = '/';// -------------------------  CONFIG SECURITY  -------------------------- //
$_config['security']['authkey'] = '76eb99bd5fcb2b0c24bad5c8f490319ekE1SaC1XDbeJgd1ywKUuiTVCUDCdSPHI';
$_config['security']['urlxssdefend'] = 1;
$_config['security']['attackevasive'] = 0;
$_config['security']['onlyremoteaddr'] = 1;
$_config['security']['useipban'] = 1;
$_config['security']['querysafe']['status'] = 1;
$_config['security']['querysafe']['dfunction'][0] = 'load_file';
$_config['security']['querysafe']['dfunction'][1] = 'hex';
$_config['security']['querysafe']['dfunction'][2] = 'substring';
$_config['security']['querysafe']['dfunction'][3] = 'if';
$_config['security']['querysafe']['dfunction'][4] = 'ord';
$_config['security']['querysafe']['dfunction'][5] = 'char';
$_config['security']['querysafe']['daction'][0] = '@';
$_config['security']['querysafe']['daction'][1] = 'intooutfile';
$_config['security']['querysafe']['daction'][2] = 'intodumpfile';
$_config['security']['querysafe']['daction'][3] = 'unionselect';
$_config['security']['querysafe']['daction'][4] = '(select';
$_config['security']['querysafe']['daction'][5] = 'unionall';
$_config['security']['querysafe']['daction'][6] = 'uniondistinct';
$_config['security']['querysafe']['dnote'][0] = '/*';
$_config['security']['querysafe']['dnote'][1] = '*/';
$_config['security']['querysafe']['dnote'][2] = '#';
$_config['security']['querysafe']['dnote'][3] = '--';
$_config['security']['querysafe']['dnote'][4] = '"';
$_config['security']['querysafe']['dlikehex'] = 1;
$_config['security']['querysafe']['afullnote'] = 0;
$_config['security']['creditsafe']['second'] = 0;
$_config['security']['creditsafe']['times'] = 10;
$_config['security']['fsockopensafe']['port'][0] = 80;
$_config['security']['fsockopensafe']['port'][1] = 443;
$_config['security']['fsockopensafe']['ipversion'][0] = 'ipv6';
$_config['security']['fsockopensafe']['ipversion'][1] = 'ipv4';
$_config['security']['fsockopensafe']['verifypeer'] = '';
$_config['security']['error']['showerror'] = '1';
$_config['security']['error']['guessplugin'] = '1';// --------------------------  CONFIG ADMINCP  -------------------------- //
// -------- Founders: $_config['admincp']['founder'] = '1,2,3'; --------- //
$_config['admincp']['founder'] = '1';
$_config['admincp']['forcesecques'] = 0;
$_config['admincp']['checkip'] = 1;
$_config['admincp']['runquery'] = 0;
$_config['admincp']['dbimport'] = 1;
$_config['admincp']['mustlogin'] = 1;// --------------------------  CONFIG REMOTE  --------------------------- //
$_config['remote']['on'] = 0;
$_config['remote']['dir'] = 'remote';
$_config['remote']['appkey'] = '62cf0b3c3e6a4c9468e7216839721d8e';
$_config['remote']['cron'] = 0;// ---------------------------  CONFIG INPUT  --------------------------- //
$_config['input']['compatible'] = 0;// ---------------------------  CONFIG IPDB  ---------------------------- //
$_config['ipdb']['setting']['fullstack'] = '';
$_config['ipdb']['setting']['default'] = '';
$_config['ipdb']['setting']['ipv4'] = 'tiny';
$_config['ipdb']['setting']['ipv6'] = 'v6wry';// -------------------------  CONFIG IPGETTER  -------------------------- //
$_config['ipgetter']['setting'] = 'header';
$_config['ipgetter']['header']['header'] = 'HTTP_X_FORWARDED_FOR';
$_config['ipgetter']['iplist']['header'] = 'HTTP_X_FORWARDED_FOR';
$_config['ipgetter']['iplist']['list'][0] = '127.0.0.1';
$_config['ipgetter']['dnslist']['header'] = 'HTTP_X_FORWARDED_FOR';
$_config['ipgetter']['dnslist']['list'][0] = 'comsenz.com';// -------------------  THE END  -------------------- //

redis的验证:

[root@redis01 ~]# redis-cli -h 192.168.44.251
192.168.44.251:6379> keys discuz_*1) "discuz_posttable_info"2) "discuz_fields_register"3) "discuz_common_member_count_1"4) "discuz_common_session_idx_uid_0"5) "discuz_usergroup_1"6) "discuz_diytemplatename"7) "discuz_censor"8) "discuz_membersplitdata"9) "discuz_common_session_idx_uid_group_0"
10) "discuz_pluginlanguage_system"
11) "discuz_bbcodes_display"
12) "discuz_onlinelist"
13) "discuz_bbcodes"
14) "discuz_setting_forumdisplay_fields_eval_sha"
15) "discuz_modreasons"
16) "discuz_diytemplatenameforum"
17) "discuz_smilies"
18) "discuz_diytemplatenamehome"
19) "discuz_common_session_YNW1og"
20) "discuz_usergroups"
21) "discuz_forums"
22) "discuz_fields_optional"
23) "discuz_forumrecommend"
24) "discuz_setting_viewthread_fields_eval_sha"
25) "discuz_setting_common_fields_eval_sha"
26) "discuz_common_seccheck_pk"
27) "discuz_stamptypeid"
28) "discuz_common_session_idx_invisible_0"
29) "discuz_ipctrl"
30) "discuz_magic"
31) "discuz_common_session_fetch_member_3rd_eval_sha"
32) "discuz_setting"
33) "discuz_forumlinks"
34) "discuz_common_session_delete_by_session_eval_sha"
35) "discuz_common_banned_index"
36) "discuz_announcements"
37) "discuz_cronnextrun"
38) "discuz_adminmenu"
39) "discuz_fields_required"
40) "discuz_heats"
41) "discuz_addoncheck_template"
42) "discuz_onlinerecord"
43) "discuz_common_session_idx_lastactivity"
44) "discuz_common_session_F4Qvhf"
45) "discuz_historyposts"
46) "discuz_common_member_status_1"
47) "discuz_creditrule"
48) "discuz_userstats"
49) "discuz_smileytypes"
50) "discuz_common_member_field_home_1"
51) "discuz_style_default"
52) "discuz_common_session_idx_fid_0"
53) "discuz_seccodedata"
54) "discuz_common_session_idx_ip_192.168.44.5"
55) "discuz_usergroup_7"
56) "discuz_plugin"
57) "discuz_addoncheck_plugin"
58) "discuz_cronpublish"
59) "discuz_common_member_1"

redis配置完成之后,部署zabbix监控主机状态

zabbix服务器给到虚拟mysql数据库的ip

/usr/share/zabbix-sql-scripts/mysql 将此目录下的server.sql.gz拷贝到mysql主机,并且导入创建的zabbix数据库 即执行 zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

之后手动配置web网页端的自动发现及触发器等

配置rsync服务

nfs端下载sersync:

rsync服务器端:

elk部署

注意rocky9与filebeat7.1.1版本不兼容,推荐下载filebeat7.17版本,和7.1.1版本配置基本相同,但是多了个ID选项

监控界面:

http://www.lryc.cn/news/617083.html

相关文章:

  • gophish钓鱼流程
  • 数字图像处理4
  • 《 C Primer Plus》
  • 如何解决线上gc频繁的问题?
  • 【PyTorch】单目标检测项目
  • Audio Flamingo
  • Graph-R1:一种用于结构化多轮推理的智能图谱检索框架,并结合端到端强化学习
  • 无人机集群协同三维路径规划,采用梦境优化算法(DOA)实现,Matlab代码
  • 量子计算机实用化:从理论到现实的艰难跨越
  • 18.3 全量微调:数据预处理之清洗与准备
  • Java 基础编程案例:从输入交互到逻辑处理
  • Mysql系列--5、表的基本查询(上)
  • GitLab 零基础入门指南:从安装到项目管理全流程
  • Java:单例模式
  • Python day40
  • 在Word和WPS文字一页中实现一栏与多栏混排
  • 攻击实验(ARP欺骗、MAC洪范、TCP SYN Flood攻击、DNS欺骗、DHCP饿死)
  • CompletableFuture实现Excel 多个sheet页批量导出
  • 基于PyTorch一文讲清楚损失函数与激活函数并配上详细的图文讲解
  • 展锐平台(Android15)WLAN热点名称修改不生效问题分析
  • 使用tcp ntrip 协议 接收数据报错 java.net.SocketException: Connection reset
  • IDEA 安装插件的两种方式
  • CVPR医学图像三套创新方案:通用分割+3D高效解码+SSM肿瘤定位(附链接)
  • C++高频知识点(二十)
  • jupyter notebook如何打开其他盘目录
  • 创建降阶模型用于搅拌槽中的涡流预测
  • P3232 [HNOI2013] 游走,solution
  • 后量子密码学的迁移与安全保障:迎接量子时代的挑战
  • 力扣559:N叉树的最大深度
  • Beelzebub靶机攻略