欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在Anolis OS 8.2上安装和配置Zabbix 6.4(LNMP+PGSQL 15+PHP8)?

最编程 2024-08-09 19:58:34
...

一、事前准备

尽量保持是干净的空系统

setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl stop firewalld.service
systemctl disable firewalld.service


#如果开启了防火墙,需要开启使用的端口,如80 443 5432 10050 10051等

二、安装部署zabbix6.4服务端

1、部署yum源

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
dnf clean all
dnf makecache

2、安装php8

要注意系统自带是7.2,zabbix6.4最低支持php7.4

dnf module switch-to php:8.0

3、安装server端、web前端、agent端用到的组件

dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

4、安装数据库(这里用postgresql,也可以用mariadb)

sudo dnf install -y https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf list |grep postgresql #查看postgresql列表
sudo dnf -qy module disable postgresql #禁止系统内置的,时间有点长
sudo dnf install -y postgresql15-server #安装最新版
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15

#设置postgres的密码
passwd postgres
#切换postgres用户
su - postgres
#修改postgres的password
[postgres@anolis-zabbix]psql
psql (15.2)
postgres=#  ALTER USER postgres WITH PASSWORD 'PASSWORD';
ALTER ROLE
postgres=# \q
#开放端口,按需进行其他配置
vi /var/lib/pgsql/15/data/postgresql.conf
listen_addresses = '*'         # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
port = 5432                            # (change requires restart)
max_connections = 200   #这里默认是25,必须要改大,不然初始化zabbix过不去

#添加远程访问权限
vi /var/lib/pgsql/15/data/pg_hba.conf
#添加一行
host all all 0.0.0.0/0 md5
#重启数据库
su  #(最好先切回root)
systemctl restart postgresql-15

5、配置timescaleDB

(1)安装数据源

tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL

(2)安装并配置timescaledb数据库

#这里要注意版本号跟上面的poostgresql版本相同,并且当前timescaledb的最新2.10.3不支持,需要用2.9+
dnf install timescaledb-2-postgresql-15-2.9.3 timescale-2-loader-postgresql-15-2.9.3
timescaledb-tune --pg-config=/usr/pgsql-15/bin/pg_config  #这里一直y即可,可以按需调整
systemctl restart postgresql-15

(3)登陆测试

psql -U postgres -h localhost
postgres=# CREATE EXTENSION timescaledb;

6、安装备用软件以及中文

dnf install -y lrzsz bash-completion vim wget net-tools telnet langpacks-zh_CN.noarch
dnf reinstall glibc-common

7、配置postgresql

#这里需要先处理权限问题,不然导入不了
chmod u+w /etc/sudoers
vi /etc/sudoers
#这里要找到root ALL=(ALL),在下面添加
zabbix  ALL=(ALL)
#保存,撤销sudoers文件写权限
chmod u-w /etc/sudoers
#创建zabbix用户
su - postgres
createuser --pwprompt zabbix  #这一步有创建zabbix用户的密码的过程,记住这个密码,这个很重要
#创建zabbix数据库
createdb -O zabbix -E Unicode -T template0 zabbix
#导入数据库结构
su root
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
#开启timescaledb插件
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
#编辑配置文件
vi /etc/zabbix/zabbix_server.conf
DBPassword=password
DBPort=5432
DBHost=127.0.0.1

8、修改php参数

vi /etc/php-fpm.d/zabbix.conf
#修改时区和ACL
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai

9、配置前端

(1)修改nginx配置

vi /etc/nginx/conf.d/zabbix.conf
#取消注释
server {
        listen          80;
        server_name     xxx.xxx.xxx.xxx;

(2)启动zabbix并设置开机自启动

systemctl enable zabbix-server nginx php-fpm 
systemctl start  zabbix-server nginx php-fpm

(3)进入网址ui前端(http://ip:80)

可以选择chiese(zh_CN),上面已经安装了

这里的password是上面zabbix用户的密码

10、登陆zabbix

默认账号Admin/zabbix

11、解决图中的中文乱码

取任意字体文件如 simhei.ttf拷贝至/usr/share/zabbix/assets/fonts

修改配置文件,然后刷新界面即可

vi /usr/share/zabbix/include/defines.inc.php
define('ZBX_FONTPATH',				realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
define('ZBX_GRAPH_FONT_NAME',     'simhei');
#define('ZBX_GRAPH_FONT_NAME',		'graphfont'); // font file name
define('ZBX_GRAPH_LEGEND_HEIGHT',	120); // when graph height is less then this value, some legend will not show up

三、安装部署zabbix6.4客户端

这里上面已经安装了zabbix-agent,所以直接修改配置文件

vi /etc/zabbix/zabbix_agentd.conf
#主要修改以下内容,剩余的内容按需调整
Server=xxx.xxx.xxx.xxx         //这里修改为zabbix服务器ip地址
ListenPort=10050
# Mandatory: yes, if StartAgents is not explicitly set to 0
### Option: StartAgents 被动模式为3,主动模式请启用并设置为0,并设置服务器ip
# StartAgents=3
#ServerActive=xxx.xxx.xxx.xxx   //这里是采用主动模式时的zabbix服务器ip地址
Hostname=Zabbix server     //这里设置客户端主机名,注意这里的名称和在zabbix添加客户机时所填的主机名要一致

systemctl enable zabbix-agent 
systemctl start  zabbix-agent

在系统里,zabbix6.4默认添加了对server的监控,当agent开启时,发现这里zbx已经亮灯

至此完成基本的单节点搭建

参考:

blog.51cto.com/u_11442747/…

developer.aliyun.com/article/110…